400 Bad Request

0

The call to AWS Rekognition API request "describeCollection" returns "400 Bad Request" and crashes instead of throwing an exception. An invalid collection ID is NOT a fatal error. Why doesn't the API throw an exception? Here's my code: try { $result = $aws_client->client->describeCollection([ 'CollectionId' => $collection_id, // REQUIRED ]); } catch( ResourceNotFoundException $e ) { $errmsg = "describeCollection exception:" . $e-getMessage(); return; } catch ( Exception $e ) { $errmsg = "describeCollection exception:" . $e-getMessage(); return; } An here's the response: Aws \ Rekognition \ Exception \ RekognitionException PHP 8.1.18 10.10.0 Error executing "DescribeCollection" on "https://rekognition.ap-southeast-2.amazonaws.com"; AWS HTTP error: Client error: POST https://rekognition.ap-southeast-2.amazonaws.com resulted in a 400 Bad Request response: {"__type":"ResourceNotFoundException","Code":"ResourceNotFoundException","Message":"Collection:dev_gallery_32 not found! (truncated...) ResourceNotFoundException (client): Collection:dev_gallery_32 not found! - {"__type":"ResourceNotFoundException","Code":"ResourceNotFoundException","Message":"Collection:dev_gallery_32 not found!"}

Paul
질문됨 3달 전222회 조회
1개 답변
1

Hi Paul,

From AWS SDK PHP reference below, the client would throw a RekognitionException, and "ResourceNotFoundException" is the errorType within the exception.

Could you try if the following modification works?

try { 
  $result = $aws_client->client->describeCollection([ 'CollectionId' => $collection_id, // REQUIRED ]); 
} catch( RekognitionException $e ) { 
  $errortype = $e->getAwsErrorType();
  return; 
}

https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.Rekognition.Exception.RekognitionException.html

AWS
답변함 3달 전
  • Did you use the correct full namespace Aws\Rekognition\Exception\RekognitionException?

    use Aws\Rekognition\Exception\RekognitionException as RekognitionException;

  • Hi, Thanks for your response. I tried your suggestion but, unfortunately, I got the same error message. Note, that the code works fine with a valid collection ID. In response to your latest comment, I added the namespace as suggested. At least, it stopped crashing, but still doesn't throw an exception. It continues past the call to describeCollection(), and continues as if there's no error.

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠