登录
首页 >  Golang >  Go问答

将资源 ARN 传输到 Lambda

来源:stackoverflow

时间:2024-04-05 15:24:28 280浏览 收藏

一分耕耘,一分收获!既然都打开这篇《将资源 ARN 传输到 Lambda》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我用 golang 编写了 lambda。 lambda 执行一些操作并调用 step function。我在代码中硬编码了 step function arn。我不喜欢这个解决方案并希望改进它。目前的运作方式:

arn := aws.String(sfnArn) // e.g: arn:aws:states:us-east-1:123:stateMachine:machine-name
params := &sfn.StartExecutionInput{Input: input, Name: name, StateMachineArn: arn}

output, err := client.StartExecution(params)

知道如何改进吗?我正在使用 terraform,所以也许有任何选项可以通过 tf 传递 arn?


正确答案


解决这个问题的方法有很多。因此,我将列出我想到的重点是利用 AWS 服务的一次。

  1. SSM:将 Step Function 的 ARN 保存在 SSM parameter store 中,并在 Lambda 使用 ssm.GetParameter() API 运行时读取此参数。
  2. Lambda 环境变量:您可以将 ARN 设置为 Lambda 的环境变量,并使用 os.GetEnv()os.LookupEnv()
  3. 资源标签:您可以为 Step Function 提供一个唯一的标签,然后使用 resourcegroupstaggingapi.GetResources() API 获取 Step Function,然后从代码中的该资源读取 ARN。

显然还有一百万个选择。您可以从 S3 或 EFS 读取配置文件,或者将静态配置文件与 Lambda 或基于查询 HTTP 的 API 捆绑在一起以读取该值。

到这里,我们也就讲完了《将资源 ARN 传输到 Lambda》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>