

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

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

Anda menggunakan tindakan AWS Lambda penerapan untuk mengelola penerapan kode aplikasi untuk penerapan tanpa server. Anda dapat menerapkan fungsi dan menggunakan strategi penerapan untuk penyebaran lalu lintas sebagai berikut:
+ Penyebaran Canary dan linier untuk pergeseran lalu lintas
+ Semua penyebaran sekaligus

**catatan**  
Tindakan ini hanya didukung untuk pipeline tipe V2.

**Topics**
+ [Tipe tindakan](#action-reference-LambdaDeploy-type)
+ [Parameter konfigurasi](#action-reference-LambdaDeploy-parameters)
+ [Artefak masukan](#action-reference-LambdaDeploy-input)
+ [Artefak keluaran](#action-reference-LambdaDeploy-output)
+ [Variabel keluaran](#action-reference-LambdaDeploy-output-variables)
+ [Izin kebijakan peran layanan untuk tindakan penerapan Lambda](#action-reference-LambdaDeploy-permissions-action)
+ [Deklarasi tindakan](#action-reference-LambdaDeploy-example)
+ [Lihat juga](#action-reference-LambdaDeploy-links)

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

## Parameter konfigurasi
<a name="action-reference-LambdaDeploy-parameters"></a>

**FunctionName**  
Wajib: Ya  
Nama fungsi yang Anda buat di Lambda, seperti`MyLambdaFunction`.  
Anda harus sudah membuat versi.

**FunctionAlias**  
Wajib: Tidak  
Alias dari fungsi yang Anda buat di Lambda dan merupakan fungsi yang akan digunakan, seperti`live`. Alias harus ada dan memiliki satu versi di belakangnya saat eksekusi tindakan dimulai. (Ini akan menjadi versi target rollback.)  
Jika tidak disediakan, tindakan menyebarkan artefak sumber ke `$LATEST` dan membuat versi baru. Dalam kasus penggunaan ini, strategi penerapan dan opsi versi target tidak tersedia. 

**PublishedTargetVersion**  
Wajib: Tidak  
Versi Lambda Function yang diinginkan untuk FunctionAlias digunakan. Ini bisa berupa variabel tingkat pipa atau tindakan, seperti`#{variables.lambdaTargetVersion}`. Versi harus dipublikasikan saat eksekusi tindakan dimulai.  
Diperlukan jika tidak ada artefak input yang disediakan.

**DeployStrategy**  
Diperlukan: Tidak (Defaultnya adalah`AllAtOnce`)  
  
Menentukan tingkat yang diadopsi tindakan penerapan Lambda untuk mengalihkan lalu lintas dari versi asli fungsi Lambda ke versi baru. ** FunctionAlias ** Strategi penerapan yang tersedia adalah kenari atau linier. Format yang diterima:  
+ `AllAtOnce` - 

  Menggeser semua lalu lintas ke fungsi Lambda yang diperbarui sekaligus.

  Jika tidak ditentukan, default-nya adalah `AllAtOnce`.
+ `Canary10Percent5Minutes`- Menggeser 10 persen lalu lintas pada kenaikan pertama. 90 persen sisanya di-deploy lima menit kemudian.

  Nilai untuk persentase dan menit dapat diubah.
+ `Linear10PercentEvery1Minute`- Menggeser 10 persen lalu lintas setiap menit sampai semua lalu lintas bergeser.

  Nilai untuk persentase dan menit dapat diubah.
Pertimbangan berikut berlaku untuk bidang ini:  
+ Total waktu tunggu maksimum adalah 2 hari.
+ Hanya tersedia ** FunctionAlias ** bila disediakan.


**Alarm**  
Wajib: Tidak  
Daftar nama alarm yang dipisahkan koma yang dikonfigurasi untuk penerapan Lambda. Maksimal 10 alarm dapat ditambahkan. Tindakan gagal ketika alarm yang dipantau masuk ke status ALARM.

Gambar berikut menunjukkan contoh halaman Edit untuk tindakan tersebut.

![Halaman tindakan Edit untuk pipeline baru dengan tindakan penerapan Lambda](https://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/lambdadeploy-edit-screen.png)


## Artefak masukan
<a name="action-reference-LambdaDeploy-input"></a>
+ **Jumlah artefak: ** `1`
+ **Deskripsi: ** File yang disediakan, jika ada, untuk mendukung tindakan skrip selama penerapan.

## Artefak keluaran
<a name="action-reference-LambdaDeploy-output"></a>
+ **Jumlah artefak: ** `0` 
+ **Deskripsi: Artefak ** keluaran tidak berlaku untuk jenis tindakan ini.

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

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel tersebut tersedia untuk konfigurasi tindakan hilir. 

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

**FunctionVersion**  
Versi fungsi Lambda baru yang digunakan.

## Izin kebijakan peran layanan untuk tindakan penerapan Lambda
<a name="action-reference-LambdaDeploy-permissions-action"></a>

Saat CodePipeline menjalankan tindakan, peran CodePipeline layanan memerlukan izin berikut, dengan cakupan yang tepat untuk akses dengan hak istimewa paling sedikit.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "StatementForLambda",
            "Effect": "Allow",
            "Action": [
                "lambda:GetAlias",
                "lambda:GetFunctionConfiguration",
                "lambda:GetProvisionedConcurrencyConfig",
                "lambda:PublishVersion",
                "lambda:UpdateAlias",
                "lambda:UpdateFunctionCode"
            ],
            "Resource": [
                "arn:aws:lambda:us-east-1:{{111122223333}}:function:{{FunctionName}}",
                "arn:aws:lambda:us-east-1:{{111122223333}}:function:{{FunctionName}}:*"
            ]
        },
        {
            "Sid": "StatementForCloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarms"
            ],
            "Resource": [
                "arn:aws:cloudwatch:us-east-1:{{111122223333}}:alarm:{{AlarmNames}}"
            ]
        },
        {
            "Sid": "StatementForLogs1",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:{{111122223333}}:log-group:/us-east-1/codepipeline/{{pipelineName}}",
                "arn:aws:logs:us-east-1:{{111122223333}}:log-group:/us-east-1/codepipeline/{{pipelineName}}:*"
            ]
        },
        {
            "Sid": "StatementForLogs2",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:{{111122223333}}:log-group:/us-east-1/codepipeline/{{pipelineName}}:log-stream:*"
            ]
        }
    ]
}
```

------

## Deklarasi tindakan
<a name="action-reference-LambdaDeploy-example"></a>

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

```
name: Deploy
actionTypeId:
  category: Deploy
  owner: AWS
  provider: Lambda
  version: '1'
runOrder: 1
configuration:
  DeployStrategy: Canary10Percent5Minutes
  FunctionAlias: aliasV1
  FunctionName: MyLambdaFunction
outputArtifacts: []
inputArtifacts:
- name: SourceArtifact
region: us-east-1
namespace: DeployVariables
```

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

```
{
    "name": "Deploy",
    "actionTypeId": {
        "category": "Deploy",
        "owner": "AWS",
        "provider": "Lambda",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "DeployStrategy": "Canary10Percent5Minutes",
        "FunctionAlias": "aliasV1",
        "FunctionName": "MyLambdaFunction"
    },
    "outputArtifacts": [],
    "inputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "region": "us-east-1",
    "namespace": "DeployVariables"
},
```

------

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

Sumber daya terkait berikut dapat membantu Anda saat Anda mengerjakan tindakan ini.
+  [Tutorial: Penerapan fungsi Lambda dengan CodePipeline](tutorials-lambda-deploy.md)— Tutorial ini memandu Anda melalui pembuatan contoh fungsi Lambda di mana Anda akan membuat alias dan versi, menambahkan fungsi Lambda zip ke lokasi sumber Anda, dan menjalankan tindakan Lambda di pipeline Anda.