QuickSight のテンプレート機能つかってみる
こんにちは、 @kz_morita です。
今回は QuickSight でテンプレートを作成する方法について記載します。
QuickSight のテンプレート機能 QuickSight にはテンプレート機能が用意されています。 テンプレート機能を使うと、分析やダッシュボードをコピーすることができます。 これは例えば、ダッシュボードを開発環境と本番環境などに分けてデプロイする際などに活用することができます。
テンプレート昨日は、AWS コンソールの GUI からは作成することができず CLI 操作となります。
テンプレートの作成 まずは、テンプレートを作成するための JSON ファイルを作成します。
以下のようなファイルを作成します。
{ "SourceAnalysis": { "Arn": "arn:aws:quicksight:${REGION}:${AWS_ACCOUNT_ID}:analysis/${TARGET_ANALYSIS_ID}", "DataSetReferences": [ { "DataSetPlaceholder": "DATA_SET_1", "DataSetArn": "arn:aws:quicksight:${REGION}:${AWS_ACCOUNT_ID}:dataset/${DATA_SET_1_ID}" }, { "DataSetPlaceholder": "DATA_SET_2", "DataSetArn": "arn:aws:quicksight:${REGION}:${AWS_ACCOUNT_ID}:dataset/${DATA_SET_2_ID}" } ] } } 中を説明すると、対象の分析とその分析でしようしているデータセットを指定します。
これらのデータは、DataSetReferences は自動生成できるのそのスクリプトも記載します。
$ aws quicksight describe-analysis-definition --aws-account-id ${AWS_ACCOUNT_ID} --analysis-id ${TARGET_ANALYSIS_ID} \ | jq .Definition.DataSetIdentifierDeclarations \ | jq '. | map({ "DataSetPlaceholder": .Identifier, "DataSetArn": .DataSetArn })'` こちらは、aws-cli で describe-analysis-definition を実行すると取得でいる JSON から jq を用いて必要な情報を取得しています。