gpt4 book ai didi

amazon-web-services - 路径之前的API网关cloudformation方法

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

我正在为 api 网关编写一个 cloudformation,我遇到了资源路径和方法的排序问题。

path ordering issue

我想要的是路径 (/hi) 位于其上方,而 GET 方法位于其下方。

这是我编写的用于生成此内容的 cloudformation 脚本的片段(排除权限、lambda、策略等...),我也知道一些用于执行此操作的工具,但它们未获得批准我们的情况。

MyAPI:
Type: AWS::ApiGateway::RestApi
Properties:
Name: "TestAPI"
EndpointConfiguration:
Types:
- REGIONAL

ApiGatewayResourceHi:
Type: "AWS::ApiGateway::Resource"
Properties:
ParentId:
Fn::GetAtt: ["MyAPI", "RootResourceId"]
PathPart: "hi"
RestApiId:
Ref: "MyAPI"

HiMethodGet:
Type: "AWS::ApiGateway::Method"
Properties:
RestApiId: !Ref MyAPI
ResourceId: !GetAtt
- MyAPI
- RootResourceId
HttpMethod: GET
AuthorizationType: NONE
Integration:
IntegrationHttpMethod: "POST"
Type: "AWS_PROXY"
Uri: !Join ["", ["arn:", !Ref "AWS::Partition", ":apigateway:", !Ref "AWS::Region", ":lambda:path/2015-03-31/functions/", !GetAtt ["HiLambdaFunction", "Arn"], "/invocations"]]
DependsOn:
- ApiGatewayResourceHi

ApiGatewayDeployment1:
Type: "AWS::ApiGateway::Deployment"
Properties:
RestApiId:
Ref: "MyAPI"
StageName: "dev"
DependsOn:
- HiMethodGet

一切似乎都工作正常,我可以调用并命中端点,并且它响应良好。这只是这个排序问题,因为我们的其他一些 api 网关的结构是方法之前的路径(尽管它们是手动创建的)。也许这是正确的方法并且没问题?如果有人发现我的脚本中存在问题或发现两种布局之间的建议,我将不胜感激。

谢谢。

最佳答案

您正在描述您希望 API 在控制台中以图形方式显示的内容,即“GET”位于“/hi”下方。控制台显示的是“GET”方法附加到根路径,并且根路径有一个名为“hi”的资源,但没有方法。我假设您希望“hi”资源具有 GET 方法,该方法将按照您所描述的方式显示,并且看起来也像是一个逻辑 API 设计。

它之所以被创建,是因为您已将该方法的资源设置为 RootResourceId。

您想要做的是将资源设置为您的“Hi”方法。

关于amazon-web-services - 路径之前的API网关cloudformation方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59414885/

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