I am trying to programmatically rename dashboard. I first tested this using the awscli utility which worked fine:
- aws quicksight describe-dashboard-definition --aws-account-id … --dashboard-id …
- take the output json, extract the “Definition” object as-is, and feed it back as follows:
- aws quicksight update-dashboard --aws-account-id … --dashboard-id … --name=“new name” --definition=“$(cat definition.json)”
- aws quicksight update-dashboad-version …
This works as expected. When I try to replicate the same procedure using boto3, (extract the definition, pass it back to update_dashboard(AwsAccountId=…, DashboardId=…, Name=…, Definition=result[‘Definition’]),
The dashboard fails to create (CREATION_FAILED status). When I check the errors via aws quicksight describe-dashboard
I see the following:
"Errors": [
{
"Type": "INVALID_CALCULATED_COLUMN_EXPRESSION",
"Message": "Calculated field % Had HG Visits or Phone Notes w/in 10 Days Post-Escalation failed with error code CONTEXTUAL_UNKNOWN_SYMBOL during validation",
"ViolatedEntities": [
{
"Path": "calculated-field/% Had HG Visits or Phone Notes w/in 10 Days Post-Escalation"
}
]
},
The definition.json and the json I am passing via boto3 match exactly. What could be causing this inconsistency in behavior?