Quick Sight Asset bundle APIs

Hi, i’m trying to migrate my quicksight clients from a source aws account to a target aws account ( diffrent account and diffrent region), i found out that there are AssetBbundleAPI for that. So i’m using them in order to migrate client by client. However, i have a some questions in order to achieve my end goal.

For a precise context :

  • i’m exporting my assets 1 by 1 including all dependencies and including tags, permissions…
  • I’m not an end user here, i’m offering Quicksight as a BI solution to my clients. They’re the endusers using Quicksight.

My questions are :

  1. Assets that have a file based dataset used, cannot be exported due to API limitation, is there any work around ? how can we export such an asset ? what is the strategy if we want to export those assets ? ( please keep in mind that i don’t have access to the files )

  2. in case we cannot migrate datasets of type File, is it possible to migrate their analysis, dashboards related ?

  3. In case where we export a dataSet that is shared to 2 authors ( 1 who’s an owner and the other who’s a user) , we end up with diffrent actions regarding the dataset permissions. In this case we cannot share for two diffrent users diffrent dataset permission actions due to the API limitation due to the same asset ID needed for the override Permissions api. [AssetBundleImportJobDataSetOverridePermissions can’t contain duplicate DataSetId], is there any workaround for this specific limit ?

  4. Is there an impact if we launch simultaneously two import of two dashboards that share the same dataset, analysis ?

Thank you so much

Hi @ilyasse,

  1. As you mentioned, Not being able to use filed-based datasets is a current Quick limitation. Because of that, I would say to either convert the dataset into an S3 dataset/Redshift datasource for example, or upload that file-based dataset to the target account.

  2. You should be able to migrate either. However, the problem I believe you will encounter is that you will not be able to access or it will not work due to the file-based dataset not being in the target account.

  3. You might be able to workaround this by importing one permission set with owner’s full permissions. Then, utilize the UpdateDataSetPermissions API to add the other user’s permissions (shown below):

aws quicksight update-data-set-permissions \
    --aws-account-id TARGET_ACCOUNT \
    --data-set-id your-dataset-id \
    --grant-permissions Principal=arn:aws:quicksight:...:user/default/second-user,Actions=quicksight:DescribeDataSet,quicksight:ListIngestions,...
  1. I am not sure if any conflicts would arise from this scenario, so I would definitely try this and if you do run into anything, feel free to let us know what you encounter. My guess is that, as long as you ensure that all the datasets/data sources are imported to target account, the importing of dashboards/analyses should execute smoothly.

We have an open source project to move QuickSight assets between different AWS accounts, check it here:

https://aws-quicksight.github.io/docs/guides/home/

We ran (mostly) into the same problem you are describing and decided to build something for our needs.

Hope you discover some parts useful :slight_smile:

Hello @WLS-Luis ,

Thank you for your response,

Is there a way to update a datasource from an uploaded File to an S3 bucket ? is there an API for that ? or i believe i must have the File right ? i cannot like update the current datasource/dataset to point to an S3 right ?

For your other answers, it goes well with my expectations,

Thank you

hello @jaimentu,

Thank you so much for your response ^^

I’ll have a look at your project, as first look, it really looks interesting ^^

Thanks !

Hi @ilyasse,

I don’t think you can update a file-based data source to point to S3, but you can definitely create a new S3 data source that points to your respective file or data. You can do so either through the Quick UI or by using the CreateDataSource API, which you may find helpful for your use case. Let me know if this helps!

Thank you!

Hi @ilyasse,

Just checking back in since this thread hasn’t received a response in a while. Was my most recent reply helpful to you and/or were you able to find a solution yourself in the meantime? Please help the community by marking this answer as “Solution” or following up in general within the next 3 business days!

Thank you!

Hi @ilyasse,

Since I haven’t received any further updates from you, I’ll treat this inquiry as complete for now. If you have any additional questions, feel free to create a new post in the community and link this discussion for context.

Thank you!