लैम्ब्डा फ़ंक्शन को ट्रिगर करने के लिए बकेट नोटिफिकेशन बनाते समय मुझे कोई समस्या हो रही है। त्रुटि:
Error putting S3 notification configuration: InvalidArgument: Unable to validate the following destination configurations
status code: 400
मैंने पढ़ा है कि इसी तरह की समस्याएं उस क्रम के कारण हो सकती हैं जिसमें संसाधन बनाए गए हैं या लैम्ब्डा अनुमतियां गायब हैं। हालांकि, मैंने अपने कोड में depends_on
शामिल करने के साथ-साथ टेम्पलेट को दो बार लागू करने और बीच में प्रतीक्षा करने का प्रयास किया। मैं कम से कम प्रतिबंधात्मक लैम्ब्डा नीति का उपयोग कर रहा हूँ। मैंने टेराफॉर्म दस्तावेज़ोंसे सटीक नमूना कोड का उपयोग करने का भी प्रयास किया। ए>, लेकिन यह मुझे एक पूरी तरह से अलग त्रुटि देता है।
कंसोल में बनाए जाने पर ठीक वही सेटअप ठीक काम करता है।
मेरे कोड का समस्याग्रस्त हिस्सा यहां दिया गया है:
resource "aws_lambda_function" "writeUsersToDB" {
filename = "writeUsersToDB.zip"
function_name = "writeUsersToDB"
role = "arn:aws:iam::0000000:role/AWSLambdaFullAccess"
handler = "main.lambda_handler"
memory_size = 256
timeout = 900
source_code_hash = filebase64sha256("writeUsersToDB.zip")
runtime = "python3.8"
environment {variables = local.parameters}
layers = [ "arn:aws:lambda:eu-west-2:0000000:layer:pandas-pandas-schema-numpy:1" ]
}
resource "aws_s3_bucket_notification" "event" {
bucket = aws_s3_bucket.user_data.id
lambda_function {
lambda_function_arn = aws_lambda_function.writeUsersToDB.arn
events = ["s3:ObjectCreated:*"]
filter_suffix = ".csv"
}
depends_on = [aws_lambda_function.writeUsersToDB]
}
resource "aws_s3_bucket" "user_data" {
bucket = "nameofthebucket"
}
1 उत्तर
आप aws_lambda_permission को मिस कर रहे हैं:
resource "aws_lambda_permission" "example" {
statement_id = "AllowExecutionFromS3Bucket"
action = "lambda:InvokeFunction"
function_name = aws_lambda_function.writeUsersToDB.function_name
principal = "s3.amazonaws.com"
source_arn = aws_s3_bucket.user_data.arn
}
संबंधित सवाल
नए सवाल
amazon-web-services
Amazon Web Services (AWS) एक सार्वजनिक-क्लाउड है: IaaS (एक सेवा के रूप में अवसंरचना) और अमेज़न द्वारा उपलब्ध कराए गए SaaS (एक सेवा के रूप में सॉफ़्टवेयर)। प्रोग्रामिंग और आर्किटेक्चर के बारे में प्रश्न विषय पर हैं। Https://serverfault.com पर सामान्य सर्वर सहायता प्राप्त की जा सकती है। AWS टैग का उपयोग शायद ही कभी किया जाता है और आमतौर पर अन्य टैग के साथ प्रश्न के विषय को अधिक स्पष्ट रूप से परिभाषित करने के लिए उपयोग किया जाएगा।