

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. Anda dapat menerapkan fungsi dan menggunakan strategi penyebaran untuk penyebaran lalu lintas sebagai berikut:
+ Penyebaran kenari dan linier untuk perpindahan 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 fungsi yang Anda buat di Lambda dan merupakan fungsi yang akan digunakan, seperti. `live` Alias harus ada dan memiliki satu versi di belakangnya ketika 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 Fungsi Lambda yang diinginkan untuk digunakan. FunctionAlias Ini bisa berupa variabel pipeline atau level aksi, seperti`#{variables.lambdaTargetVersion}`. Versi harus dipublikasikan saat eksekusi tindakan dimulai.  
Diperlukan jika tidak ada artefak input yang disediakan.

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

  Menggeser semua lalu lintas ke fungsi Lambda yang diperbarui sekaligus.

   Jika tidak ditentukan, defaultnya 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 jika **FunctionAlias**disediakan.


**Alarm**  
Wajib: Tidak  
Daftar nama alarm yang dipisahkan koma yang dikonfigurasi untuk penyebaran Lambda. Maksimal 10 alarm dapat ditambahkan. Tindakan gagal saat 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\]](http://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 penyebaran.

## 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 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-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, yang dicakup dengan 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 bekerja dengan 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.