Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

877
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda