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:3 秒后創建完成 [id=lambda-fns-relieved-copper]
并使用存盤桶物件創建密鑰
aws_s3_bucket_object.order_status_file_upload:4 秒后創建完成 [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
]
}
我收到以下錯誤
錯誤:創建 Lambda 函式時出錯 (1):InvalidParameterValueException:GetObject 時發生錯誤。S3 錯誤代碼:NoSuchKey。S3 錯誤訊息:指定的密鑰不存在。
當我同時運行兩個腳本時會出現問題,如果運行存盤桶腳本然后運行 ??lambda 腳本,它不會失敗。
uj5u.com熱心網友回復:
問題是你的order_status資源依賴于S3存盤桶的創建,這很好,但它也應該依賴于打包的Lambda函式的上傳。修改Lambda函式依賴,如下:
depends_on = [
aws_s3_bucket.lambda_fn_upload,
aws_s3_bucket_object.order_status_file_upload
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/386951.html
上一篇:如何從s3存盤桶下載指定的檔案
下一篇:即使在DigitaloceanSpacesUI中添加CORS設定后,物件中也缺少access-control-allow-origin標頭
