

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# AWS SAMCLIcon riferimento Terraform
<a name="terraform-reference"></a>

Questa sezione è il riferimento per l'utilizzo dell'interfaccia a riga di AWS Serverless Application Model comando (AWS SAMCLI) Terraform per il debug e il test locali.

[Per fornire feedback e inviare richieste di funzionalità, crea un problema. GitHub](https://github.com/aws/aws-sam-cli/issues/new?labels=area%2Fterraform)

## AWS SAM riferimento alle funzionalità supportate
<a name="terraform-reference-sam"></a>

La documentazione di riferimento per AWS SAMCLI le funzionalità che sono supportate per l'uso Terraform è disponibile qui:
+ [sam build](sam-cli-command-reference-sam-build.md)
+ [sam local invoke](sam-cli-command-reference-sam-local-invoke.md)
+ [sam local start-api](sam-cli-command-reference-sam-local-start-api.md)
+ [sam local start-lambda](sam-cli-command-reference-sam-local-start-lambda.md)

## Terraformriferimento specifico
<a name="terraform-reference-specific"></a>

La documentazione di riferimento specifica per l'utilizzo AWS SAMCLI con Terraform è disponibile qui:
+ [risorsa di metadati sam](terraform-sam-metadata.md)

# risorsa di metadati sam
<a name="terraform-sam-metadata"></a>

Questa pagina contiene informazioni di riferimento per il tipo di **sam metadata resource** risorsa utilizzato con Terraform i progetti.
+ Per un'introduzione all'uso dell'interfaccia a riga di AWS Serverless Application Model comando (AWS SAMCLI) conTerraform, vedere[A cosa serve AWS SAMCLI il supportoTerraform?](terraform-support.md#what-is-terraform-support).
+ Per usare AWS SAMCLI withTerraform, vedi[Utilizzo di AWS SAMCLI with Terraform per il debug e il test locali](using-samcli-terraform.md).

**Topics**
+ [Arguments (Argomenti)](#terraform-sam-metadata-arguments)
+ [Esempi](#terraform-sam-metadata-examples)

## Arguments (Argomenti)
<a name="terraform-sam-metadata-arguments"></a>


****  

| Argomento | Description | 
| --- | --- | 
| built\$1output\$1path | Il percorso verso gli artefatti incorporati della tua AWS Lambda funzione. | 
| docker\$1build\$1args | Stringa decodificata dell'oggetto JSON degli argomenti di compilazione di Docker. Questo argomento è facoltativo. | 
| docker\$1context | Il percorso della directory contenente il contesto di creazione dell'immagine Docker. | 
| docker\$1file |  Il percorso del file Docker. Questo percorso è relativo al `docker_context` percorso. Questo argomento è facoltativo. Il valore predefinito è `Dockerfile`.  | 
| docker\$1tag | Il valore del tag di immagine Docker creato. Questo valore è facoltativo. | 
| depends\$1on | Il percorso verso la risorsa di costruzione per la funzione o il layer Lambda. Per ulteriori informazioni, consulta [L'**depends\$1on**argomento](https://developer.hashicorp.com/terraform/language/meta-arguments/depends_on) nel Terraformregistro. | 
| original\$1source\$1code |  Il percorso in cui viene definita la funzione Lambda. Questo valore può essere una stringa, una matrice di stringhe o un oggetto JSON decodificato come stringa. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| resource\$1name | Il nome della funzione Lambda. | 
| resource\$1type |  Il formato del tipo di pacchetto di funzioni Lambda. I valori accettati sono: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| source\$1code\$1property | Il percorso del codice risorsa Lambda nell'oggetto JSON. Definisci questa proprietà quando original\$1source\$1code è un oggetto JSON. | 

## Esempi
<a name="terraform-sam-metadata-examples"></a>

### risorsa di metadati sam che fa riferimento a una funzione Lambda utilizzando il tipo di pacchetto ZIP
<a name="terraform-sam-metadata-examples-example1"></a>

```
# 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
  ]
}
```

### risorsa di metadati sam che fa riferimento a una funzione Lambda utilizzando il tipo di pacchetto image
<a name="terraform-sam-metadata-examples-example2"></a>

```
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"
  }
}
```

### risorsa di metadati sam che fa riferimento a un livello Lambda
<a name="terraform-sam-metadata-examples-example3"></a>

```
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]
}
```