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

使用 AWS CLI 的 Amazon IVS 示例

以下代码示例演示了如何通过将 AWS Command Line Interface与 Amazon IVS 结合使用,来执行操作和实现常见场景。

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

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

主题

操作

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

AWS 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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 BatchGetChannel

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

AWS 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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 BatchGetStreamKey

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

AWS CLI

撤消多个 channel-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

AWS 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 Low-Latency 用户指南》中的创建通道

示例 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 Low-Latency 用户指南》中的录制到 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 Low-Latency 用户指南》中的不想要的内容和观看者

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateChannel

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

AWS 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 Low-Latency 用户指南》中的不想要的内容和观看者

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

AWS 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 Interactive Video Service 用户指南》中的录制到 Amazon S3

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

AWS 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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateStreamKey

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

AWS CLI

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

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

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

此命令不生成任何输出。

有关更多信息,请参阅《IVS Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteChannel

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

AWS CLI

删除指定的播放密钥对

以下 delete-playback-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

AWS 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 Low-Latency 用户指南》中的不想要的内容和观看者

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

AWS 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 Interactive Video Service 用户指南》中的录制到 Amazon S3

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

AWS CLI

删除直播密钥

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

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

此命令不生成任何输出。

有关更多信息,请参阅《IVS Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteStreamKey

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

AWS 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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetChannel

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

AWS CLI

获取指定的播放密钥对

以下 get-playback-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 详细信息,请参阅《AWS CLI 命令参考》中的 GetPlaybackKeyPair

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

AWS 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 Low-Latency 用户指南》中的不想要的内容和观看者

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

AWS 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 Interactive Video Service 用户指南》中的录制到 Amazon S3

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

AWS 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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetStreamKey

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

AWS 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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetStreamSession

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

AWS 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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetStream

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

AWS CLI

导入新密钥对的公共部分

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

AWS CLI

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

以下 list-channels 示例列出您的 AWS 账户的所有通道。

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 Low-Latency 用户指南》中的创建通道

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

以下 list-channels 示例列出您的 AWS 账户中与指定 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 Low-Latency 用户指南》中的录制到 Amazon S3

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

以下 list-channels 示例列出您的 AWS 账户中与指定 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 Low-Latency 用户指南》中的不想要的内容和观看者

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListChannels

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

AWS 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

AWS CLI

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

以下 list-playback-restriction-policies 示例列出您的 AWS 账户的所有播放限制策略。

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 Low-Latency 用户指南》中的不想要的内容和观看者

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

AWS 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 Interactive Video Service 用户指南》中的录制到 Amazon S3

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

AWS 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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListStreamKeys

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

AWS CLI

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

以下 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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListStreamSessions

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

AWS CLI

获取直播列表及其状态

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

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 Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListStreams

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

AWS CLI

列出 AWS 资源(如通道、直播密钥)的所有标签

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

有关更多信息,请参阅《Amazon Interactive Video Service API 参考》中的标记

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

AWS CLI

将元数据插入到指定通道的活跃直播中

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

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

此命令不生成任何输出。

有关更多信息,请参阅《IVS Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutMetadata

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

AWS CLI

撤消给定多 channel-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

AWS CLI

停止指定直播

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

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

此命令不生成任何输出。

有关更多信息,请参阅《IVS Low-Latency 用户指南》中的创建通道

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StopStream

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

AWS CLI

为 AWS 资源(如通道、直播密钥)添加或更新标签

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

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

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Interactive Video Service API 参考》中的标记

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 TagResource

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

AWS CLI

移除 AWS 资源(如通道、直播密钥)的标签

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

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

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Interactive Video Service API 参考》中的标记

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagResource

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

AWS 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 Low-Latency 用户指南》中的创建通道

示例 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 Low-Latency 用户指南》中的录制到 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 Low-Latency 用户指南》中的录制到 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 Low-Latency 用户指南》中的不想要的内容和观看者

示例 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 Low-Latency 用户指南》中的不想要的内容和观看者

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateChannel

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

AWS 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 Low-Latency 用户指南》中的不想要的内容和观看者