web-dev-qa-db-ja.com

コード(boto3)だけでQuicksight分析を作成する方法はありますか?

現在Quicksightアカウントに持っているのは、データソース(Redshift)、一部のデータセット(一部のRedshiftビュー)、および分析(データセットを使用するグラフとチャート)です。 AWS Quicksightコンソールでこれらすべてを表示できます。しかし、boto3を使用してデータソースとデータセットを作成すると、コンソールに何も表示されません。ただし、list_data_sources呼び出しとlist_data_sets呼び出しを使用すると表示されます。

この後、手動で作成したコードですべてのグラフを作成する必要があります。現在、コードでこれを行うオプションが見つかりません。既存のQuicksight分析を通じてテンプレートを作成することになっている「create_template」API呼び出しがあります。しかし、それは私が見つけることができない分析のARNを必要とします。

何をすべきかについての提案はありますか?

5
ashirhs

小さな質問は分析のARNに関するもののようです。

分析ARNの形式は次のとおりです。

arn:aws:quicksight:$AWS_REGION:$AWS_ACCOUNT_ID:analysis/$ANALYSIS_ID

どこ

  • $AWS_REGIONは、分析が存在する地域に置き換えられます
  • $AWS_ACCOUNT_IDはAWSアカウントIDに置き換えられます
  • $ANALYSIS_IDは分析IDに置き換えられます

あなたが$ANALYSIS_IDを探しているなら、それはQuickSight URLの分析のためにURLの最後にあるGUIDのように見えるものです

したがって、URLで分析を行っていた場合

https://quicksight.aws.Amazon.com/sn/analyses/018ef6393-2c71-4842-9798-1aa2f0902804

分析IDは018ef6393-2c71-4842-9798-1aa2f0902804になります(これは、この例で挿入した偽のIDです)。

より大きな質問は、create_template AP​​Iを使用して分析を複製できるかどうかです。現時点での回答(19/16/19)は、残念ながらノーです。

create_dashboard AP​​Iを使用して、create_templateで作成されたテンプレートからDashboardを公開できますが、テンプレートから分析を作成することはできません。

別の分析ではなくダッシュボード(基本的には分析の公開バージョン)を実際に作成してもかまわないので、明確にするためにこのビットに回答します。

1
mjgpy3

注:これは、データセット/ソースがコンソールに表示されない理由にのみ対応しています。他の質問については mjgpy が役に立ったと思います。

まとめ

この投稿の下部にある権限をデータセットとデータソースに追加して、コンソールに表示できるようにします。必ず主要なarnに詳細を入力してください。

詳細

APIを介して作成されたときにデータセットとデータソースがコンソールに表示されるようにするには、適切な権限がそれらに追加されていることを確認する必要があります。正しい権限を追加しないと、CLIがそれらを一覧表示するのに対し、コンソールはそうではありません。

コンソールを介してデータセット/ソースを作成した場合は、CLI(aws quicksight describe-data-set-permissionsおよびaws quicksight describe-data-source-permissions)アカウントがやり取りできるように、AWSが付与するアクセス許可を表示します。

私はこれをテストしましたが、これらはAWSが2020年3月25日に割り当てたものです。

データセットの権限:

"permissions": [
  {
    "Principal": "arn:aws:quicksight:<region>:<aws_account_id>:user/default/{IAM user name}",
    "Actions": [
      "quicksight:UpdateDataSetPermissions",
      "quicksight:DescribeDataSet",
      "quicksight:DescribeDataSetPermissions",
      "quicksight:PassDataSet",
      "quicksight:DescribeIngestion",
      "quicksight:ListIngestions",
      "quicksight:UpdateDataSet",
      "quicksight:DeleteDataSet",
      "quicksight:CreateIngestion",
      "quicksight:CancelIngestion"
    ]
  }
]

データソースの権限:

"permissions": [
  {
    "Principal": "arn:aws:quicksight:<region>:<aws_account_id>:user/default/{IAM user name}",
    "Actions": [
      "quicksight:UpdateDataSourcePermissions",
      "quicksight:DescribeDataSource",
      "quicksight:DescribeDataSourcePermissions",
      "quicksight:PassDataSource",
      "quicksight:UpdateDataSource",
      "quicksight:DeleteDataSource"
    ]
  }
]
1
M4C4R

関連付けられた分析IDを見つける方法はいくつかあります。次のいずれかを使用します。

  1. ダッシュボードのURLにはダッシュボードIDが含まれています。このIDを使用してAPIコールdescribe-dashboardを実行すると、ソースエンティティに分析ARNが表示されます。

  2. ダッシュボードの「名前を付けて保存」オプションをクリックすると、関連する分析に移動します。 [ダッシュボードがテンプレートから作成されている場合、このオプションが表示されない場合があります]

  3. list_dashboards API呼び出しを使用してダッシュボードIDを見つけることもできます。すべてのダッシュボードIDと名前を印刷します。 IDは特定のダッシュボード名と一致させることができます。ダッシュボードIDは一意ですが、ダッシュボード名は一意ではないため、リスト全体を確認してください。同じ名前のダッシュボードを複数持つことができます。

0
Vivek