本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對 Amazon Rekognition Video 進行疑難排解
以下內容涵蓋使用 Amazon Rekognition Video 與已儲存影片時的疑難排解資訊。
我都沒有收到傳送至 Amazon SNS 主題的完成狀態訊息
當影片分析完成時,Amazon Rekognition Video 會將狀態資訊發佈至 Amazon SNS 主題。一般而言,您可以使用 Amazon SQS 佇列或 Lambda 函數來訂閱主題,以取得完成狀態訊息。為順利進行調查,您可以透過電子郵件訂閱 Amazon SNS 主題。如此,電子郵件收件匣即會收到傳送至 Amazon SNS 主題的訊息。如需詳細資訊,請參閱訂閱 Amazon SNS 主題。
如果您的應用程式沒有收到該訊息,請考慮下列情況:
-
請確認分析已完成。請檢查取得操作中的
JobStatus
值 (例如,GetLabelDetection
)。如果該值為IN_PROGRESS
,表示分析尚未完成,而完成狀態也尚未發布至 Amazon SNS 主題。 -
請確認您擁有 IAM 服務角色,以授予 Amazon Rekognition Video 發佈至 Amazon SNS 主題的許可。如需詳細資訊,請參閱 設定 Amazon Rekognition Video。
-
確認您正在使用的 IAM 服務角色可以使用角色憑證發佈到 Amazon SNS 主題,並確認服務角色的許可範圍安全地限於您正在使用的資源。執行以下步驟:
-
取得使用者的 Amazon Resource Name (ARN):
aws sts get-caller-identity --profile
RekognitionUser
-
將使用者 ARN 新增至角色信任關係。如需詳細資訊,請參閱修改角色。下列範例信任原則會指定使用者的角色憑證,並將服務角色的權限限制為您正在使用的資源 (如需有關安全地限制服務角色權限範圍的詳細資訊,請參閱 預防跨服務混淆代理人):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com", "AWS": "arn:
User ARN
" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "Account ID
" }, "StringLike": { "aws:SourceArn": "arn:aws:rekognition:region
:111122223333:streamprocessor/*" } } } ] } -
假設該角色:
aws sts assume-role --role-arn arn:
Role ARN
--role-session-nameSessionName
--profile RekognitionUser -
發佈至 Amazon SNS 主題。
aws sns publish --topic-arn arn:
Topic ARN
--message "Hello World!" --region us-east-1 --profile RekognitionUser
如果 AWS CLI 命令有效,則您會收到該消息(如果您已通過電子郵件訂閱該主題,則在電子郵件收件箱中)。如果您沒有收到該訊息:
-
確認您已設定 Amazon Rekognition Video。如需詳細資訊,請參閱 設定 Amazon Rekognition Video。
-
請查看對此問題執行故障排除的其他秘訣。
-
-
確認您使用的是正確的 Amazon SNS 主題:
-
如果您使用 IAM 服務角色來授予 Amazon Rekognition Video 存取單一 Amazon SNS 主題的權限,請確認取得許可的 Amazon SNS 主題正確無誤。如需詳細資訊,請參閱 提供存取目前 Amazon SNS 主題的權限。
-
如果您使用 IAM 服務角色授予 Amazon Rekognition Video 存取多個 SNS 主題的權限,請確認您使用的是正確的主題,且主題名稱前面加上。AmazonRekognition如需詳細資訊,請參閱 提供對多個 Amazon SNS 主題的存取權限。
-
如果您使用 AWS Lambda 函數,請確認您的 Lambda 函數已訂閱正確的 Amazon SNS 主題。如需更多資訊,請參閱 Fanout 至 Lambda 函數 。
-
-
如果 Amazon SQS 佇列成功訂閱 Amazon SNS 主題,請確定 Amazon SNS 主題擁有傳送訊息至 Amazon SQS 佇列的許可。如需更多資訊,請參閱提供許可給 Amazon SNS 主題,以傳送訊息至 Amazon SQS 佇列。
我需要其他協助針對 Amazon SNS 主題進行疑難排解
您可以 AWS X-Ray 搭配 Amazon SNS 使用,追蹤和分析透過應用程式傳送的訊息。如需詳細資訊,請參閱 Amazon SNS 和 AWS X-Ray.
如需其他協助,您可以將您的問題張貼到 Amazon Rekognition 論壇