Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

869
Vistas
Error al crear la respuesta de integración de API Gateway: NotFoundException: se especificó un identificador de integración no válido

Objetivo

Solución o solución alternativa para el problema.

Problema

La integración de Terraform API Gateway con Firehose a continuación funciona si Firehose se crea por separado con anticipación.

 resource "aws_api_gateway_integration" "click_put" { rest_api_id = data.aws_api_gateway_rest_api.mysfit.id resource_id = aws_api_gateway_resource.click.id type = "AWS" uri = "arn:aws:apigateway:${var.REGION}:firehose:action/PutRecord" credentials = aws_iam_role.api_click.arn http_method = aws_api_gateway_method.click_put.http_method integration_http_method = "POST" request_parameters = { "integration.request.header.Content-Type" = "'application/x-amz-json-1.1'" } passthrough_behavior = "NEVER" request_templates = { "application/json" = <<EOF { "DeliveryStreamName": "${local.firehose_name}", "Record": { "Data": "$util.base64Encode($input.json('$'))" } } EOF } } ... resource "aws_api_gateway_integration_response" "click_put" { rest_api_id = data.aws_api_gateway_rest_api.mysfit.id resource_id = aws_api_gateway_resource.click.id http_method = aws_api_gateway_method.click_put.http_method status_code = aws_api_gateway_method_response.click_put.status_code response_parameters = { "method.response.header.Access-Control-Allow-Origin" = "'*'" } }

Sin embargo, si se crean en el mismo módulo raíz, provoca el error.

 Error creating API Gateway Integration Response: NotFoundException: Invalid Integration identifier specified on api_click.tf line 185, in resource "aws_api_gateway_integration_response" "click_put": 185: resource "aws_api_gateway_integration_response" "click_put" {
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Alternativa/Solución

Coloque una dependencia en aws_api_gateway_integration del recurso que provoca "NotFoundException: se especificó un identificador de integración no válido".

 resource "aws_api_gateway_integration_response" "click_put" { rest_api_id = data.aws_api_gateway_rest_api.mysfit.id resource_id = aws_api_gateway_resource.click.id http_method = aws_api_gateway_method.click_put.http_method status_code = aws_api_gateway_method_response.click_put.status_code response_parameters = { "method.response.header.Access-Control-Allow-Origin" = "'*'" } depends_on = [ aws_api_gateway_integration.click_put ] }

Referencias

Hay indicaciones de que depende de aws_api_gateway_integration o colocar una espera sería el camino.

Probablemente, esperar a que se complete por completo el recurso aws_api_gateway_integration sería una práctica recomendada.

  • aws_api_gateway_integration_response

    Nota: Depende de tener aws_api_gateway_integration dentro de su API de descanso. Para asegurarse de esto, es posible que deba agregar un depend_on explícito para ejecuciones limpias.

  • Problema de integración de la puerta de enlace API: se especificó un identificador de método no válido Error n.º 4001

    Estoy usando la siguiente solución para resolver un problema similar. Recibo el error de identificador de método no válido en la primera ejecución cuando todos los recursos se crean durante la misma aplicación. Se crea una API de proxy para Lambda:

 resource "aws_api_gateway_resource" "proxy" { rest_api_id = aws_api_gateway_rest_api.rest-api.id parent_id = aws_api_gateway_rest_api.rest-api.root_resource_id path_part = "{proxy+}" } resource "null_resource" "method-delay" { provisioner "local-exec" { command = "sleep 5" } triggers = { response = aws_api_gateway_resource.proxy.id } } resource "aws_api_gateway_method_response" "response" { depends_on = [null_resource.method-delay] http_method = "ANY" resource_id = aws_api_gateway_resource.proxy.id rest_api_id = aws_api_gateway_rest_api.rest-api.id }
over 4 years ago · Santiago Trujillo Denunciar

0

simplemente puede agregar depends_on . Debería ser algo como:

 resource "aws_api_gateway_integration" "create-oauth-lambda" { rest_api_id = aws_api_gateway_rest_api.create-oauth-token-api-gw.id resource_id = aws_api_gateway_resource.auth-token-resource.id http_method = aws_api_gateway_method.method.http_method integration_http_method = "POST" type = "AWS_PROXY" uri = "some URI" } resource "aws_api_gateway_method_response" "response-200" { depends_on = [aws_api_gateway_integration.create-oauth-lambda] rest_api_id = aws_api_gateway_rest_api.create-oauth-token-api-gw.id resource_id = aws_api_gateway_resource.auth-token-resource.id http_method = aws_api_gateway_method.method.http_method status_code = "200" response_models = { "application/json" = "Empty" } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda