使用 Amazon IVS 聊天示例 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon IVS 聊天示例 Amazon CLI

以下代码示例向您展示了如何使用 with Amazon IVS Chat 来执行操作和实现常见场景。 Amazon Command Line Interface

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。

场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。

每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 create-chat-token

Amazon 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" }

有关更多信息,请参阅《亚马逊互动视频服务用户指南》中的步骤 3:对聊天客户端进行身份验证和授权

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateChatToken中的。

以下代码示例演示如何使用 create-logging-configuration

Amazon 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 IVS 聊天入门

以下代码示例演示如何使用 create-room

Amazon 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" }

有关更多信息,请参阅《亚马逊互动视频服务用户指南》中的步骤 2:创建聊天室

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateRoom中的。

以下代码示例演示如何使用 delete-logging-configuration

Amazon CLI

删除聊天 LoggingConfiguration 资源

以下delete-logging-configuration示例删除指定 ARN 的 LoggingConfiguration 资源。

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

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊互动视频服务用户指南》中的 Amazon IVS 聊天入门

以下代码示例演示如何使用 delete-message

Amazon 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 IVS 聊天入门

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteMessage中的。

以下代码示例演示如何使用 delete-room

Amazon CLI

删除房间

以下delete-room示例删除了指定的房间。已连接的客户端已断开连接。成功后,它将返回带有空响应正文的 HTTP 204。

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

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊互动视频服务用户指南》中的 Amazon IVS 聊天入门

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteRoom中的。

以下代码示例演示如何使用 disconnect-user

Amazon 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 IVS 聊天入门

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DisconnectUser中的。

以下代码示例演示如何使用 get-logging-configuration

Amazon 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 IVS 聊天入门

以下代码示例演示如何使用 get-room

Amazon 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 IVS 聊天入门

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetRoom中的。

以下代码示例演示如何使用 list-logging-configurations

Amazon CLI

获取有关处理 API 请求的 Amazon 区域中用户的所有日志配置的摘要信息

以下list-logging-configurations示例列出了处理 API 请求的 Amazon 区域中该用户的所有 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 IVS 聊天入门

以下代码示例演示如何使用 list-rooms

Amazon CLI

获取当前区域内所有房间的摘要信息

以下list-rooms示例获取有关处理请求的 Amazon 区域中所有房间的摘要信息。结果按照 updateTime 的降序排序。

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 IVS 聊天入门

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListRooms中的。

以下代码示例演示如何使用 list-tags-for-resource

Amazon CLI

列出 Amazon 资源的所有标签(例如:房间)

以下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" } }

有关更多信息,请参阅《亚马逊互动视频服务 API 参考》中的添加标签

以下代码示例演示如何使用 send-event

Amazon 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 IVS 聊天入门

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考SendEvent中的。

以下代码示例演示如何使用 tag-resource

Amazon CLI

为 Amazon 资源添加或更新标签(例如:房间)

以下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"

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊互动视频服务 API 参考》中的添加标签

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagResource中的。

以下代码示例演示如何使用 untag-resource

Amazon CLI

移除 Amazon 资源的标签(例如:房间)

以下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"

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊互动视频服务 API 参考》中的添加标签

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UntagResource中的。

以下代码示例演示如何使用 update-logging-configuration

Amazon 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 IVS 聊天入门

以下代码示例演示如何使用 update-room

Amazon 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 IVS 聊天入门

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateRoom中的。