es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La clave proporcionada no identifica un elemento en este valor de colección: terraform.

Estoy intentando implementar una función lambda utilizando Terraform, el código está escrito en Python. Aquí está el código de Terraform que lleva a cabo la operación.

data archive<em>file UpdateSeqNumInLedgerSummary {
  count       = (var.environment</em>id == var.prd_environment) ? 1 : 0
  ..
  ..
  ..
  #
}

<p>resource aws<em>lambda</em>function update<em>seqnum</em>in<em>indexedledgersummary {
  count            = (var.environment</em>id == var.prd_environment) ? 1 : 0
  ..
  ..
  ..
  #
}

Durante la implementación, también estoy intentando invocar la función lambda utilizando aws<em>lambda</em>invocation. Esto es lo que estoy haciendo:

data aws_lambda_invocation update_seqnum_invocation {
  count         = (var.environment_id == var.prd_environment) ? 1 : 0
  function_name = aws_lambda_function.update_seqnum_in_indexedledgersummary[count.index].function_name
  input = <<JSON
  {}
  JSON
}

Pero durante la implementación, obtengo el siguiente error:

Error: Invalid index

on seqnum-update.tf line 124, in data "aws<em>lambda</em>invocation" "update<em>seqnum</em>invocation":
 124:   function<em>name = aws</em>lambda<em>function.update</em>seqnum<em>in</em>indexedledgersummary[count.index].function<em>name
    |----------------
    | aws</em>lambda<em>function.update</em>seqnum<em>in</em>indexedledgersummary is empty tuple
    | count.index is 0

The given key does not identify an element in this collection value.

(La parte count.index del fragmento de la línea 124 está subrayada como la subexpresión relevante.)

¿Alguien puede ayudarme con esto?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el recurso aws_lambda_function.update_seqnum_in_indexedledgersummary no se está creando debido a la condición especificada en el parámetro de conteo. Según el código de Terraform compartido, el recurso solo se creará si var.environment_id es igual a var.prd_environment.

    Para resolver el error, es posible que desee asegurarse de que var.environment_id esté configurado en var.prd_environment o ajustar la condición de conteo de aws_lambda_function.update_seqnum_in_indexedledgersummary para crear el recurso en el entorno adecuado.

    Además, también puede verificar que la función lambda se está creando correctamente antes de invocarla utilizando aws_lambda_invocation.

Comments are closed.