我用戈朗寫了拉姆達。Lambda 執行一些操作并調用階躍函數。我在代碼中硬編碼了步驟函數 ARN。我不喜歡這個解決方案,并希望改進它。它現在是如何工作的:arn := aws.String(sfnArn) // e.g: arn:aws:states:us-east-1:123:stateMachine:machine-nameparams := &sfn.StartExecutionInput{Input: input, Name: name, StateMachineArn: arn}output, err := client.StartExecution(params)任何想法如何改進它?我正在使用泰拉形態,所以也許有任何選項可以通過TF傳遞ARN?
1 回答

犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
有很多選項可以解決此問題。因此,我將說出我腦海中浮現的那一次,重點是利用AWS服務。
SSM:將步進函數的 ARN 保存在 SSM 參數存儲中,并在您的 Lambda 使用 ssm 運行時讀取此參數。獲取參數() API.
Lambda 環境變量:您可以將 ARN 設置為您的 Lambda 的環境變量并使用操作系統。GetEnv() 或 os.LookupEnv().
資源標簽:您可以為 Step 函數指定一個唯一的標簽,然后使用資源組標記api。獲取資源() API 以獲取步驟函數,然后從代碼中的該資源讀取 ARN。
顯然還有一百萬多種選擇。您可以從 S3 或 EFS 讀取配置文件,或者將靜態配置文件與您的 Lambda 捆綁在一起,或者查詢基于 HTTP 的 API 來讀取該值。
添加回答
舉報
0/150
提交
取消