如何从命令行界面获取aws api网关端点url



我按照这里的aws教程创建了一个aws lambda函数。https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-getting-started-hello-world.html

使用sam cli部署应用程序后,输出显示api网关端点url。我想知道如何为已经使用命令行界面部署的函数检索此信息。

谢谢

不,那不可能。lambda没有URL

Api网关确实有一个公共URL,因为这是Api网关的重点,使内部函数(如lambdas)可以公开访问。如果您希望使现有的lambda可公开访问,可以将其合并到现有的Api Gateway中,或者将lambda作为目标设置一个新网关。要知道如何将集成到Api网关中,这个答案太多了,这里有成千上万的教程。

EDIT在注释中澄清后:

aws apigatewayv2 get-apis

输出示例:

{
"Items": [
{
"ApiEndpoint": "wss://ko1uatx3.execute-api.eu-north-1.amazonaws.com",
"ApiId": "ko1uatx3",
"ApiKeySelectionExpression": "$request.header.x-api-key",
"CreatedDate": "2021-07-07T08:54:13Z",
"Description": "Serverless Websockets",
"Name": "dev-scrum-estimation-serverless-websockets",
"ProtocolType": "WEBSOCKET",
"RouteSelectionExpression": "$request.body.action",
"Tags": {}
}
]
}

也许我不理解这个问题,但是对于任何来这里寻找API网关路径列表的人来说,您可以使用aws apigateway get-resources从API网关中提取端点名称。将abcd1234替换为API网关实例ID。

aws apigateway get-resources --rest-api-id abcd1234

如果您只需要URL名称,您可以使用jq之类的东西来提取path属性:

aws apigateway get-resources --rest-api-id abcd1234 | jq '.items[ ] | .path'

相关内容

  • 没有找到相关文章

最新更新