x89*_*x89 6 amazon-web-services amazon-dynamodb aws-lambda terraform terraform-provider-aws
每次新项目到达我的发电机表时,我都想运行 lambda 函数trigger_lambda_function。这就是我定义表和触发器的方式。但是,触发器无法按预期工作。
resource "aws_dynamodb_table" "filenames" {\n name = local.dynamodb_table_filenames\n billing_mode = "PROVISIONED"\n read_capacity = 1000\n write_capacity = 1000\n hash_key = "filename"\n\n #range_key = ""\n\n attribute {\n name = "filename"\n type = "S"\n }\n\n tags = var.tags\n}\n\n\nresource "aws_lambda_event_source_mapping" "allow_dynamodb_table_to_trigger_lambda" {\n event_source_arn = aws_dynamodb_table.filenames.stream_arn\n function_name = aws_lambda_function.trigger_stepfunction_lambda.arn\n starting_position = "LATEST"\n}\nRun Code Online (Sandbox Code Playgroud)\n后terraform apply,我收到一个错误:
\xe2\x94\x82 Error: error creating Lambda Event Source Mapping (): InvalidParameterValueException: Unrecognized event source.\n\xe2\x94\x82 {\n\xe2\x94\x82 RespMetadata: {\n\xe2\x94\x82 StatusCode: 400,\n\xe2\x94\x82 RequestID: "5ae68da6-3f6d-4adb-b104-72ae584dbca7"\n\xe2\x94\x82 },\n\xe2\x94\x82 Message_: "Unrecognized event source.",\n\xe2\x94\x82 Type: "User"\n\xe2\x94\x82 }\n\xe2\x94\x82 \n\xe2\x94\x82 with module.ingest_system["alpegatm"].aws_lambda_event_source_mapping.allow_dynamodb_table_to_trigger_lambda,\n\xe2\x94\x82 on ../../modules/ingest_system/dynamo.tf line 39, in resource "aws_lambda_event_source_mapping" "allow_dynamodb_table_to_trigger_lambda":\n\xe2\x94\x82 39: resource "aws_lambda_event_source_mapping" "allow_dynamodb_table_to_trigger_lambda" {\nRun Code Online (Sandbox Code Playgroud)\n我也尝试过.arn,stream_arn但这也引发了错误。我还能尝试什么?
我遵循了触发器的文档:\n https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_event_source_mapping
\n从aws_dynamodb_table文档来看,仅当设置为stream_arn时才可用。您可能想要添加到 DynamoDB 表定义。stream_enabledtruestream_enabled = true
默认stream_enabled设置为false。您可以在此处查看的所有默认值aws_dynamodb_table。
| 归档时间: |
|
| 查看次数: |
2679 次 |
| 最近记录: |