I'm getting Error occurred while GetObject. S3 Error Code: NoSuchKey even though I've created a bucket, is there a wait time to use the key after creating the bucket?
Here's my terraform script
resource "aws_s3_bucket" "lambda_fn_upload" {
bucket = var.bucket
acl = "private"
}
The bucket gets created successfully
aws_s3_bucket.lambda_fn_upload: Creation complete after 3s [id=lambda-fns-relieved-copper]
and key gets created as well using the bucket object
aws_s3_bucket_object.order_status_file_upload: Creation complete after 4s [id=lambda-fns/orderStatus/function.zip]
And when I try to use the s3_key in my lambda, it fails
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
]
}
I get the following error
Error: error creating Lambda Function (1): InvalidParameterValueException: Error occurred while GetObject. S3 Error Code: NoSuchKey. S3 Error Message: The specified key does not exist.
The issue happens when I run both scripts at the same time, if run the bucket script and then run the lambda script it doesn't fail.