InvalidS3ObjectException when calling the IndexFac

2020-03-31 08:26发布

问题:

I am attempting the following tutorial

https://aws.amazon.com/blogs/machine-learning/easily-perform-facial-analysis-on-live-feeds-by-creating-a-serverless-video-analytics-environment-with-amazon-rekognition-video-and-amazon-kinesis-video-streams/

So I replaced some part with my own bucket and key(file) name:

aws rekognition index-faces --image "{\"S3Object\":{\"Bucket\":\"testbucket\",\"Name\":\"testfile.png\"}}" --collection-id=rekVideoBlog --detection-attributes=ALL --external-image-id=Andy --region us-west-2

(assume testbucket is my bucket name and testfile is the file I uploaded and made public). Is this correct?

I have made sure to set the bucket and object public etc but I keep getting an error:

An error occurred (InvalidS3ObjectException) when calling the IndexFaces operation: Unable to get object metadata from S3. Check object key, region and/or access permissions.

I also tried to access my bucket using:

aws s3 ls s3://testbucket

and I am able to display the content fine

回答1:

are you currently facing this error : "An error occurred (InvalidS3ObjectException) when calling the IndexFaces operation: Unable to get object metadata from S3. Check object key, region and/or access permissions"?

I was able to run the sample Amazon Rekognition CLI command "index-faces" from the Amazon Rekogniton tutorial without any error as illustrated in the screenshot below :

Here's some tips for consideration in-case anyone else runs into this issue :

  • Make sure both S3 & Rekognition are using the same region i.e S3 bucket should be created in the same region as where Rekognition collection was created.
  • Since Amazon Rekognition supports both .jpg and .png formats, make sure the file name & format referenced in the CLI “index-faces” command matches the actual file in your S3 bucket.

Hope this helps.