如何在 terraform 中导入 aws_lambda_permission

How to import aws_lambda_permission in terraform

如何在 terraform 中将 terraform importaws_lambda_permission 类型的资源一起使用?第二个参数应该是什么?

在撰写本文时,Terraform 没有此资源的导入程序,因此无法使用 terraform import 命令自动导入它。

由于 Lambda 权限是属于 Lambda 函数的从属资源,因此 支持导入它,最可能的处理方式是将其导入为导入函数本身的副作用;仅凭权限 ID 不足以检索它。

您可以使用不同的 statement_id 创建相同的权限,然后通过 aws cli 删除旧的 lambda 权限:

aws lambda remove-permission --function-name myfunction --statement-id myoldfunctionsid

对于那些登陆这里的人来说,现在可以了。
terraform import aws_lambda_permission.<your_resource_name> <lambda_function_name>/<permission_statement_id>

语句 ID (SID) 可以在 AWS 控制台上的 permissions > Resource-based policy 下找到 lambda 函数。