使用 Amazon 处理 QuickSight Q 主题 QuickSight CLI - Amazon QuickSight

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon 处理 QuickSight Q 主题 QuickSight CLI

 适用于:企业版 
   目标受众:Amazon QuickSight 开发者 

使用本节学习如何使用 Amazon QuickSight 命令行界面 (CLI) 处理 QuickSight Q 主题。

先决条件

在开始之前,请确保您有一个 AWS Identity and Access Management (IAM) 角色,该角色授予CLI用户调用 QuickSight API操作的访问权限。下表显示必须向IAM策略添加哪些权限才能使用特定API操作。要使用所有 Q 主题API操作,请添加表中列出的所有权限。

API操作 IAM政策

CreateTopic

quicksight:CreateTopic

quicksight:PassDataSet

ListTopics

quicksight:ListTopics

DescribeTopic

quicksight:DescribeTopic

DescribeTopicPermissions

quicksight:DescribeTopicPermissions

DescribeTopicRefresh

quicksight:DescribeTopicRefresh

DeleteTopic

quicksight:DeleteTopic

UpdateTopic

quicksight:UpdateTopic

quicksight:PassDataSet

UpdateTopicPermissions

quicksight:UpdateTopicPermissions

CreateTopicRefreshSchedule

quicksight:CreateTopicRefreshSchedule

ListTopicRefreshSchedules

quicksight:ListTopicRefreshSchedules

DescribeTopicRefreshSchedule

quicksight:DescribeTopicRefreshSchedule

UpdateTopicRefreshSchedule

quicksight:UpdateTopicRefreshSchedule

DeleteTopicRefreshSchedule

quicksight:DeleteTopicRefreshSchedule

BatchCreateTopicReviewedAnswer

quicksight:BatchCreateTopicReviewedAnswer

BatchDeleteTopicReviewedAnswer

quicksight:BatchDeleteTopicReviewedAnswer

ListTopicReviewedAnswers

quicksight:ListTopicReviewedAnswers

以下示例显示了一个允许用户使用该ListTopicsAPI操作的IAM策略。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "quicksight:ListTopics" ], "Resource": "*" } ] }

使用 QuickSight Q 主题处理 QuickSight CLI

以下示例会创建一个新的 Q 主题。

aws quicksight create-topic --aws-account-id AWSACCOUNTID --topic-id TOPICID --topic TOPIC

您也可以使用带有以下命令的CLI骨架文件来创建新的 Q 主题。有关CLI骨架文件的更多信息,请参阅《Amazon QuickSight 开发者指南》中的使用CLI骨架文件

aws quicksight create-topic --cli-input-json file://createtopic.json

创建新的 Q 主题时,数据集刷新配置不会复制到该主题中。要为新主题设置主题刷新时间表,您可以拨打create-topic-refresh-scheduleAPI电话。有关使用配置主题刷新计划的更多信息CLI,请参阅使用配置 Q 主题刷新计划 QuickSight CLI

创建第一个 Q 主题后,您可以更新、删除、列出或请求 Q 主题的摘要。

以下示例将更新 Q 主题。

aws quicksight update-topic --aws-account-id AWSACCOUNTID --topic-id TOPICID --topic TOPIC

您也可以使用带有以下命令的CLI骨架文件来更新 Q 主题。有关CLI骨架文件的更多信息,请参阅《Amazon QuickSight 开发者指南》中的使用CLI骨架文件

aws quicksight update-topic --cli-input-json file://updatetopic.json

以下示例提供了 QuickSight 账户中所有 Q 主题的列表。

aws quicksight list-topics --aws-account-id AWSACCOUNTID

以下示例删除了 Q 主题。

aws quicksight delete-topic --aws-account-id AWSACCOUNTID --topic-id TOPICID

以下示例提供了有关如何配置 Q 主题的信息。

aws quicksight describe-topic --aws-account-id AWSACCOUNTID --topic-id TOPICID

以下命令更新了 Q 主题的权限。

aws quicksight update-topic-permissions --aws-account-id AWSACCOUNTID --topic-id TOPICID --grant-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:DescribeTopic --revoke-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:DescribeTopic

使用grant-permissions参数向 QuickSight 账户用户授予读取和作者权限。要向账户用户授予读取权限,请输入以下值:"quicksight:DescribeTopic"。要向账户用户授予权限,请输入以下值:

  • "quicksight:DescribeTopic"

  • "quicksight:DescribeTopicRefresh"

  • "quicksight:ListTopicRefreshSchedules"

  • "quicksight:DescribeTopicRefreshSchedule"

  • "quicksight:DeleteTopic"

  • "quicksight:UpdateTopic"

  • "quicksight:CreateTopicRefreshSchedule"

  • "quicksight:DeleteTopicRefreshSchedule"

  • "quicksight:UpdateTopicRefreshSchedule"

  • "quicksight:DescribeTopicPermissions"

  • "quicksight:UpdateTopicPermissions"

RevokePermissions 参数撤销授予账户用户的所有权限。

以下命令描述了 Q 主题中的所有权限。

aws quicksight describe-topic-permissions --aws-account-id AWSACCOUNTID --topic-id TOPICID

使用配置 Q 主题刷新计划 QuickSight CLI

以下命令创建了 Q 主题的刷新计划。

aws quicksight create-topic-refresh-schedule --aws-account-id AWSACCOUNTID --topic-id TOPICID --dataset-arn DATASETARN --refresh-schedule REFRESHSCHEDULE

为 Q 主题创建刷新计划后,您可以更新、删除、列出或请求该主题的刷新计划摘要。

以下命令更新了 Q 主题的刷新计划。

aws quicksight update-topic-refresh-schedule --aws-account-id AWSACCOUNTID --topic-id TOPICID --dataset-id DATASETID --refresh-schedule REFRESHSCHEDULE

以下示例提供了配置到 Q 主题的所有刷新计划的列表。

aws quicksight list-topic-refresh-schedules --aws-account-id AWSACCOUNTID --topic-id TOPICID

以下示例删除了主题刷新计划。

aws quicksight delete-topic-refresh-schedule --aws-account-id AWSACCOUNTID --topic-id TOPICID --dataset-id DATASETID

以下示例提供了有关如何配置主题刷新计划的信息。

aws quicksight describe-topic-refresh-schedule --aws-account-id AWSACCOUNTID --topic-id TOPICID --dataset-id DATASETID

在内部和之间复制和迁移 QuickSight Q 主题 AWS 账户

您可以使用 QuickSight 命令行界面 (CLI) 将 QuickSight Q 主题从一个账户迁移到另一个账户。您可以使用重复重复使用同一个主题,而不必在多个仪表板、命名空间或账户中 QuickSight CLI手动复制同一主题。此功能为 QuickSight 作者节省了时间,并为仪表板读者提供了跨多个仪表板的标准化主题体验。

要使用迁移 Q 主题 QuickSight CLI,请按以下步骤操作

将 Q 主题迁移到其他账户
  1. 首先,确定要迁移的主题。您可以使用list-topicsAPI命令查看 QuickSight 账户中每个 Q 主题的列表。

    aws quicksight list-topics --aws-account-id AWSACCOUNTID
  2. 获得 Q 主题列表后,找到要迁移的主题,然后describe-topic致电以获取该主题的配置JSON结构。

    aws quicksight describe-topic --aws-account-id AWSACCOUNTID --topic-id TOPICID

    以下是describe-topicAPI响应的示例。

    { "Status": 200, "TopicId": "TopicExample", "Arn": "string", "Topic": [ { "Name": "{}", "DataSets": [ { "DataSetArn": "{}", "DataSetName": "{}", "DataSetDescription": "{}", "DataAggregation": "{}", "Filters": [], "Columns": [], "CalculatedFields": [], "NamedEntities": [] } ] } ], "RequestId": "requestId" }
  3. 使用JSON响应创建框架文件,您可以将其输入到其他 QuickSight 账户的新create-topic呼叫中。在使用骨架文件进行API调用之前,请务必更改骨架文件中的 AWS 账户 ID 和数据集 ID,使其与要向其添加新 Q 主题的 AWS 账户 ID 和数据集 ID 相匹配。有关CLI骨架文件的更多信息,请参阅《Amazon QuickSight 开发者指南》中的使用CLI骨架文件

    aws quicksight create-topic --aws-account-id AWSACCOUNTID \ --cli-input-json file://./create-topic-cli-input.json

create-topic拨打电话后 QuickSight API,新话题会出现在您的账户中。要确认新主题是否存在,请list-topics致电 QuickSight API。如果复制的源主题包含已验证答案,则答案不会迁移到新主题。要查看针对原始主题配置的所有经过验证的答案的列表,请使用describe-topicAPI呼叫。