在添加API Destinations时,需要在“HttpParameters”参数中指定请求头和参数。示例代码如下:
import boto3
client = boto3.client('events', endpoint_url='http://localhost:4566')
response = client.put_targets(
Rule='my-rule',
Targets=[
{
'Id': 'my-target',
'Arn': 'arn:aws:apigateway:us-east-1:api-id/stage-name/HTTP_METHOD/resource-path',
'HttpParameters': {
'HeaderParameters': {
'header-name': 'header-value'
},
'PathParameterValues': [
'path-value'
],
'QueryStringParameters': {
'query-param': 'query-value'
}
}
}
]
)
需要注意,使用Localstack时,API Destinations的目标URL应为API Gateway的URL,而非实际的API服务URL。