GetObject 时发生 AWS S3 错误。 S3 错误代码:带有 Terraform 的 NoSuchKey
AWS S3 Error occurred while GetObject. S3 Error Code: NoSuchKey with Terraform
即使我已经创建了一个存储桶,我仍然得到 Error occurred while GetObject. S3 Error Code: NoSuchKey
,创建存储桶后是否需要等待时间才能使用密钥?
这是我的 terraform 脚本
resource "aws_s3_bucket" "lambda_fn_upload" {
bucket = var.bucket
acl = "private"
}
桶创建成功
aws_s3_bucket.lambda_fn_upload: 3s后创建完成 [id=lambda-fns-relieved-copper]
并且还使用存储桶对象创建了密钥
aws_s3_bucket_object.order_status_file_upload: 4s后创建完成[id=lambda-fns/orderStatus/function.zip]
当我尝试在我的 lambda 中使用 s3_key 时,它失败了
resource "aws_lambda_function" "order_status" {
# For files larger than 10 MB, consider uploading using Amazon S3.
s3_bucket = aws_s3_bucket.lambda_fn_upload.id
s3_key = "lambda-fns/orderStatus/function.zip"
# filename = "../orderStatus/function.zip"
function_name = "orderStatus"
role = aws_iam_role.lambda_fn_role.arn
handler = "dist/handlers.orderStatus"
source_code_hash = filebase64sha256("../orderStatus/function.zip")
runtime = "nodejs12.x"
depends_on = [
aws_s3_bucket.lambda_fn_upload
]
}
我收到以下错误
Error: error creating Lambda Function (1): InvalidParameterValueException: Error occurred while GetObject. S3 Error Code: NoSuchKey. S3 Error Message: The specified key does not exist.
当我同时 运行 两个脚本时会出现问题,如果 运行 存储桶脚本然后 运行 lambda 脚本它不会失败。
问题是你的order_status
资源依赖于S3 bucket的创建,这没问题,但它也应该依赖于打包的Lambda函数的上传。修改Lambda函数依赖,如下:
depends_on = [
aws_s3_bucket.lambda_fn_upload,
aws_s3_bucket_object.order_status_file_upload
]
即使我已经创建了一个存储桶,我仍然得到 Error occurred while GetObject. S3 Error Code: NoSuchKey
,创建存储桶后是否需要等待时间才能使用密钥?
这是我的 terraform 脚本
resource "aws_s3_bucket" "lambda_fn_upload" {
bucket = var.bucket
acl = "private"
}
桶创建成功
aws_s3_bucket.lambda_fn_upload: 3s后创建完成 [id=lambda-fns-relieved-copper]
并且还使用存储桶对象创建了密钥
aws_s3_bucket_object.order_status_file_upload: 4s后创建完成[id=lambda-fns/orderStatus/function.zip]
当我尝试在我的 lambda 中使用 s3_key 时,它失败了
resource "aws_lambda_function" "order_status" {
# For files larger than 10 MB, consider uploading using Amazon S3.
s3_bucket = aws_s3_bucket.lambda_fn_upload.id
s3_key = "lambda-fns/orderStatus/function.zip"
# filename = "../orderStatus/function.zip"
function_name = "orderStatus"
role = aws_iam_role.lambda_fn_role.arn
handler = "dist/handlers.orderStatus"
source_code_hash = filebase64sha256("../orderStatus/function.zip")
runtime = "nodejs12.x"
depends_on = [
aws_s3_bucket.lambda_fn_upload
]
}
我收到以下错误
Error: error creating Lambda Function (1): InvalidParameterValueException: Error occurred while GetObject. S3 Error Code: NoSuchKey. S3 Error Message: The specified key does not exist.
当我同时 运行 两个脚本时会出现问题,如果 运行 存储桶脚本然后 运行 lambda 脚本它不会失败。
问题是你的order_status
资源依赖于S3 bucket的创建,这没问题,但它也应该依赖于打包的Lambda函数的上传。修改Lambda函数依赖,如下:
depends_on = [
aws_s3_bucket.lambda_fn_upload,
aws_s3_bucket_object.order_status_file_upload
]