在 Amazon Connect 中,我创建了一个带有 Start Streaming Data 块的流。我已验证呼叫会通过 Kinesis Video Streams 触发实时音频流。请参阅下面的 ARN(通过调用 AWS CLI 命令
aws resourcegroupstaggingapi get-resources
捕获)。
{
"ResourceTagMappingList": [
{
"ResourceARN": "arn:aws:kinesisvideo:us-west-2:566896750414:stream/<my-prefix>-connect-<my-username>-contact-b7443850-6b5b-4def-b3c2-d5b7d92cfc53/1691776084391",
"Tags": [
{
"Key": "connect:source-type",
"Value": "contact"
},
{
"Key": "connect:instance-id",
"Value": <my-connect-instance-id>
}
]
}
]
}
这里,流的 ARN 是:
<my-prefix>-connect-<my-username>-contact-b7443850-6b5b-4def-b3c2-d5b7d92cfc53/1691776084391
其中
<my-prefix>
和 <my-username>
特定于我的 Amazon Connect 实例。
根据我收集的信息,这里的唯一联系 ID 是:
b7443850-6b5b-4def-b3c2-d5b7d92cfc53/1691776084391
但是请注意这里的斜杠
/
。这会触发 AWS CLI 命令的问题:
aws kinesis describe-stream --stream-name "<my-prefix>-connect-<my-username>-contact-b7443850-6b5b-4def-b3c2-d5b7d92cfc53/1691776084391"
这会导致错误:
An error occurred (ValidationException) when calling the DescribeStream operation: 1 validation error detected: Value '<prefix>-connect-<username>-contact-fdc70c90-0153-4b78-9012-00316c829524/1691776086035' at 'streamName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z0-9_.-]+
问题:这里的流名称是什么?如果我使用的是正确的,那么为什么
describe-stream
命令返回错误?
注意:我的最终目标是连接一个读取实时音频流的 Golang 应用程序,因此当呼叫触发时我需要以某种方式接入相应的 Kinesis 视频流……所有这些都在 AWS 上下文之外(即,我没有使用 Lambda)。从这个意义上说,真正的问题不是关于此类流的命名约定,而是更多关于当此类流开始时如何触发我的应用程序。
看起来在给定的正则表达式约束内不允许使用正斜杠。运行命令
aws kinesis list-streams
使用适当的 aws 信用和区域,这应该为您提供流的分页输出及其名称和 ARN。然后,您可以使用它来确定正确的 ARN 格式。
流名称为
<my-prefix>-connect-<my-username>-contact-b7443850-6b5b-4def-b3c2-d5b7d92cfc53
,不带 /1691776084391
时间戳后缀。您可以在 AWS 控制台 Kinesis Video Streams 中查看这一点。