Con*_* Ch 5 amazon-web-services aws-lambda terraform
我想在 destroy 运行时从 terraform 执行 lambda 调用。terraform 作业由 Jenkins 在远程服务器上运行。
根据此文档,我定义了以下配置程序:
provisioner "local-exec" {
when = destroy
command = "aws lambda invoke --function-name ${var.lambda_name} --payload '{ \"someProperty\": \"someValue\" }' response.json"
}
Run Code Online (Sandbox Code Playgroud)
lambda invoke 的命令语法根据AWS CLI Command Reference
但是,在运行 Terraform 时出现以下错误:
Error running command 'aws lambda invoke --function-name my-lambda-name --payload '{ "someProperty": "someValue" }' response.json': exit status 127. Output: /bin/sh: aws: command not found
Run Code Online (Sandbox Code Playgroud)
为什么我会收到 /bin/sh: aws: command not found in local-exec Provisioner?
小智 0
local-exec 正在本地计算机上运行,而不是在资源上运行。所以我猜你的机器上缺少 aws-cli 。
该命令which aws将显示您是否已安装 aws-cli 并在您的PATH? 如果未安装,请按照您的操作系统的安装说明进行操作。
| 归档时间: |
|
| 查看次数: |
3484 次 |
| 最近记录: |