對 Amazon Rekognition Video 進行疑難排解 - Amazon Rekognition

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

對 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-name SessionName --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 論壇,或考慮註冊取得AWS 技術支援