【发布时间】:2022-01-11 04:00:59
【问题描述】:
我想创建一个连接到运动流的 API 网关:
resource "aws_api_gateway_integration" "kinesis_integration" {
rest_api_id = aws_api_gateway_rest_api.kinesis.id
resource_id = aws_api_gateway_resource.api_resource_kinesis.id
http_method = aws_api_gateway_method.post_kinesis.http_method
type = "AWS_PROXY"
uri = "arn:aws:apigateway:eu-central-1:kinesis:action/PutRecord"
integration_http_method = "POST"
depends_on = [
aws_api_gateway_resource.resource_kinesis
]
}
resource "aws_kinesis_firehose_delivery_stream" "kinesis-stream" {
name = "kinesis-stream"
destination = "extended_s3"
extended_s3_configuration {
role_arn = aws_iam_role.integration_role.arn
bucket_arn = aws_s3_bucket.mybucket.arn
processing_configuration {
enabled = "true"
processors {
type = "Lambda"
parameters {
parameter_name = "LambdaArn"
parameter_value = "${aws_lambda_function.mylambda.arn}:$LATEST"
}
}
}
}
}
Error creating API Gateway Integration: BadRequestException: AWS ARN for integration must contain path or action
│
│ with module.api.aws_api_gateway_integration.kinesis_integration,
│ on ../../modules/myapi.tf line 62, in resource "aws_api_gateway_integration" "kinesis_integration":
│ 62: resource "aws_api_gateway_integration" "kinesis_integration" {
我是否使用了错误的语法?它不应该是一个字符串吗?我在另一个 SO 答案中读到 uri 的格式应该是这样的:
arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}
但它似乎对我不起作用。我已经在这里尝试了两种溶胶,但它们给了我同样的错误: What should be service api for aws_api_gateway_integration with firehose in terraform
【问题讨论】:
-
好吧,qs 专门用于 AWS 代理,但我仍然无法解决错误,所以我想我会让 qs 保持打开状态@Marcin
-
我已经写过了,Firehose 没有 AWS_PROXY。
-
嗯仍然很困惑为什么它写在错误中。我还看到了一些关于 AWX Proxy + Firehose 的教程 .. 找不到了,但是那个教程是我首先开始这样做的原因@Marcin
-
可能是占位符。 Aws 可能在内部处理此问题,并且错误消息已包含此内容。
标签: amazon-web-services terraform aws-api-gateway amazon-kinesis amazon-kinesis-firehose