

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon Quick Sight APIs 處理 Quick Sight 主題
<a name="topics-cli"></a>


|  | 
| --- |
|  適用於：企業版  | 


|  | 
| --- |
|    目標對象：Amazon Quick 開發人員  | 

使用本節了解如何使用 Amazon Quick Sight 命令列界面 (CLI) 來使用 Quick Sight 主題。

**先決條件**

開始之前，請確定您具有授予 CLI 使用者呼叫 Quick Sight API 操作存取權的 AWS Identity and Access Management (IAM) 角色。下表顯示了必須將哪些許可新增至 IAM 政策才能使用特定 API 操作。若要使用所有主題 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`  | 

下面的範例顯示允許使用者使用 `ListTopics` 操作的 IAM 政策。

------
#### [ JSON ]

****  

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

------

設定使用 Quick Sight APIs 建立 Quick Sight 主題的許可後，請使用下列主題來建立和使用 Quick Sight 主題 APIs。

**Topics**
+ [使用 Quick Sight APIs 處理 Quick Sight 主題](topic-cli-examples.md)
+ [使用 Quick Sight CLI 設定 Quick Sight 主題重新整理排程](topic-refresh-apis.md)
+ [在 和 之間複製和遷移 Quick Sight 主題 AWS 帳戶](topic-cli-walkthroughs.md)
+ [使用 Quick Sight APIs 在 Quick Sight 主題中建立和修改已檢閱的答案](topic-reviewed-answer-apis.md)

# 使用 Quick Sight APIs 處理 Quick Sight 主題
<a name="topic-cli-examples"></a>

下列範例會建立新的主題。

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

您也可以使用 CLI 骨架檔案搭配下列命令來建立新的主題。如需 CLI 骨架檔案的詳細資訊，請參閱《*Amazon Quick Sight 開發人員指南*》中的[使用 CLI 骨架檔案](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html)。

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

當您建立新主題時，資料集重新整理組態不會複製到主題。若要為新主題設定主題重新整理排程，您可以進行 `create-topic-refresh-schedule` API 呼叫。如需使用 CLI 設定主題重新整理排程的詳細資訊，請參閱 [使用 Quick Sight CLI 設定 Quick Sight 主題重新整理排程](topic-refresh-apis.md)。

建立第一個主題之後，您可以更新、刪除、列出或請求主題摘要。

下列範例會更新主題。

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

您也可以使用 CLI 骨架檔案搭配下列命令來更新主題。如需 CLI 骨架檔案的詳細資訊，請參閱《*Amazon Quick Sight 開發人員指南*》中的[使用 CLI 骨架檔案](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html)。

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

下列範例提供快速帳戶中所有主題的清單。

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

下列範例會刪除主題。

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

下列範例提供如何設定主題的資訊。

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

下列命令會更新主題的許可。

```
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:DescribeTopic"`。若要向帳戶使用者授予許可，請輸入下列值：
+ `"quicksight:DescribeTopic"`
+ `"quicksight:DescribeTopicRefresh"`
+ `"quicksight:ListTopicRefreshSchedules"`
+ `"quicksight:DescribeTopicRefreshSchedule"`
+ `"quicksight:DeleteTopic"`
+ `"quicksight:UpdateTopic"`
+ `"quicksight:CreateTopicRefreshSchedule"`
+ `"quicksight:DeleteTopicRefreshSchedule"`
+ `"quicksight:UpdateTopicRefreshSchedule"`
+ `"quicksight:DescribeTopicPermissions"`
+ `"quicksight:UpdateTopicPermissions"`

`RevokePermissions` 參數會撤銷授予帳戶使用者的所有許可。

下列命令說明主題的所有許可。

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

建立 Quick Sight 主題之後，您可以使用 Amazon Quick Sight APIs 來[設定主題重新整理排程](https://docs.aws.amazon.com/quicksuite/latest/userguide/topic-refresh-apis)、在[帳戶內或帳戶之間遷移 Quick Sight 主題](https://docs.aws.amazon.com/quicksuite/latest/userguide/topic-cli-walkthroughs)，以及[建立檢閱過的答案](https://docs.aws.amazon.com/quicksuite/latest/userguide/topic-reviewed-answer-apis)。

# 使用 Quick Sight CLI 設定 Quick Sight 主題重新整理排程
<a name="topic-refresh-apis"></a>

下列命令會建立主題的重新整理排程。

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

建立主題的重新整理排程後，您可以更新、刪除、列出或請求主題的重新整理排程摘要。

下列命令會更新主題的重新整理排程。

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

下列範例提供設定為主題的所有重新整理排程清單。

```
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
```

# 在 和 之間複製和遷移 Quick Sight 主題 AWS 帳戶
<a name="topic-cli-walkthroughs"></a>

您可以使用 Quick Sight 命令列界面 (CLI)，將 Quick Sight 主題從一個帳戶遷移到另一個帳戶。您可以使用 Quick Sight CLI 重複重複使用相同的主題，而不是在多個儀表板、命名空間或帳戶中手動複寫相同的主題。此功能可節省 Quick Sight 作者的時間，並為跨多個儀表板的儀表板讀者建立標準化主題體驗。

若要使用 Quick Sight CLI 遷移主題，請使用下列程序

**將主題遷移至另一個帳戶**

1. 首先，找到要遷移的主題。您可以使用 `list-topics` API 命令檢視快速帳戶中每個主題的清單。

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

1. 在您擁有主題清單後，找到您要遷移的主題，並`describe-topic`呼叫 以接收主題組態的 JSON 結構。

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

   以下是 `describe-topic` API 回應的範例。

   ```
   {
       "Status": 200,
       "TopicId": "TopicExample", 
       "Arn": "string",
       "Topic": [
           {
               "Name": "{}",
               "DataSets": [
               {
               "DataSetArn": "{}",
               "DataSetName": "{}",
               "DataSetDescription": "{}",
               "DataAggregation": "{}",
               "Filters": [],
               "Columns": [],
               "CalculatedFields": [],
               "NamedEntities": []
               }
               ]
           }
       ],
       "RequestId": "requestId"
       }
   ```

1. 使用 JSON 回應來建立骨架檔案，您可以在其他 Quick 帳戶中輸入新`create-topic`呼叫。使用骨架檔案進行 API 呼叫之前，請務必變更骨架檔案中的 AWS 帳戶 ID 和資料集 ID，以符合您要新增新主題的 AWS 帳戶 ID 和資料集 ID。如需 CLI 骨架檔案的詳細資訊，請參閱《*Amazon Quick Sight 開發人員指南*》中的[使用 CLI 骨架檔案](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html)。

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

`create-topic` 呼叫 Quick Sight API 之後，新主題會出現在您的帳戶中。若要確認新主題是否存在，`list-topics`請呼叫 Quick Sight API。如果複製的來源主題包含已驗證的答案，則這些答案不會遷移到新主題。若要查看原始主題所有已驗證的答案的清單，請使用 `describe-topic` API 呼叫。

# 使用 Quick Sight APIs 在 Quick Sight 主題中建立和修改已檢閱的答案
<a name="topic-reviewed-answer-apis"></a>

建立 Quick Sight 主題之後，您可以使用 Quick Sight APIs 來建立、列出、更新和刪除主題的重構答案。

以下命令批次會為 Quick Sight 主題建立最多 100 個已檢閱的答案。

```
aws quicksight batch-create-topic-reviewed-answer \
--topic-id TOPICID \
--aws-account-id AWSACCOUNTID \                 
—answers ANSWERS
```

您也可以使用下列命令，從 CLI 骨架檔案批次建立已檢閱答案。如需 CLI 骨架檔案的詳細資訊，請參閱《*Amazon Quick Sight 開發人員指南*》中的[使用 CLI 骨架檔案](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html)。

```
aws quicksight batch-create-topic-reviewed-answer \ 
--cli-input-json file://createTopicReviewedAnswer.json
```

以下命令列出 Quick Sight 主題中所有已檢閱的答案。

```
aws quicksight list-topic-reviewed-answers \
--aws-account-id AWSACCOUNTID \
--topic-id TOPICID \
```

以下範例可為主題批次刪除多達 100 個已檢閱答案。

```
aws quicksight batch-delete-topic-reviewed-answer \
--topic-id TOPICID \
--aws-account-id AWSACCOUNTID \                 
—answer-ids: ["AnswerId1, AnswerId2…"]
```

您也可以使用下列命令，從 CLI 骨架檔案批次建立主題的已檢閱答案。如需 CLI 骨架檔案的詳細資訊，請參閱《*Amazon Quick Sight 開發人員指南*》中的[使用 CLI 骨架檔案](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html)。

```
aws quicksight batch-delete-topic-reviewed-answer \
--cli-input-json file://deleteTopicReviewedAnswer.json
```

若要更新已檢閱答案，請使用 `batch-delete-topic-reviewed-answer` API 從主題中刪除現有的答案。然後，使用 `batch-create-topic-reviewed-answer` API 將更新的已檢閱答案新增至主題。