gpt4 book ai didi

amazon-web-services - 如何在 CloudFormation 模板中将 AWS::ApiGateway::Resource 添加到 AWS::Serverless::Api

转载 作者:行者123 更新时间:2023-12-03 07:27:32 25 4
gpt4 key购买 nike

在我的 CloudFormation 模板中,我创建了一个 Serverless::Api 资源,如下所示,

Resources:
RestApi:
Type: AWS::Serverless::Api
Properties:
StageName: v1
Auth:
DefaultAuthorizer: DefaultAuthorizer
Authorizers:
TokenAuthorizer:
FunctionArn: !GetAtt AuthorizerFunction.Arn

然后我想向此 API 添加自定义资源,为此我将此资源添加到我的模板中

Resources:
ShareResource:
Type: AWS::ApiGateway::Resource
Properties:
ParentId: !GetAtt RestApi.RootResourceId
RestApiId: !Ref RestApi
PathPart: 'share'

当我部署 CloudFormation 模板时,它可以正常工作,并且没有出现任何错误,但是,自定义 ShareResource 不在 API 中,它在任何地方都不存在。但是,当我查看 CloudFormation 事件输出时,它表示资源已创建。

如何实现这一目标?

最佳答案

只是一种预感,但这可能是由于未在资源中放置任何方法造成的。尝试向您的资源添加子 AWS::ApiGateway::Method 并查看 cloudformation 是否正确构建。例如

Resources:
RestApi:
Type: AWS::Serverless::Api
Properties:
StageName: v1
Auth:
DefaultAuthorizer: DefaultAuthorizer
Authorizers:
TokenAuthorizer:
FunctionArn: !GetAtt AuthorizerFunction.Arn

ShareResource:
Type: AWS::ApiGateway::Resource
Properties:
ParentId: !GetAtt RestApi.RootResourceId
RestApiId: !Ref RestApi
PathPart: 'share'

MockMethod:
Type: 'AWS::ApiGateway::Method'
Properties:
RestApiId: !Ref RestApi
ResourceId: !Ref ShareResource
HttpMethod: GET
AuthorizationType: NONE
Integration:
Type: MOCK

关于amazon-web-services - 如何在 CloudFormation 模板中将 AWS::ApiGateway::Resource 添加到 AWS::Serverless::Api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61130201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com