Aws lambda AWS Lambda/SAM:如何从CLI获取调用URI?
作为AWS SAM模板的一部分,我有一个带有HttpPost事件触发器的函数。因为我使用的是AWS SAM转换,所以我没有显式声明创建的API网关,该网关用于路由此http post以触发函数。考虑到这一点,是否有任何方法可以引用生成的URL端点,例如在堆栈输出或Aws lambda AWS Lambda/SAM:如何从CLI获取调用URI?,aws-lambda,amazon-cloudformation,aws-cli,aws-sam,aws-sam-cli,Aws Lambda,Amazon Cloudformation,Aws Cli,Aws Sam,Aws Sam Cli,作为AWS SAM模板的一部分,我有一个带有HttpPost事件触发器的函数。因为我使用的是AWS SAM转换,所以我没有显式声明创建的API网关,该网关用于路由此http post以触发函数。考虑到这一点,是否有任何方法可以引用生成的URL端点,例如在堆栈输出或描述堆栈资源,以便通过编程获得函数的调用URL?我知道我可以通过导航到控制台中的堆栈,找到ApiGateway资源,然后随机单击,直到其中一个页面显示它来获取端点。但是我想要一个我的应用程序代码可以复制的方法 缩短模板以供参考: AWS
描述堆栈资源
,以便通过编程获得函数的调用URL?我知道我可以通过导航到控制台中的堆栈,找到ApiGateway资源,然后随机单击,直到其中一个页面显示它来获取端点。但是我想要一个我的应用程序代码可以复制的方法
缩短模板以供参考:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
SendJobUpdateFunction:
Type: AWS::Serverless::Function
Properties:
...
Runtime: nodejs10.x
Events:
HttpPost:
Type: Api
Properties:
Path: '/jobs'
Method: post
...
我目前正在使用sam
CLI进行部署,我认为它的语法非常类似于aws CloudFormation
,根据和,您可以通过以下方式获得它:
!Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/${Stage}"
其中,${Stage}
是您自己的参数,包含已部署的Stage。根据和,您可以通过以下方式获得它:
!Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/${Stage}"
其中,
${Stage}
是您自己的参数,包含部署的Stage。您还可以从AWS::URLSuffix
获取amazonaws.com
,因此,!Sub“https://${ServerlessRestApi}.execute api.${AWS::Region}.${AWS::URLSuffix}/${Stage}”
您还可以从AWS::URLSuffix
获取amazonaws.com
,因此,!Sub“https://${ServerlessRestApi}.execute api.${AWS::Region}.${AWS::URLSuffix}/${Stage}”