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

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

使用 Amazon IVS 示例 Amazon CLI

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

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

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

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

主题

操作

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

Amazon CLI

获取有关多个频道的频道配置信息

以下batch-get-channel示例列出了有关指定频道的信息。

aws ivs batch-get-channel \ --arns arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ arn:aws:ivs:us-west-2:123456789012:channel/efghEFGHijkl

输出:

{ "channels": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "authorized": false, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "latencyMode": "LOW", "name": "channel-1", "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel-1.abcdEFGH.m3u8", "preset": "", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "tags": {}, "type": "STANDARD" }, { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/efghEFGHijkl", "authorized": false, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": true, "latencyMode": "LOW", "name": "channel-2", "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel-2.abcdEFGH.m3u8", "preset": "", "playbackRestrictionPolicyArn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ"", "recordingConfigurationArn": "", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "BA1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "tags": {}, "type": "STANDARD" } ] }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

以下代码示例演示如何使用 batch-get-stream-key

Amazon CLI

获取有关多个直播密钥的信息

以下batch-get-stream-key示例获取有关指定流密钥的信息。

aws ivs batch-get-stream-key \ --arns arn:aws:ivs:us-west-2:123456789012:stream-key/skSKABCDefgh \ arn:aws:ivs:us-west-2:123456789012:stream-key/skSKIJKLmnop

输出:

{ "streamKeys": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/skSKABCDefgh", "value": "sk_us-west-2_abcdABCDefgh_567890abcdef", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {} }, { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/skSKIJKLmnop", "value": "sk_us-west-2_abcdABCDefgh_567890ghijkl", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {} } ] }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

以下代码示例演示如何使用 batch-start-viewer-session-revocation

Amazon CLI

撤消多个频道 ARN 和 Viewer-ID 对的观看者会话

以下batch-start-viewer-session-revocation示例同时对多个 Channel-ARN 和 Viewer-ID 对执行会话撤销。请求可能正常完成,但如果调用者无权撤消指定会话,则会在错误字段中返回值。

aws ivs batch-start-viewer-session-revocation \ --viewer-sessions '[{"channelArn":"arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh1","viewerId":"abcdefg1","viewerSessionVersionsLessThanOrEqualTo":1234567890}, \ {"channelArn":"arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh2","viewerId":"abcdefg2","viewerSessionVersionsLessThanOrEqualTo":1234567890}]'

输出:

{ "errors": [ { "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh1", "viewerId": "abcdefg1", "code": "403", "message": "not authorized", }, { "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh2", "viewerId": "abcdefg2", "code": "403", "message": "not authorized", } ] }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的设置私有通道

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

Amazon CLI

示例 1:创建没有录音的频道

以下create-channel示例创建了一个新频道和关联的直播密钥以开始直播。

aws ivs create-channel \ --name "test-channel" \ --no-insecure-ingest

输出:

{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "authorized": false, "name": "test-channel", "latencyMode": "LOW", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "preset": "", "tags": {}, "type": "STANDARD" }, "streamKey": { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/g1H2I3j4k5L6", "value": "sk_us-west-2_abcdABCDefgh_567890abcdef", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

示例 2:使用其 ARN 指定的 RecordingConfiguration 资源创建启用了录制功能的频道

以下create-channel示例创建了一个新频道和关联的直播密钥以开始直播,并为该频道设置了录制。

aws ivs create-channel \ --name test-channel-with-recording \ --insecure-ingest \ --recording-configuration-arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh"

输出:

{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "test-channel-with-recording", "latencyMode": "LOW", "type": "STANDARD", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "BA1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": true, "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "preset": "", "authorized": false, "tags": {}, "type": "STANDARD" }, "streamKey": { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/abcdABCDefgh", "value": "sk_us-west-2_abcdABCDefgh_567890abcdef", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的录制到 Amazon S3

示例 3:使用其 ARN 指定的播放限制策略创建频道

以下create-channel示例创建了一个新频道和关联的直播密钥以开始直播,并为该频道设置了播放限制政策。

aws ivs create-channel \ --name test-channel-with-playback-restriction-policy \ --insecure-ingest \ --playback-restriction-policy-arn "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ"

输出:

{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "test-channel-with-playback-restriction-policy", "latencyMode": "LOW", "type": "STANDARD", "playbackRestrictionPolicyArn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ", "recordingConfigurationArn": "", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2edfGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": true, "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "preset": "", "authorized": false, "tags": {}, "type": "STANDARD" }, "streamKey": { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/abcdABCDefgh", "value": "sk_us-west-2_abcdABCDefgh_567890abcdef", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的不需要的内容和查看器。

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

以下代码示例演示如何使用 create-playback-restriction-policy

Amazon CLI

创建播放限制政策

以下create-playback-restriction-policy示例创建了新的播放限制策略。

aws ivs create-playback-restriction-policy \ --name "test-playback-restriction-policy" \ --enable-strict-origin-enforcement \ --tags "key1=value1, key2=value2" \ --allowed-countries US MX \ --allowed-origins https://www.website1.com https://www.website2.com

输出:

{ "playbackRestrictionPolicy": { "arn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ", "allowedCountries": [ "US", "MX" ], "allowedOrigins": [ "https://www.website1.com", "https://www.website2.com" ], "enableStrictOriginEnforcement": true, "name": "test-playback-restriction-policy", "tags": { "key1": "value1", "key2": "value2" } } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的不需要的内容和查看器。

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

Amazon CLI

创建 RecordingConfiguration 资源

以下create-recording-configuration示例创建了一个 RecordingConfiguration 资源以启用录制到 Amazon S3。

aws ivs create-recording-configuration \ --name "test-recording-config" \ --recording-reconnect-window-seconds 60 \ --tags "key1=value1, key2=value2" \ --rendition-configuration renditionSelection="CUSTOM",renditions="HD" \ --thumbnail-configuration recordingMode="INTERVAL",targetIntervalSeconds=1,storage="LATEST",resolution="LOWEST_RESOLUTION" \ --destination-configuration s3={bucketName=demo-recording-bucket}

输出:

{ "recordingConfiguration": { "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABcdef34ghIJ", "name": "test-recording-config", "destinationConfiguration": { "s3": { "bucketName": "demo-recording-bucket" } }, "state": "CREATING", "tags": { "key1": "value1", "key2": "value2" }, "thumbnailConfiguration": { "recordingMode": "INTERVAL", "targetIntervalSeconds": 1, "resolution": "LOWEST_RESOLUTION", "storage": [ "LATEST" ] }, "recordingReconnectWindowSeconds": 60, "renditionConfiguration": { "renditionSelection": "CUSTOM", "renditions": [ "HD" ] } } }

有关更多信息,请参阅《亚马逊互动视频服务用户指南》中的 “录制到 Amazon S3”。

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

Amazon CLI

创建直播密钥

以下create-stream-key示例为指定的 ARN(Amazon 资源名称)创建流密钥。

aws ivs create-stream-key \ --channel-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh

输出:

{ "streamKey": { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/abcdABCDefgh", "value": "sk_us-west-2_abcdABCDefgh_567890abcdef", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

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

Amazon CLI

删除频道及其关联的直播密钥

以下delete-channel示例删除具有指定 ARN(Amazon 资源名称)的频道。

aws ivs delete-channel \ --arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh

此命令不生成任何输出。

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

以下代码示例演示如何使用 delete-playback-key-pair

Amazon CLI

删除指定的回放 key pair

以下delete-playback-key-pair示例返回指定 key pair 的指纹。

aws ivs delete-playback-key-pair \ --arn arn:aws:ivs:us-west-2:123456789012:playback-key/abcd1234efgh

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的设置私有通道

以下代码示例演示如何使用 delete-playback-restriction-policy

Amazon CLI

删除播放限制政策

以下delete-playback-restriction-policy示例删除了具有指定策略 ARN(Amazon 资源名称)的播放限制政策。

aws ivs delete-playback-restriction-policy \ --arn "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ"

此命令不生成任何输出。

有关更多信息,请参阅《IVS 低延迟用户指南》中的不需要的内容和查看器。

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

Amazon CLI

删除由其 ARN 指定的 RecordingConfiguration 资源

以下delete-recording-configuration示例删除具有指定 ARN 的 RecordingConfiguration 资源。

aws ivs delete-recording-configuration \ --arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABcdef34ghIJ"

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊互动视频服务用户指南》中的 “录制到 Amazon S3”。

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

Amazon CLI

删除直播密钥

以下delete-stream-key示例删除了指定 ARN 的直播密钥(Amazon 资源名称),因此该密钥不能再用于流式传输。

aws ivs delete-stream-key \ --arn arn:aws:ivs:us-west-2:123456789012:stream-key/g1H2I3j4k5L6

此命令不生成任何输出。

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

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

Amazon CLI

获取频道的配置信息

以下get-channel示例获取指定频道 ARN 的频道配置(Amazon 资源名称)。

aws ivs get-channel \ --arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh

输出:

{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "channel-1", "latencyMode": "LOW", "type": "STANDARD", "playbackRestrictionPolicyArn": "", "preset": "", "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

以下代码示例演示如何使用 get-playback-key-pair

Amazon CLI

获取指定的播放 key pair

以下get-playback-key-pair示例返回指定 key pair 的指纹。

aws ivs get-playback-key-pair \ --arn arn:aws:ivs:us-west-2:123456789012:playback-key/abcd1234efgh

输出:

{ "keyPair": { "arn": "arn:aws:ivs:us-west-2:123456789012:playback-key/abcd1234efgh", "name": "my-playback-key", "fingerprint": "0a:1b:2c:ab:cd:ef:34:56:70:b1:b2:71:01:2a:a3:72", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的设置私有通道

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

以下代码示例演示如何使用 get-playback-restriction-policy

Amazon CLI

获取播放限制策略的配置信息

以下get-playback-restriction-policy示例使用指定策略 ARN(Amazon 资源名称)获取播放限制策略配置。

aws ivs get-playback-restriction-policy \ --arn "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ"

输出:

{ "playbackRestrictionPolicy": { "arn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ", "allowedCountries": [ "US", "MX" ], "allowedOrigins": [ "https://www.website1.com", "https://www.website2.com" ], "enableStrictOriginEnforcement": true, "name": "test-playback-restriction-policy", "tags": { "key1": "value1", "key2": "value2" } } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的不需要的内容和查看器。

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

Amazon CLI

获取有关 RecordingConfiguration 资源的信息

以下get-recording-configuration示例获取有关指定 ARN 的 RecordingConfiguration 资源的信息。

aws ivs get-recording-configuration \ --arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABcdef34ghIJ"

输出:

{ "recordingConfiguration": { "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABcdef34ghIJ", "destinationConfiguration": { "s3": { "bucketName": "demo-recording-bucket" } }, "name": "test-recording-config", "recordingReconnectWindowSeconds": 60, "state": "ACTIVE", "tags": { "key1" : "value1", "key2" : "value2" }, "thumbnailConfiguration": { "recordingMode": "INTERVAL", "targetIntervalSeconds": 1, "resolution": "LOWEST_RESOLUTION", "storage": [ "LATEST" ] }, "renditionConfiguration": { "renditionSelection": "CUSTOM", "renditions": [ "HD" ] } } }

有关更多信息,请参阅《亚马逊互动视频服务用户指南》中的 “录制到 Amazon S3”。

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

Amazon CLI

获取有关直播的信息

以下get-stream-key示例获取有关指定流密钥的信息。

aws ivs get-stream-key \ --arn arn:aws:ivs:us-west-2:123456789012:stream-key/skSKABCDefgh --region=us-west-2

输出:

{ "streamKey": { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/skSKABCDefgh", "value": "sk_us-west-2_abcdABCDefgh_567890abcdef", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

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

Amazon CLI

获取指定直播的元数据

以下get-stream-session示例获取指定频道 ARN(Amazon 资源名称)和指定直播的元数据配置;如果未提供 StreamID,则会选择该频道的最新直播。

aws ivs get-stream-session \ --channel-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ --stream-id "mystream"

输出:

{ "streamSession": { "streamId": "mystream1", "startTime": "2023-06-26T19:09:28+00:00", "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "mychannel", "latencyMode": "LOW", "type": "STANDARD", "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABcdef34ghIJ", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "playbackUrl": "url-string", "authorized": false, "insecureIngest": false, "preset": "" }, "ingestConfiguration": { "video": { "avcProfile": "Baseline", "avcLevel": "4.2", "codec": "avc1.42C02A", "encoder": "Lavf58.45.100", "targetBitrate": 8789062, "targetFramerate": 60, "videoHeight": 1080, "videoWidth": 1920 }, "audio": { "codec": "mp4a.40.2", "targetBitrate": 46875, "sampleRate": 8000, "channels": 2 } }, "recordingConfiguration": { "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABcdef34ghIJ", "name": "test-recording-config", "destinationConfiguration": { "s3": { "bucketName": "demo-recording-bucket" } }, "state": "ACTIVE", "tags": { "key1": "value1", "key2": "value2" }, "thumbnailConfiguration": { "recordingMode": "INTERVAL", "targetIntervalSeconds": 1, "resolution": "LOWEST_RESOLUTION", "storage": [ "LATEST" ] }, "recordingReconnectWindowSeconds": 60, "renditionConfiguration": { "renditionSelection": "CUSTOM", "renditions": [ "HD" ] } }, "truncatedEvents": [ { "name": "Recording Start", "type": "IVS Recording State Change", "eventTime": "2023-06-26T19:09:35+00:00" }, { "name": "Stream Start", "type": "IVS Stream State Change", "eventTime": "2023-06-26T19:09:34+00:00" }, { "name": "Session Created", "type": "IVS Stream State Change", "eventTime": "2023-06-26T19:09:28+00:00" } ] } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

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

Amazon CLI

获取有关直播的信息

以下get-stream示例获取有关指定频道直播的信息。

aws ivs get-stream \ --channel-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh

输出:

{ "stream": { "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "startTime": "2020-05-05T21:55:38Z", "state": "LIVE", "health": "HEALTHY", "streamId": "st-ABCDEfghij01234KLMN5678", "viewerCount": 1 } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

以下代码示例演示如何使用 import-playback-key-pair

Amazon CLI

导入新 key pair 的公共部分

以下import-playback-key-pair示例导入指定的公钥(以 PEM 格式的字符串形式指定),并返回新密钥对的 arn 和指纹。

aws ivs import-playback-key-pair \ --name "my-playback-key" \ --public-key-material "G1lbnQxOTA3BgNVBAMMMFdoeSBhcmUgeW91IGRl..."

输出:

{ "keyPair": { "arn": "arn:aws:ivs:us-west-2:123456789012:playback-key/abcd1234efgh", "name": "my-playback-key", "fingerprint": "0a:1b:2c:ab:cd:ef:34:56:70:b1:b2:71:01:2a:a3:72", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的设置私有通道

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

Amazon CLI

示例 1:获取有关所有频道的摘要信息

以下list-channels示例列出了您 Amazon 账户的所有频道。

aws ivs list-channels

输出:

{ "channels": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "channel-1", "latencyMode": "LOW", "authorized": false, "insecureIngest": false, "preset": "", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh", "tags": {}, "type": "STANDARD" }, { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/efghEFGHijkl", "name": "channel-2", "latencyMode": "LOW", "authorized": false, "preset": "", "playbackRestrictionPolicyArn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ", "recordingConfigurationArn": "", "tags": {}, "type": "STANDARD" } ] }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

示例 2:获取按指定 RecordingConfiguration ARN 筛选的所有频道的摘要信息

以下list-channels示例列出了您的 Amazon 账户中与指定 RecordingConfiguration ARN 关联的所有频道。

aws ivs list-channels \ --filter-by-recording-configuration-arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh"

输出:

{ "channels": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "channel-1", "latencyMode": "LOW", "authorized": false, "insecureIngest": false, "preset": "", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh", "tags": {}, "type": "STANDARD" } ] }

有关更多信息,请参阅《IVS 低延迟用户指南》中的录制到 Amazon S3

示例 3:获取按指定 PlaybackRestrictionPolicy ARN 筛选的所有频道的摘要信息

以下list-channels示例列出了您的 Amazon 账户中与指定 PlaybackRestrictionPolicy ARN 关联的所有频道。

aws ivs list-channels \ --filter-by-playback-restriction-policy-arn "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ"

输出:

{ "channels": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/efghEFGHijkl", "name": "channel-2", "latencyMode": "LOW", "authorized": false, "preset": "", "playbackRestrictionPolicyArn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ", "recordingConfigurationArn": "", "tags": {}, "type": "STANDARD" } ] }

有关更多信息,请参阅《IVS 低延迟用户指南》中的不需要的内容和查看器。

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

以下代码示例演示如何使用 list-playback-key-pairs

Amazon CLI

获取有关所有播放密钥对的摘要信息

以下list-playback-key-pairs示例返回有关所有密钥对的信息。

aws ivs list-playback-key-pairs

输出:

{ "keyPairs": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:playback-key/abcd1234efgh", "name": "test-key-0", "tags": {} }, { "arn": "arn:aws:ivs:us-west-2:123456789012:playback-key/ijkl5678mnop", "name": "test-key-1", "tags": {} } ] }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的设置私有通道

以下代码示例演示如何使用 list-playback-restriction-policies

Amazon CLI

获取有关所有播放限制政策的摘要信息

以下list-playback-restriction-policies示例列出了您 Amazon 账号的所有播放限制政策。

aws ivs list-playback-restriction-policies

输出:

{ "playbackRestrictionPolicies": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ", "allowedCountries": [ "US", "MX" ], "allowedOrigins": [ "https://www.website1.com", "https://www.website2.com" ], "enableStrictOriginEnforcement": true, "name": "test-playback-restriction-policy", "tags": { "key1": "value1", "key2": "value2" } } ] }

有关更多信息,请参阅《IVS 低延迟用户指南》中的不需要的内容和查看器。

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

Amazon CLI

列出在此账户中创建的所有 RecordingConfiguration 资源

以下list-recording-configurations示例获取有关您账户中所有 RecordingConfiguration 资源的信息。

aws ivs list-recording-configurations

输出:

{ "recordingConfigurations": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABcdef34ghIJ", "name": "test-recording-config-1", "destinationConfiguration": { "s3": { "bucketName": "demo-recording-bucket-1" } }, "state": "ACTIVE", "tags": {} }, { "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/CD12abcdGHIJ", "name": "test-recording-config-2", "destinationConfiguration": { "s3": { "bucketName": "demo-recording-bucket-2" } }, "state": "ACTIVE", "tags": {} } ] }

有关更多信息,请参阅《亚马逊互动视频服务用户指南》中的 “录制到 Amazon S3”。

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

Amazon CLI

获取直播密钥列表

以下list-stream-keys示例列出了指定 ARN(Amazon 资源名称)的所有直播密钥。

aws ivs list-stream-keys \ --channel-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh

输出:

{ "streamKeys": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/abcdABCDefgh", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {} } ] }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

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

Amazon CLI

获取当前 Amazon 区域中指定频道当前和之前直播的摘要

以下list-stream-sessions示例报告指定频道 ARN(Amazon 资源名称)的直播摘要信息。

aws ivs list-stream-sessions \ --channel-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ --max-results 25 \ --next-token ""

输出:

{ "nextToken": "set-2", "streamSessions": [ { "startTime": 1641578182, "endTime": 1641579982, "hasErrorEvent": false, "streamId": "mystream" } ... ] }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

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

Amazon CLI

获取直播列表及其状态

以下list-streams示例列出了您 Amazon 账户的所有直播。

aws ivs list-streams

输出:

{ "streams": [ { "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "state": "LIVE", "health": "HEALTHY", "streamId": "st-ABCDEfghij01234KLMN5678", "viewerCount": 1 } ] }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

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

Amazon CLI

列出 Amazon 资源的所有标签(例如:频道、直播密钥)

以下list-tags-for-resource示例列出了指定资源 ARN(Amazon 资源名称)的所有标签。

aws ivs list-tags-for-resource \ --resource-arn arn:aws:ivs:us-west-2:12345689012:channel/abcdABCDefgh

输出:

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

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

以下代码示例演示如何使用 put-metadata

Amazon CLI

将元数据插入指定频道的活动直播中

以下put-metadata示例将给定的元数据插入到指定频道的直播中。

aws ivs put-metadata \ --channel-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ --metadata '{"my": "metadata"}'

此命令不生成任何输出。

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

以下代码示例演示如何使用 start-viewer-session-revocation

Amazon CLI

撤消给定多频道 ARN 和 Viewer-ID 对的观看者会话

以下start-viewer-session-revocation示例启动撤消与指定频道 ARN 和观众 ID 关联的观看者会话的过程,该会话不超过并包含指定的会话版本号。如果未提供版本,则默认为 0。

aws ivs batch-start-viewer-session-revocation \ --channel-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ --viewer-id abcdefg \ --viewer-session-versions-less-than-or-equal-to 1234567890

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的设置私有通道

以下代码示例演示如何使用 stop-stream

Amazon CLI

停止指定直播

以下stop-stream示例在指定频道上停止直播。

aws ivs stop-stream \ --channel-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh

此命令不生成任何输出。

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

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

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

Amazon CLI

为 Amazon 资源添加或更新标签(例如:频道、直播密钥)

以下tag-resource示例为指定资源 ARN(Amazon 资源名称)添加或更新标签。

aws ivs tag-resource \ --resource-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ --tags "tagkey1=tagvalue1, tagkey2=tagvalue2"

此命令不生成任何输出。

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

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

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

Amazon CLI

移除 Amazon 资源的标签(例如:频道、直播密钥)

以下untag-resource示例删除指定资源 ARN 的指定标签(Amazon 资源名称)。

aws ivs untag-resource \ --resource-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ --tag-keys "tagkey1, tagkey2"

此命令不生成任何输出。

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

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

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

Amazon CLI

示例 1:更新频道的配置信息

以下update-channel示例更新指定频道 ARN 的频道配置以更改频道名称。这不会影响此频道的持续直播;您必须停止并重新启动直播才能使更改生效。

aws ivs update-channel \ --arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ --name "channel-1" \ --insecure-ingest

输出:

{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "channel-1", "latencyMode": "LOW", "type": "STANDARD", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": true, "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "preset": "", "authorized": false, "tags": {} }

有关更多信息,请参阅《IVS 低延迟用户指南》中的创建频道

示例 2:更新频道配置以启用录制

以下update-channel示例更新了指定频道 ARN 的频道配置以启用录制。这不会影响此频道的持续直播;您必须停止并重新启动直播才能使更改生效。

aws ivs update-channel \ --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" \ --no-insecure-ingest \ --recording-configuration-arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh"

输出:

{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "test-channel-with-recording", "latencyMode": "LOW", "type": "STANDARD", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "BA1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "preset": "", "authorized": false, "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的录制到 Amazon S3

示例 3:更新频道配置以禁用录制

以下update-channel示例更新了指定频道 ARN 的频道配置以禁用录制。这不会影响此频道的持续直播;您必须停止并重新启动直播才能使更改生效。

aws ivs update-channel \ --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" \ --recording-configuration-arn ""

输出:

{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "test-channel-with-recording", "latencyMode": "LOW", "type": "STANDARD", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2edfGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "preset": "", "authorized": false, "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的录制到 Amazon S3

示例 4:更新频道配置以启用播放限制

以下update-channel示例更新指定频道 ARN 的频道配置以应用播放限制策略。这不会影响此频道的持续直播;您必须停止并重新启动直播才能使更改生效。

aws ivs update-channel \ --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" \ --no-insecure-ingest \ --playback-restriction-policy-arn "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ"

输出:

{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "test-channel-with-playback-restriction-policy", "latencyMode": "LOW", "type": "STANDARD", "playbackRestrictionPolicyArn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ", "recordingConfigurationArn": "", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaCBDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "preset": "", "authorized": false, "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的不需要的内容和查看器。

示例 5:更新频道配置以禁用播放限制

以下update-channel示例更新了指定频道 ARN 的频道配置以禁用播放限制。这不会影响此频道的持续直播;您必须停止并重新启动直播才能使更改生效。

aws ivs update-channel \ --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" \ --playback-restriction-policy-arn ""

输出:

{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "test-channel-with-playback-restriction-policy", "latencyMode": "LOW", "type": "STANDARD", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaBCDeFghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "preset": "", "authorized": false, "tags": {} } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的不需要的内容和查看器。

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

以下代码示例演示如何使用 update-playback-restriction-policy

Amazon CLI

更新播放限制政策

以下update-playback-restriction-policy示例使用指定的策略 ARN 更新播放限制策略,以禁用严格的来源强制执行。这不会影响关联频道的持续直播;您必须停止并重新启动直播才能使更改生效。

aws ivs update-playback-restriction-policy \ --arn "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ" \ --no-enable-strict-origin-enforcement

输出:

{ "playbackRestrictionPolicy": { "arn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ", "allowedCountries": [ "US", "MX" ], "allowedOrigins": [ "https://www.website1.com", "https://www.website2.com" ], "enableStrictOriginEnforcement": false, "name": "test-playback-restriction-policy", "tags": { "key1": "value1", "key2": "value2" } } }

有关更多信息,请参阅《IVS 低延迟用户指南》中的不需要的内容和查看器。