我有一个带有cloudformation模板的代码管道。 我正在创建一个AWS :: ApiGateway :: Resource和AWS :: ApiGateway ::方法来访问S3存储桶。 第一次使用API创建方法。但是当我将更改推送到仓库时 并重新部署删除方法。
我不能,这就是原因。有人有任何线索!谢谢!
QrResource:
Type: "AWS::ApiGateway::Resource"
Properties:
ParentId:
Fn::GetAtt:
- "myApi"
- "RootResourceId"
RestApiId: !Ref myApi
PathPart: "qr"
QrItemResource:
Type: "AWS::ApiGateway::Resource"
Properties:
ParentId: !Ref QrResource
RestApiId: !Ref myApi
PathPart: "{item}"
Qr:
Type: "AWS::ApiGateway::Method"
Properties:
HttpMethod: GET
ApiKeyRequired: false
AuthorizationType: NONE
RequestParameters:
method.request.header.Content-Disposition: false
method.request.header.Content-Type: false
method.request.header.Accept: false
method.request.path.item: true
MethodResponses:
- StatusCode: 200
ResponseParameters:
method.response.header.Content-Type: integration.response.header.Content-Type
method.response.header.Content-Disposition: integration.response.header.Content-Disposition
method.response.header.Accept-Ranges: integration.response.header.Accept-Ranges
ResponseModels:
"application/json": EmptyModel
- StatusCode: 403
ResponseModels:
"application/json": ErrorModel
RestApiId: !Ref myApi
ResourceId: !Ref QrItemResource
Integration:
Type: AWS
Credentials: !Ref RoleApi
IntegrationHttpMethod: GET
PassthroughBehavior: WHEN_NO_MATCH
IntegrationResponses:
- StatusCode: 200
SelectionPattern: 200
ContentHandling: CONVERT_TO_BINARY
ResponseParameters:
method.response.header.Content-Type: integration.response.header.Content-Type
method.response.header.Accept-Ranges: "'bytes'"
method.response.header.Content-Disposition: "'inline'"
ResponseTemplates:
"application/json": ""
RequestParameters:
integration.request.header.Content-Disposition: method.request.header.Content-Disposition
integration.request.header.Content-Type: method.request.header.Content-Type
integration.request.header.Accept: method.request.header.Accept
integration.request.path.item: method.request.path.item
Uri: arn:aws:apigateway:us-east-1:s3:path/s3-bucket/{item}