猿问

将资源 ARN 转让给兰姆达

我用戈朗写了拉姆达。Lambda 执行一些操作并调用阶跃函数。我在代码中硬编码了步骤函数 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)

任何想法如何改进它?我正在使用泰拉形态,所以也许有任何选项可以通过TF传递ARN?


手掌心
浏览 76回答 1
1回答

犯罪嫌疑人X

有很多选项可以解决此问题。因此,我将说出我脑海中浮现的那一次,重点是利用AWS服务。SSM:将步进函数的 ARN 保存在 SSM 参数存储中,并在您的 Lambda 使用 ssm 运行时读取此参数。获取参数() API.Lambda 环境变量:您可以将 ARN 设置为您的 Lambda 的环境变量并使用操作系统。GetEnv() 或 os.LookupEnv().资源标签:您可以为 Step 函数指定一个唯一的标签,然后使用资源组标记api。获取资源() API 以获取步骤函数,然后从代码中的该资源读取 ARN。显然还有一百万多种选择。您可以从 S3 或 EFS 读取配置文件,或者将静态配置文件与您的 Lambda 捆绑在一起,或者查询基于 HTTP 的 API 来读取该值。
随时随地看视频慕课网APP

相关分类

Java
我要回答