

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# AWS SAMCLIdengan Terraform referensi
<a name="terraform-reference"></a>

Bagian ini adalah referensi untuk menggunakan AWS Serverless Application Model Command Line Interface (AWS SAMCLI) dengan Terraform untuk debugging dan pengujian lokal.

Untuk memberikan umpan balik dan mengirimkan permintaan fitur, buat [GitHubMasalah](https://github.com/aws/aws-sam-cli/issues/new?labels=area%2Fterraform).

## AWS SAM referensi fitur yang didukung
<a name="terraform-reference-sam"></a>

Dokumentasi referensi untuk AWS SAMCLI fitur yang didukung untuk digunakan dengan Terraform dapat ditemukan di sini:
+ [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)

## Terraformreferensi khusus
<a name="terraform-reference-specific"></a>

Dokumentasi referensi khusus untuk digunakan AWS SAMCLI dengan Terraform dapat ditemukan di sini:
+ [sumber daya metadata sam](terraform-sam-metadata.md)

# sumber daya metadata sam
<a name="terraform-sam-metadata"></a>

Halaman ini berisi informasi referensi untuk jenis **sam metadata resource** sumber daya yang digunakan dengan Terraform proyek.
+ Untuk pengenalan menggunakan AWS Serverless Application Model Command Line Interface (AWS SAMCLI) denganTerraform, lihat[Untuk apa AWS SAMCLI dukunganTerraform?](terraform-support.md#what-is-terraform-support).
+ Untuk menggunakan AWS SAMCLI denganTerraform, lihat[Menggunakan AWS SAMCLI with Terraform untuk debugging dan pengujian lokal](using-samcli-terraform.md).

**Topics**
+ [Argumen](#terraform-sam-metadata-arguments)
+ [Contoh](#terraform-sam-metadata-examples)

## Argumen
<a name="terraform-sam-metadata-arguments"></a>


****  

| Pendapat | Deskripsi | 
| --- | --- | 
| built\$1output\$1path | Jalan menuju artefak yang dibangun AWS Lambda fungsi Anda. | 
| docker\$1build\$1args | String decoded dari objek JSON argumen build Docker. Argumen ini opsional. | 
| docker\$1context | Jalur ke direktori yang berisi konteks build image Docker. | 
| docker\$1file |  Jalur ke file Docker. Jalan ini relatif terhadap `docker_context` jalan. Argumen ini opsional. Nilai default-nya adalah `Dockerfile`.  | 
| docker\$1tag | Nilai tag gambar Docker yang dibuat. Nilai ini bersifat opsional. | 
| depends\$1on | Jalur ke sumber daya bangunan untuk fungsi atau lapisan Lambda Anda. Untuk mempelajari lebih lanjut, lihat [**depends\$1on**Argumen](https://developer.hashicorp.com/terraform/language/meta-arguments/depends_on) dalam Terraformregistri. | 
| original\$1source\$1code |  Jalur ke tempat fungsi Lambda Anda ditentukan. Nilai ini bisa berupa string, array string, atau objek JSON decoded sebagai string. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| resource\$1name | Nama fungsi Lambda. | 
| resource\$1type |  Format jenis paket fungsi Lambda Anda. Nilai yang diterima adalah: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| source\$1code\$1property | Jalur ke kode sumber daya Lambda di objek JSON. Tentukan properti ini ketika original\$1source\$1code adalah objek JSON. | 

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

### sumber daya metadata sam yang mereferensikan fungsi Lambda menggunakan jenis paket 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
  ]
}
```

### sumber daya metadata sam yang mereferensikan fungsi Lambda menggunakan jenis paket gambar
<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"
  }
}
```

### sumber daya metadata sam yang mereferensikan lapisan 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]
}
```