gpt4 book ai didi

amazon-web-services - 如何在无服务器框架的 `serverless.yml` 文件中将 URL 端点详细信息作为变量获取?

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

使用 Serverless Framework
部署 AWS Lambda 函数,无服务器创建(或接收)
特定的 URL 端点字符串。我想使用该字符串(作为变量)
serverless.yml 的另一部分规范文件。

该 URL 端点是否可用作 serverless.yml 中的变量? ?
Serverless Framework documentation on AWS-related variables
似乎没有回答这种情况。

详情:我的 serverless.yml包含 provider:规范
相似:

provider:
name: aws
runtime: python3.6
memorySize: 512
region: ${opt:region, 'eu-west-1'}
profile: ${opt:profile, 'default'}
stage: ${opt:stage, 'staging'}

和一个 functions:部分开头:
functions:
round-control:
name: ${self:provider.stage}-round-control
runtime: nodejs8.10
handler: round/control/app.lambdaHandler
events:
- http:
path: round/control
method: get

之后
serverless deploy --profile [my-aws-profile]
Lambda 函数 sample-experiments-staging-round-control据报告在端点可用 https://1a234bc5de.execute-api.eu-west-1.amazonaws.com/staging/round/control .

问题:Serverless 中是否有可用的变量包含
那个 1a234bc5de , 或 1a234bc5de.execute-api或者甚至 1a234bc5de.execute-api.eu-west-1.amazonaws.com ?
(显然,如果我知道第一个,我也可以构建最后两个。)

使用该变量,我可以构建完整的 URL 端点,我
需要在另一个地方 serverless.yml文件。

注意那个 1a234bc5de不是动态生成的随机
字符串 - 我当前的项目(每个阶段,每个区域)“固定”为
相同的字符串。也许该字符串是在 AWS Lambda 或
AWS API 网关?

最佳答案

我能够将 API 网关端点的 URL 和唯一 ID 作为环境变量传递给 Lambda 函数,如下所示:

  mylambda:
handler: mylambda.handler
runtime: python3.7
events:
- http:
path: id
cors: true
environment:
APIG_UID: !Ref "ApiGatewayRestApi"
APIG_URL:
!Join
- ''
- - 'https://'
- !Ref ApiGatewayRestApi
- '.execute-api.'
- ${opt:region, self:provider.region}
- '.amazonaws.com/'
- ${opt:stage, self:provider.stage}

感谢 goingserverless .

关于amazon-web-services - 如何在无服务器框架的 `serverless.yml` 文件中将 URL 端点详细信息作为变量获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55542422/

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