AWS API CreateAnalysis fails with "requestParameters too large"

Hello QuickSight Community,

We’ve developed a CLI tool using AWS SDK v3 to manage QuickSight analyses and dashboards across accounts. Users can create or update analyses by referencing existing resources in the same or different accounts.

The CLI fetches the analysis definition and calls the CreateAnalysisCommand

However, in some cases, the operation results in INTERNAL_FAILURE state.

{ 
  "Message": "An error occurred while processing the request",
  "Type":"INTERNAL_FAILURE", 
  "ViolatedEntities": null 
}

The actual issue was found in the CloudTrail logs.

"requestParameters": 
  {
    "omitted": true, 
    "originalSize": 104800, 
    "reason":"requestParameters too large"
}

The official documentation for CreateAnalysis (CreateAnalysis - Amazon QuickSight) doesn’t mention any size limits, which is confusing.

In the meantime, users can copy an analysis in the QuickSight UI. It uses a different API call: CreateAnalysisFromAnalysis. This API call is unrelated to the standard CreateAnalysis API reference.

https://api.us-east-1.quicksight.aws.amazon.com/sn/api/analyses/?create-from=analysis&Operation=CreateAnalysisFromAnalysis&mbtc=xxx

We have two questions:

  1. How can the AWS API handle large analysis definitions (>100kb)? Are there any workarounds?
  2. Will the QuickSight UI eventually use the standard API? The current situation with dual API implementations makes working with QuickSight resources a very challenging experience.

We appreciate any insights or guidance.

1 Like

@RomanN I’ve ran into this issue as well. I think they are still in the process of developing the API’s.

In regards to your two questions:

  1. This I think will need to be a feature request / come out with development.
  2. I don’t know if they will change the model they are currently doing.

I will mark this as a feature request.

1 Like

@RomanN Hello! As of first question, actually it looks like Quicksight can handle large analysis definitions but still generate this “magic” error message: “Internal Failure”. Here are examples:

  1. In this request I got Success with 198 611K request:
    Processing 21-0-rls-profit-analytics
    Analysis definition size is 198611 bytes
    Attention, the size of definition is 198611. It exceeds 100kB and the request to create or update analysis will probably fail. I will try to make request anyways. The source definition for id 21-0-rls-profit-analytics, name (21.0 RLS Profit Analytics)

Processing original name: 21.0 RLS Profit Analytics with suffix: dev. New name: 21.0 RLS Profit Analytics dev, newId: 21-0-rls-profit-analytics-dev
Created analysis with id: 21-0-rls-profit-analytics-dev
Checking definition of created or update analysis for errors…
Waiting 5 sec…
New analysis “21-0-rls-profit-analytics-dev” created or update from source “21-0-rls-profit-analytics” without errors…
Success!
2. But in this one I got INTERNAL FAILURE for 469b request and I can’t find the source of the error. This analyses works in UI without mistakes, I can copy (Save As) it and generate Dashboard :
Processing 4766ea5c-9974-4928-9087-4988529ba4d4
Analysis definition size is 37165 bytes
Processing original name: 23.0 Athena Ads Data with suffix: copy1. New name: 23.0 Athena Ads Data copy1, newId: 23-0-athena-ads-data-copy1
Analysis definition size is 469 bytes
Found 1 errors in the source definition for id 23-0-athena-ads-data-copy1, name (23.0 Athena Ads Data copy1)
[
{
“Message”: “An error occurred while processing the request”,
“Type”: “INTERNAL_FAILURE”,
“ViolatedEntities”: null
}
]
Checking definition of created or update analysis for errors…
Waiting 5 sec…
Error: Empty value provided for input HTTP label: AnalysisId.

So, I think these samples show 1) Quicksight. can handle big analyses definition 2) I t needs generate more relevant information about error ((