Amazon IVS 聊天示例使用 AWS CLI - AWS Command Line Interface

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

Amazon IVS 聊天示例使用 AWS CLI

下列程式碼範例說明如何透過 AWS Command Line Interface 搭配 Amazon IVS Chat 使用來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境和跨服務範例中查看內容中的動作。

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

每個範例都包含一個連結 GitHub,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例會示範如何使用create-chat-token

AWS CLI

若要建立聊天權杖

下列create-chat-token範例會建立加密的聊天權杖,用來建立與聊天室的個別 WebSocket 連線。該令牌有效期為一分鐘,並且使用令牌建立的連接(會話)在指定的持續時間內有效。

aws ivschat create-chat-token \ --roomIdentifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6", \ --userId" "11231234" \ --capabilities "SEND_MESSAGE", \ --sessionDurationInMinutes" 30

輸出:

{ "token": "ACEGmnoq#1rstu2...BDFH3vxwy!4hlm!#5", "sessionExpirationTime": "2022-03-16T04:44:09+00:00" "state": "CREATING", "tokenExpirationTime": "2022-03-16T03:45:09+00:00" }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的步驟 3:驗證和授權聊天用戶端

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateChatToken中的。

下列程式碼範例會示範如何使用create-logging-configuration

AWS CLI

建立聊天 LoggingConfiguration 資源

下列create-logging-configuration範例會建立可讓用戶端儲存及記錄已傳送訊息的 LoggingConfiguration 資源。

aws ivschat create-logging-configuration \ --destination-configuration s3={bucketName=demo-logging-bucket} \ --name "test-logging-config" \ --tags "key1=value1, key2=value2"

輸出:

{ "arn": "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ", "createTime": "2022-09-14T17:48:00.653000+00:00", "destinationConfiguration": { "s3": { "bucketName": "demo-logging-bucket" } }, "id": "ABcdef34ghIJ", "name": "test-logging-config", "state": "ACTIVE", "tags": { "key1" : "value1", "key2" : "value2" }, "updateTime": "2022-09-14T17:48:01.104000+00:00" }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

下列程式碼範例會示範如何使用create-room

AWS CLI

建立房間

下列create-room範例會建立新房間。

aws ivschat create-room \ --name "test-room-1" \ --logging-configuration-identifiers "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ" \ --maximum-message-length 256 \ --maximum-message-rate-per-second 5

輸出:

{ "arn": "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6", "id": "g1H2I3j4k5L6", "createTime": "2022-03-16T04:44:09+00:00", "loggingConfigurationIdentifiers": ["arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"], "maximumMessageLength": 256, "maximumMessageRatePerSecond": 5, "name": "test-room-1", "tags": {} "updateTime": "2022-03-16T07:22:09+00:00" }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的步驟 2:建立聊天室

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateRoom中的。

下列程式碼範例會示範如何使用delete-logging-configuration

AWS CLI

若要刪除聊天 LoggingConfiguration 資源

下列delete-logging-configuration範例會刪除指定 ARN 的 LoggingConfiguration 資源。

aws ivschat delete-logging-configuration \ --identifier "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

下列程式碼範例會示範如何使用delete-message

AWS CLI

若要刪除指定會議室的訊息

下列delete-message範例會將偶數傳送到指定的聊天室,這會引導用戶端刪除指定的訊息:也就是從檢視中取消轉譯,然後從用戶端的聊天記錄中刪除它。

aws ivschat delete-message \ --roomIdentifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6" \ --id "ABC123def456" \ --reason "Message contains profanity"

輸出:

{ "id": "12345689012" }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteMessage中的。

下列程式碼範例會示範如何使用delete-room

AWS CLI

刪除房間

下列delete-room範例會刪除指定的房間。已連線的用戶端中斷連線 成功後,它返回帶有空響應主體的 HTTP 204。

aws ivschat delete-room \ --identifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6"

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteRoom中的。

下列程式碼範例會示範如何使用disconnect-user

AWS CLI

中斷使用者與會議室的連線

下列disconnect-user範例會中斷指定使用者與指定空間之間的所有連線。成功後,它返回帶有空響應主體的 HTTP 200。

aws ivschat disconnect-user \ --roomIdentifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6" \ --userId "ABC123def456" \ --reason "Violated terms of service"

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DisconnectUser中的。

下列程式碼範例會示範如何使用get-logging-configuration

AWS CLI

若要取得有關資 LoggingConfiguration 源的資訊

下列get-logging-configuration範例會取得指定 ARN 之 LoggingConfiguration 資源的相關資訊。

aws ivschat get-logging-configuration \ --identifier "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"

輸出:

{ "arn": "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ", "createTime": "2022-09-14T17:48:00.653000+00:00", "destinationConfiguration": { "s3": { "bucketName": "demo-logging-bucket" } }, "id": "ABcdef34ghIJ", "name": "test-logging-config", "state": "ACTIVE", "tags": { "key1" : "value1", "key2" : "value2" }, "updateTime": "2022-09-14T17:48:01.104000+00:00" }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

下列程式碼範例會示範如何使用get-room

AWS CLI

要獲得指定的房間

下列get-room範例會取得有關指定房間的資訊。

aws ivschat get-room \ --identifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6"

輸出:

{ "arn": "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6", "createTime": "2022-03-16T04:44:09+00:00", "id": "g1H2I3j4k5L6", "loggingConfigurationIdentifiers": ["arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"], "maximumMessageLength": 256, "maximumMessageRatePerSecond": 5, "name": "test-room-1", "tags": {}, "updateTime": "2022-03-16T07:22:09+00:00" }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetRoom中的。

下列程式碼範例會示範如何使用list-logging-configurations

AWS CLI

取得處理 API 要求所在 AWS 地區之使用者之所有記錄設定的摘要資訊

下列list-logging-configurations範例會列出處理 API 要求之 AWS 區域中使用者所有 LoggingConfiguration 資源的相關資訊。

aws ivschat list-logging-configurations \ --max-results 2 \ --next-token ""

輸出:

{ "nextToken": "set-2", "loggingConfigurations": [ { "arn": "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ", "createTime": "2022-09-14T17:48:00.653000+00:00", "destinationConfiguration": { "s3": { "bucketName": "demo-logging-bucket" } }, "id": "ABcdef34ghIJ", "name": "test-logging-config", "state": "ACTIVE", "tags": { "key1" : "value1", "key2" : "value2" }, "updateTime": "2022-09-14T17:48:01.104000+00:00" } ... ] }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

下列程式碼範例會示範如何使用list-rooms

AWS CLI

取得目前地區所有房間的摘要資訊

下列list-rooms範例會取得處理要求之 AWS 區域中所有房間的摘要資訊。結果會以更新時間的遞減順序排序。

aws ivschat list-rooms \ --logging-configuration-identifier "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ" \ --max-results 10 \ --next-token ""

輸出:

{ "nextToken": "page3", "rooms": [ { "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6", "createTime": "2022-03-16T04:44:09+00:00", "id": "g1H2I3j4k5L6", "loggingConfigurationIdentifiers": ["arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"], "name": "test-room-1", "tags": {}, "updateTime": "2022-03-16T07:22:09+00:00" } ] }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListRooms中的。

下列程式碼範例會示範如何使用list-tags-for-resource

AWS CLI

若要列出 AWS 資源的所有標籤 (例如:Room)

下列list-tags-for-resource範例會列出指定資源 ARN (Amazon 資源名稱) 的所有標籤。

aws ivschat list-tags-for-resource \ --resource-arn arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6

輸出:

{ "tags": { "key1": "value1", "key2": "value2" } }

如需詳細資訊,請參閱 Amazon 互動式影片服務 API 參考中的標記

下列程式碼範例會示範如何使用send-event

AWS CLI

將活動傳送到聊天室

下面的send-event示例發送給定的事件到指定的房間。

aws ivschat send-event \ --roomIdentifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6" \ --eventName "SystemMessage" \ --attributes \ "msgType"="user-notification", \ "msgText"="This chat room will close in 15 minutes."

輸出:

{ "id": "12345689012" }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考SendEvent中的。

下列程式碼範例會示範如何使用tag-resource

AWS CLI

若要新增或更新 AWS 資源的標籤 (例如:Room)

下列tag-resource範例會新增或更新指定資源 ARN (Amazon 資源名稱) 的標籤。成功後,它返回帶有空響應主體的 HTTP 200。

aws ivschat tag-resource \ --resource-arn arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6 \ --tags "tagkey1=tagkeyvalue1, tagkey2=tagkeyvalue2"

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon 互動式影片服務 API 參考中的標記

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考TagResource中的。

下列程式碼範例會示範如何使用untag-resource

AWS CLI

若要移除 AWS 資源的標籤 (例如:Room)

下列untag-resource範例會移除指定資源 ARN (Amazon 資源名稱) 的指定標籤。成功後,它返回帶有空響應主體的 HTTP 200。

aws ivschat untag-resource \ --resource-arn arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6 \ --tag-keys "tagkey1, tagkey2"

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon 互動式影片服務 API 參考中的標記

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UntagResource中的。

下列程式碼範例會示範如何使用update-logging-configuration

AWS CLI

更新會議室的記錄設定

下列update-logging-configuration範例會使用指定的 LoggingConfiguration 資料來更新資源。

aws ivschat update-logging-configuration \ --destination-configuration s3={bucketName=demo-logging-bucket} \ --identifier "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ" \ --name "test-logging-config"

輸出:

{ "arn": "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ", "createTime": "2022-09-14T17:48:00.653000+00:00", "destinationConfiguration": { "s3": { "bucketName": "demo-logging-bucket" } }, "id": "ABcdef34ghIJ", "name": "test-logging-config", "state": "ACTIVE", "tags": { "key1" : "value1", "key2" : "value2" }, "updateTime": "2022-09-14T17:48:01.104000+00:00" }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

下列程式碼範例會示範如何使用update-room

AWS CLI

更新聊天室的設定

下列update-room範例會使用指定的資料來更新指定房間的組態。

aws ivschat update-room \ --identifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6" \ --logging-configuration-identifiers "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ" \ --name "chat-room-a" \ --maximum-message-length 256 \ --maximum-message-rate-per-second 5

輸出:

{ "arn": "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6", "createTime": "2022-03-16T04:44:09+00:00", "id": "g1H2I3j4k5L6", "loggingConfigurationIdentifiers": ["arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"], "maximumMessageLength": 256, "maximumMessageRatePerSecond": 5, "name": "chat-room-a", "tags": {}, "updateTime": "2022-03-16T07:22:09+00:00" }

如需詳細資訊,請參閱 Amazon 互動式視訊服務使用者指南中的 Amazon IVS 聊天入門

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateRoom中的。