- 新しい順
- 投票が多い順
- コメントが多い順
The error you're encountering ("The specified queue does not exist for this wsdl version") when using action name "SendMessage" with Content-Type:application/x-amz-json-1.0 is related to a mismatch between the protocol format and the SQS API expectations.
Amazon SQS supports different protocol formats for different types of API calls. When you're using the action name approach with SendMessage, SQS expects the request to be in application/x-www-form-urlencoded format, not in the JSON format. This is why your integration works when you use Content-Type:application/x-www-form-urlencoded but fails with application/x-amz-json-1.0.
The AWS Solutions Constructs documentation shows that for POST operations (which map to SendMessage), the proper configuration should use the form-urlencoded format. The JSON protocol (application/x-amz-json-1.0) is not compatible with the action-based approach for SQS operations.
When you use path override instead of action name, you have more flexibility with the content type because you're essentially creating a custom integration pattern rather than directly mapping to the SQS API's expected format.
To resolve this issue, you should:
- Continue using the action name approach with Content-Type:application/x-www-form-urlencoded
- Or use the path override approach if you need to work with JSON payloads
This is not a region mismatch or queue existence issue, but rather a protocol compatibility issue between API Gateway's integration request configuration and the SQS service API expectations.
Sources
aws-apigateway-sqs - AWS Solutions Constructs
Troubleshoot Amazon SQS API errors - Amazon Simple Queue Service
関連するコンテンツ
- 質問済み 8ヶ月前
- 質問済み 6ヶ月前
- 質問済み 4ヶ月前
