

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

# AWS Lambda memanggil referensi tindakan
<a name="action-reference-Lambda"></a>

Memungkinkan Anda menjalankan fungsi Lambda sebagai tindakan di pipeline Anda. Menggunakan objek peristiwa yang merupakan input ke fungsi ini, fungsi memiliki akses ke konfigurasi tindakan, lokasi artefak input, lokasi artefak keluaran, dan informasi lain yang diperlukan untuk mengakses artefak. Untuk contoh peristiwa yang diteruskan ke fungsi pemanggilan Lambda, lihat. [Contoh acara JSON](#action-reference-Lambda-event) Sebagai bagian dari implementasi fungsi Lambda, harus ada panggilan ke atau. `[PutJobSuccessResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html)` `[PutJobFailureResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobFailureResult.html)` Jika tidak, eksekusi tindakan ini akan hang sampai waktu tindakan habis. Jika Anda menentukan artefak keluaran untuk tindakan, artefak tersebut harus diunggah ke bucket S3 sebagai bagian dari implementasi fungsi.

**penting**  
Jangan mencatat peristiwa JSON yang CodePipeline dikirim ke Lambda karena ini dapat mengakibatkan kredensi pengguna masuk Log. CloudWatch CodePipeline Peran tersebut menggunakan acara JSON untuk meneruskan kredensi sementara ke Lambda di lapangan. `artifactCredentials` Untuk contoh acara, lihat[Contoh acara JSON](actions-invoke-lambda-function.md#actions-invoke-lambda-function-json-event-example).

## Tipe tindakan
<a name="action-reference-Lambda-type"></a>
+ Kategori: `Invoke`
+ Pemilik: `AWS`
+ Penyedia: `Lambda`
+ Versi: `1`

## Parameter konfigurasi
<a name="action-reference-Lambda-config"></a>

**FunctionName**  
Wajib: Ya  
`FunctionName`adalah nama fungsi yang dibuat di Lambda.

**UserParameters**  
Wajib: Tidak  
String yang dapat diproses sebagai input oleh fungsi Lambda.

## Artefak masukan
<a name="action-reference-Lambda-input"></a>
+ **Jumlah Artefak:** `0 to 5`
+ **Deskripsi:** Kumpulan artefak yang akan tersedia untuk fungsi Lambda.

## Artefak keluaran
<a name="action-reference-Lambda-output"></a>
+ **Jumlah Artefak:** `0 to 5` 
+ **Deskripsi:** Kumpulan artefak yang dihasilkan sebagai output oleh fungsi Lambda.

## Variabel keluaran
<a name="action-reference-Lambda-variables"></a>

Tindakan ini akan menghasilkan sebagai variabel semua pasangan kunci-nilai yang disertakan dalam `outputVariables` bagian permintaan [PutJobSuccessResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html).

Untuk informasi lebih lanjut tentang variabel di CodePipeline, lihat[Referensi variabel](reference-variables.md).

## Contoh konfigurasi tindakan
<a name="action-reference-Lambda-example"></a>

------
#### [ YAML ]

```
Name: Lambda
Actions:
  - Name: Lambda
    ActionTypeId:
      Category: Invoke
      Owner: AWS
      Provider: Lambda
      Version: '1'
    RunOrder: 1
    Configuration:
      FunctionName: myLambdaFunction
      UserParameters: 'http://192.0.2.4'
    OutputArtifacts: []
    InputArtifacts: []
    Region: us-west-2
```

------
#### [ JSON ]

```
{
    "Name": "Lambda",
    "Actions": [
        {
            "Name": "Lambda",
            "ActionTypeId": {
                "Category": "Invoke",
                "Owner": "AWS",
                "Provider": "Lambda",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "FunctionName": "myLambdaFunction",
                "UserParameters": "http://192.0.2.4"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [],
            "Region": "us-west-2"
        }
    ]
},
```

------

## Contoh acara JSON
<a name="action-reference-Lambda-event"></a>

Tindakan Lambda mengirimkan peristiwa JSON yang berisi ID pekerjaan, konfigurasi tindakan pipeline, lokasi artefak input dan output, dan informasi enkripsi apa pun untuk artefak. Pekerja kerja mengakses detail ini untuk menyelesaikan tindakan Lambda. Untuk informasi lebih lanjut, lihat [detail pekerjaan](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_JobDetails.html). Berikut adalah contoh kasusnya.

```
{
    "CodePipeline.job": {
        "id": "11111111-abcd-1111-abcd-111111abcdef",
        "accountId": "111111111111",
        "data": {
            "actionConfiguration": {
                "configuration": {
                    "FunctionName": "MyLambdaFunction",
                    "UserParameters": "input_parameter"
                }
            },
            "inputArtifacts": [
                {
                    "location": {
                        "s3Location": {
                            "bucketName": "bucket_name",
                            "objectKey": "filename"
                        },
                        "type": "S3"
                    },
                    "revision": null,
                    "name": "ArtifactName"
                }
            ],
            "outputArtifacts": [],
            "artifactCredentials": {
                "secretAccessKey": "secret_key",
                "sessionToken": "session_token",
                "accessKeyId": "access_key_ID"
            },
            "continuationToken": "token_ID",
            "encryptionKey": { 
              "id": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
              "type": "KMS"
            }
        }
    }
}
```

Acara JSON memberikan rincian pekerjaan berikut untuk tindakan Lambda di: CodePipeline
+ `id`: ID unik yang dihasilkan sistem dari pekerjaan.
+ `accountId`: ID AWS akun yang terkait dengan pekerjaan.
+ `data`: Informasi lain yang diperlukan bagi pekerja kerja untuk menyelesaikan pekerjaan. 
  + `actionConfiguration`: Parameter tindakan untuk tindakan Lambda. Untuk definisi, lihat[Parameter konfigurasi](#action-reference-Lambda-config).
  + `inputArtifacts`: Artefak dipasok ke aksi.
    + `location`: Lokasi toko artefak.
      + `s3Location`: Informasi lokasi artefak masukan untuk tindakan.
        + `bucketName`: Nama penyimpanan artefak pipa untuk aksi (misalnya, ember Amazon S3 codepipeline-us-east bernama -2-1234567890).
        + `objectKey`: Nama aplikasi (misalnya,`CodePipelineDemoApplication.zip`).
      + `type`: Jenis artefak di lokasi. Saat ini, `S3` adalah satu-satunya jenis artefak yang valid.
    + `revision`: ID revisi artefak. Bergantung pada jenis objek, ini bisa berupa ID komit (GitHub) atau ID revisi (Amazon Simple Storage Service). Untuk informasi selengkapnya, lihat [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: Nama artefak yang akan dikerjakan, seperti`MyApp`.
  + `outputArtifacts`: Output dari tindakan.
    + `location`: Lokasi toko artefak.
      + `s3Location`: Informasi lokasi artefak keluaran untuk tindakan tersebut.
        + `bucketName`: Nama penyimpanan artefak pipa untuk aksi (misalnya, ember Amazon S3 codepipeline-us-east bernama -2-1234567890).
        + `objectKey`: Nama aplikasi (misalnya,`CodePipelineDemoApplication.zip`).
      + `type`: Jenis artefak di lokasi. Saat ini, `S3` adalah satu-satunya jenis artefak yang valid.
    + `revision`: ID revisi artefak. Bergantung pada jenis objek, ini bisa berupa ID komit (GitHub) atau ID revisi (Amazon Simple Storage Service). Untuk informasi selengkapnya, lihat [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: Nama output dari artefak, seperti`MyApp`.
  + `artifactCredentials`: Kredensi AWS sesi yang digunakan untuk mengakses artefak input dan output di bucket Amazon S3. Kredensial ini adalah kredensial sementara yang dikeluarkan oleh (). AWS Security Token Service AWS STS
    + `secretAccessKey`: Kunci akses rahasia untuk sesi tersebut.
    + `sessionToken`: Token untuk sesi.
    + `accessKeyId`: Kunci akses rahasia untuk sesi tersebut.
  + `continuationToken`: Token yang dihasilkan oleh tindakan. Tindakan masa depan menggunakan token ini untuk mengidentifikasi instance tindakan yang sedang berjalan. Ketika tindakan selesai, tidak ada token kelanjutan yang harus diberikan.
  + `encryptionKey`: Kunci enkripsi yang digunakan untuk mengenkripsi data di toko artefak, seperti kunci. AWS KMS Jika ini tidak ditentukan, kunci default untuk Amazon Simple Storage Service digunakan. 
    + `id`: ID yang digunakan untuk mengidentifikasi kunci. Untuk AWS KMS kunci, Anda dapat menggunakan ID kunci, kunci ARN, atau alias ARN. 
    + `type`: Jenis kunci enkripsi, seperti AWS KMS kunci.

## Lihat juga
<a name="action-reference-Lambda-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [AWS CloudFormation Panduan Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) [— Untuk informasi selengkapnya tentang tindakan Lambda dan CloudFormation artefak untuk saluran pipa, lihat [Menggunakan Fungsi Pengganti Parameter dengan Saluran Pipa, [Mengotomatiskan Penerapan Aplikasi Berbasis Lambda, dan CodePipeline Artefak](https://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html).AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html)
+ [Memanggil AWS Lambda fungsi dalam pipeline di CodePipeline](actions-invoke-lambda-function.md)— Prosedur ini menyediakan contoh fungsi Lambda dan menunjukkan cara menggunakan konsol untuk membuat pipeline dengan tindakan pemanggilan Lambda.