gpt4 book ai didi

amazon-web-services - 如何根据从哪个存储库部署特定 Lambda 来添加它们的设置?

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

我正在尝试使用 bash 脚本更改 Lambda 的最大事件期限设置。无服务器目前似乎不支持此设置,因此我计划在从 GitHub 部署后将其作为 bash 脚本来执行。

方法:

我正在考虑在 aws 中查询特定 CloudFormation 堆栈中的 Lambda。我猜测部署存储库时,会创建一个新的 CF 堆栈。然后,我想迭代这些函数并使用 put-function-event-invoke-config 来更改每个 lambda 的最大事件年龄设置。

问题:

put-function-event-invoke-config 似乎需要一个函数名称。当查询 CF 堆栈时,我得到的是 lambda ARN。我可以进行一些字符串操作来获取 lambda 名称,但这似乎是一种困惑的方法。

我的方向正确吗?有更好的办法吗?

编辑:

lambda 已存在并已部署。我认为我需要做的是运行某种脚本,该脚本能够遍历从单个存储库部署的 lambda 列表(有多个存储库部署到同一环境)并更改最大事件-默认为 6 小时的年龄设置。

以下是我使用 CLI 通过 aws cloudformation describe-stacks 查询 CFN 时的示例输出:

 {
"StackId": "arn:aws:cloudformation:us-east-1:***:stack/my-repository-name/0sdg70gfs-6124-12ea-a910-93c4ahj3d140",
"StackName": "my-repository-name",
"Description": "The AWS CloudFormation template for this Serverless application",
"CreationTime": "2019-11-18T22:05:44.246Z",
"LastUpdatedTime": "2019-03-19T23:26:04.382Z",
"RollbackConfiguration": {},
"StackStatus": "UPDATE_COMPLETE",
"DisableRollback": false,
"NotificationARNs": [],
"Capabilities": [
"CAPABILITY_IAM",
"CAPABILITY_NAMED_IAM"
],
"Outputs": [
{
"OutputKey": "TestLambdaFunctionQualifiedArn",
"OutputValue": "arn:aws:lambda:us-east-1:***:function:my-test-function:3",
"Description": "Current Lambda function version"
},

我知道可以运行此命令来更改最大事件年龄:

$ aws lambda --region us-east-1 put-function-event-invoke-config --function-name my-test-function --maximum-event-age-in-seconds 3600

但它似乎需要 --function-name ,我在上面查询的 CFN 输出中没有看到它。

如何以编程方式遍历 CFN 堆栈中的所有函数并修改最大事件年龄的设置?

最佳答案

put-function-event-invoke-config 接受 ARN,这意味着可以根据堆栈名称查询 CFN,该堆栈名称与部署它的存储库相对应。

但是,我决定使用 list-functions 查询 Lambda,然后使用 list-tags,因为我们的部署是按存储库名称标记的。这似乎是比查询 CFN 更好的选择(CFN 输出 ARN 也包含后缀,这意味着 put-function-event-invoke-config 不会在它们上运行)。

然后我可以通过 bash 中的 for 循环运行文本输出,并使用 put-function-event-invoke-config 添加最大事件年龄设置。

关于amazon-web-services - 如何根据从哪个存储库部署特定 Lambda 来添加它们的设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61314096/

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