AssetBundle Export and Import: success but where is it?

We use the StartAssetBundleExportJobRequest / startAssetBundleExportJob SDK calls to export a dashboard that exists in one namespace. After the export is finished, we identify the results using the ListAssetBundleExportJobsResponse / getExportJobAssetBundleUrl calls, then use the StartAssetBundleImportJobRequest / startAssetBundleImportJob calls with the appropriate AssetBundleImportJobOverrideParameters to import the dashboard back into a different namespace with a different (but congruent) dataset / datasource.

Unfortunately although the import job reports its result as “DescribeAssetBundleImportJobResponse(JobStatus=SUCCESSFUL”, we cannot find the resulting imported dashboard anywhere. It is not shown in any listing, including the “manage assets” listing in the main admin console.

Does anyone have any experience using these SDK calls? When a dashboard is imported using the AssetBundleImportJob techniques, where can we find it?

Continued researching, ran across another forum post that describes a similar issue (related to export/import of an analysis rather than a dashboard):

I’m not sure I exactly understand what the response is suggesting – it says that the permissions need to be updated, but I can’t even find the new dashboard ARN, so don’t know what permissions to update. I really wish there was a comprehensive document that described the steps needed to perform this stuff.

@kmaloney ,

Only users and groups live within a namespace. This isolation helps an author for example in sharing a dashboard only within their team members .

Based on startAssetBundleImportJob , what were the dashboards that were published again with a new dataset and datasource ? Can you list them ?
Every asset in QuickSight has permissions ( Datasource , Dataset , Analysis , Dashboard ) .
When you say new namespace, you only create users in the namespace. Have you created the users ? Now if these users need access to those dashboards, then it has to be provided ( UpdateDashboardPermissions - Amazon QuickSight )

2 Likes

Thank you so much for your response. To answer one of your questions…

The answer is that no, I cannot list them. The list of dashboards within the account remains unchanged even though the import job completion status shows as “SUCCESSFUL”.

I’m willing to believe that there are probably some permissions issues that I need to address – but I can’t figure out what I’m missing. If I could see the items that are not visible then I suppose I could add permissions to them – but I can’t see them anywhere so I have no idea what items I’m supposed to add permissions to. I would have hoped that the items would be available within the “manage assets” section of the QuickSight management console… but they’re just not there. Nor are they listed when I call “aws quicksight list-dashboards” from the CLI.

Anyway, I’m still plugging at it.

Hi @kmaloney

The dashboards and related assets don’t belong to a namespace, as @Koushik_Muthanna , mentioned. namespaces only contain users and groups.

If the assets have the same name, is it possible that it just overwrote the existing dashboard?

Getting much closer.

It turns out that there are a large number of additional things you apparently need to do to import a dashboard. And so far I’ve only been doing about half of the required steps.

Once again, I have to suggest that if there was an example with all of the required steps laid out, this process would be so much easier. But then what would we do for fun?

Hey Kmaloney,

Did you by chance have any updates on the other steps needed to complete the import process?

Thanks,
Anthony

Hi Anthony!

Upon review with AWS support, it turned out that when I exported the dashboard then imported it back pointing to an alternative data source, I neglected to give the imported dashboard a new dashboard identifier. Rather than creating a second, duplicate dashboard with different parameters, instead it simply replaced the original dashboard, but pointing to a different data source.

That’s why I couldn’t find a “new” dashboard.

According to AWS support, the use-case for export/import is to clone an element from one account to another – at the time the instructions didn’t completely explain additional steps that would be needed to duplicate a dashboard within the original account.

To be clear, these additional steps involved some fairly tricky manipulation of the export file in order to get the import to work without overwriting the original. IMO that process is not for the squeamish.

Hope this helps.

Thanks for getting back!

Currently working through this process in our environment and it is indeed not as straightforward as the export and import commands would make it seem. For example, no mention that you need to do a update permissions command after to actually make the imported asset visible to a user.

I appreciate the details as they definitely help me understand where some of the gaps are in the process for us. Going to begin exploring the override parameters this week and will see how it goes.

Thanks, again!