ressource de métadonnées sam - AWS Serverless Application Model

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

ressource de métadonnées sam

Cette page contient des informations de référence pour le type de sam metadata resource ressource utilisé avec Terraform projets.

Arguments

Argument Description
built_output_path Le chemin d'accès aux artefacts créés par votre AWS Lambda fonction.
docker_build_args Chaîne décodée de l'objet Docker build argumentsJSON. Cet argument est facultatif.
docker_context Chemin d'accès au répertoire contenant le contexte de création de l'image Docker.
docker_file

Chemin d'accès au fichier Docker. Ce chemin d'accès est relatif au chemin docker_context.

Cet argument est facultatif. La valeur par défaut est Dockerfile.

docker_tag La valeur de la balise d'image Docker créée. Cette valeur est facultative.
depends_on Le chemin d'accès à la ressource de création pour votre fonction ou couche Lambda. Pour en savoir plus, voir L'depends_onargument présenté dans le Terraform registre.
original_source_code

Le chemin d'accès vers l'emplacement de définition de votre fonction Lambda. Cette valeur peut être une chaîne, un tableau de chaînes ou un JSON objet décodé sous forme de chaîne.

  • Pour les tableaux de chaînes, seule la première valeur est utilisée, car les chemins de code multiples ne sont pas pris en charge.

  • Pour JSON les objets, ils source_code_property doivent également être définis.

resource_name Nom de la fonction Lambda.
resource_type

Format du type de package de votre fonction Lambda. Les valeurs acceptées sont :

  • IMAGE_LAMBDA_FUNCTION

  • LAMBDA_LAYER

  • ZIP_LAMBDA_FUNCTION

source_code_property Le chemin d'accès au code de ressource Lambda dans l'JSONobjet. Définissez cette propriété lorsqu'il original_source_code s'agit d'un JSON objet.

Exemples

ressource de métadonnées sam référençant une fonction Lambda à l'aide ZIP du type de package

# Lambda function resource resource "aws_lambda_function" "tf_lambda_func" { filename = "${path.module}/python/hello-world.zip" handler = "index.lambda_handler" runtime = "python3.8" function_name = "function_example" role = aws_iam_role.iam_for_lambda.arn depends_on = [ null_resource.build_lambda_function # function build logic ] } # sam metadata resource resource "null_resource" "sam_metadata_function_example" { triggers = { resource_name = "aws_lambda_function.function_example" resource_type = "ZIP_LAMBDA_FUNCTION" original_source_code = "${path.module}/python" built_output_path = "${path.module}/building/function_example" } depends_on = [ null_resource.build_lambda_function # function build logic ] }

ressource de métadonnées sam faisant référence à une fonction Lambda utilisant le type de package image

resource "null_resource" "sam_metadata_function { triggers = { resource_name = "aws_lambda_function.image_function" resource_type = "IMAGE_LAMBDA_FUNCTION" docker_context = local.lambda_src_path docker_file = "Dockerfile" docker_build_args = jsonencode(var.build_args) docker_tag = "latest" } }

ressource de métadonnées sam faisant référence à une couche Lambda

resource "null_resource" "sam_metadata_layer1" { triggers = { resource_name = "aws_lambda_layer_version.layer" resource_type = "LAMBDA_LAYER" original_source_code = local.layer_src built_output_path = "${path.module}/${layer_build_path}" } depends_on = [null_resource.layer_build] }