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.

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ