In Amazon Connect, I create a Flow with Start Streaming Data block. I have verified that calls trigger live audio streams through Kinesis Video Streams. See the ARNs below (captured by calling AWS CLI command aws resourcegroupstaggingapi get-resources
).
{
"ResourceTagMappingList": [
{
"ResourceARN": "arn:aws:kinesisvideo:us-west-2:0123456789012: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>
}
]
}
]
}
Here, the ARN for the stream is:
<my-prefix>-connect-<my-username>-contact-b7443850-6b5b-4def-b3c2-d5b7d92cfc53/1691776084391
where <my-prefix>
and <my-username>
are specific to my Amazon Connect instance.
From what I’ve gleaned, the unique contact ID here is:
b7443850-6b5b-4def-b3c2-d5b7d92cfc53/1691776084391
But notice the slash here /
. That triggers issues with the AWS CLI command:
aws kinesis describe-stream --stream-name "<my-prefix>-connect-<my-username>-contact-b7443850-6b5b-4def-b3c2-d5b7d92cfc53/1691776084391"
which leads to the error:
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_.-]+
QUESTIONS: what is the stream name here? If what I am using is correct, then why is the describe-stream
command returning an error?
NOTE: my ultimate goal is to wire up a Golang app that reads the live audio stream, so somehow I need to tap into the corresponding Kinesis Video Stream when a call triggers … all of this outside of the context of AWS (IE, I am not using Lambda). In that sense, the real question is less about the naming conventions for this sort of stream and more about how my app can be fired when such streaming commences.
2
Answers
It looks like the use of the forward slash is not allowed within the given Regex constraints. Run the command
With the appropriate aws creds and region, and this should give you a paginated output of streams along with their names and ARNs. You can then use this to determine the correct ARN format.
The stream name is
<my-prefix>-connect-<my-username>-contact-b7443850-6b5b-4def-b3c2-d5b7d92cfc53
, without the/1691776084391
timestamp suffix. You can check this out in the AWS console, Kinesis Video streams.