QuickSightのダッシュボード復元について質問があります。
ダッシュボードの元となる分析およびデータセットを削除してしまいました。
そこで、元のデータソースと同じカラム構成を持つ新しいデータセットを作成しました。
その後、ダッシュボードを「分析として保存」して新しい分析を作成してみましたが、データセットが存在しないため、既存のダッシュボードのデータセットを置き換えることができません。
そこでお伺いしたいのですが、新しく作成したデータセットに置き換えることで、現在存在しているダッシュボードを復元することは可能でしょうか。
もし可能であれば、具体的な手順や注意点について教えていただけますと助かります。
お手数をおかけしますが、よろしくお願いいたします。
mririka
2
@syunnosuke.kotera.vk 様
Quick Community にご相談いただき、ありがとうございます!
復旧期間を指定されていない場合、デフォルトの分析の復旧期間は 30 日になっております。
分析の削除から 30 日未満の場合は、以下の手順で分析の復旧が可能です。
- list-analysis を用いて削除された分析の ID を特定
aws quicksight list-analyses \
--aws-account-id AWS_ACCOUNT_ID \
--region AWS_REGION \
--query "AnalysisSummaryList[?Status=='DELETED']" \
--output table
※ AWS_ACCOUNT_ID および AWS_REGION を利用環境に応じて変更してください
複数分析 ID が表示された場合は、名称等から復元対象の分析の ID を特定いただく必要がございます
- restore-analysis を用いて分析を復元
aws quicksight restore-analysis \
--aws-account-id AWS_ACCOUNT_ID \
--analysis-id "ANALYSIS_ID"
※ AWS_ACCOUNT_ID を利用環境に応じて変更し、ANALYSIS_ID は復元対象の分析 ID に変更してください
- 復元された分析において、データセットを新しいものに置換する
Ririka様
ご回答ありがとうございました。
削除から30日以内であればご教授いただいた手順で復旧できると理解いたしました。
ちなみに30日を過ぎてしまった分析については復旧できないですよね?
最初の問い合わせで記載させていただいた、ダッシュボードから復元するなどの方法があればぜひ伺いただきたいです。
どうぞよろしくお願いいたします。
yusukez
4
@syunnosuke.kotera.vk
30日過ぎてしまった場合は、定義ファイルから復元する方法が考えれます。
(※ ただし、CSVやExcel等の手元のファイルをQuickのデータセットとしてインポートしている場合は後述する手順は使えません。)
Asset bundle Export API 経由でダッシュボードや分析、データセットといった関連アセットの定義情報をJSON形式で取得可能です。
参考イメージ ※ .qsファイルとしてDLできるので、.zipに変更して解凍した後の状態
その後、以下のように定義ファイルの修正およびインポートを実行します。
-
上記APIで取得できたanalysis配下のJSONファイルの中身を修正し、”analysisId”については任意の値で新しく作成し、”dataSetArn” の値を、新しく作ったデータセットのARNで置き換えます。
{
"resourceType": "analysis",
"analysisId": "<任意の値で置き換え>",
"name": "Sales Pipeline analysis",
"definition": {
"dataSetIdentifierDeclarations": [
{
"identifier": "Sales Pipeline",
"dataSetArn": "<新しいDataSet ARNで置き換え>"
}
],
"sheets": [
{
"sheetId": "b41632cf-3c11-4f8f-b107-12d6bb93ff92",
"name": "Sheet 1",
"visuals": [ (以下省略)
-
その後、Asset bundle Inport API を利用してインポートします。
※ インポートする際はanalysisフォルダのみ残し、その他のデータは消して再度zip圧縮後、
拡張子を.qsに変更し、任意のS3フォルダに格納して下さい。
aws quicksight start-asset-bundle-import-job \
--aws-account-id AWSACCOUNTID \
--asset-bundle-import-job-id JOBID \
--asset-bundle-import-source '{"S3Uri":"s3://bucket/key/qs-bundle.qs"}' \
--failure-action ROLLBACK
以上、ご確認よろしくお願いいたします。
上記、ご回答として足りていますでしょうか?
もしご回答に満足いただけましたら、Resolvedとしていただけるとありがたいです。