是的,API Gateway 响应头中可以包含 x-amz-apigw-id。使用 AWS SDK 或 API Gateway REST API 可以轻松获取该信息。
以下是使用 Python 的 AWS SDK Boto3 获取 x-amz-apigw-id 的示例代码:
import boto3
client = boto3.client('apigateway')
response = client.get_rest_apis()
for item in response['items']:
print(item['id'], item['name'], item['ResponseParameters']['method.response.header.x-amz-apigw-id'])
这个例子获取了所有API网关的 ID,名称和响应头中 x-amz-apigw-id 的值。
以下是使用 cURL 和 API Gateway REST API 获取 x-amz-apigw-id 的示例代码:
curl -i https://{rest-api-id}.execute-api.{region}.amazonaws.com/{stage-name}/endpoint
HTTP/1.1 200 OK
Content-Type: application/json
x-amz-apigw-id: xxxx-xxxx-xxxx-xxxx-xxxx
Content-Length: 27
Connection: keep-alive
{"message": "Hello, world!"}
在这个例子中,返回的响应包含 x-amz-apigw-id 的值。