

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

# Menggunakan peristiwa untuk menjalankan fungsi Lambda
<a name="configure-service-events-lambda-function"></a>

 Contoh ini menunjukkan cara mengonfigurasi EventBridge aturan yang memulai AWS Lambda fungsi saat versi paket dalam CodeArtifact repositori diterbitkan, dimodifikasi, atau dihapus. 

Untuk informasi selengkapnya, lihat [Tutorial: Menjadwalkan AWS Lambda Fungsi Menggunakan EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/run-lambda-schedule.html) di *Panduan EventBridge Pengguna Amazon*. 

**Topics**
+ [Buat EventBridge aturan](#configure-service-events-lambda-create-rule)
+ [Buat target EventBridge aturan](#configure-service-events-lambda-create-rule-target)
+ [Konfigurasikan EventBridge izin](#configure-service-events-lambda-permissions)

## Buat EventBridge aturan
<a name="configure-service-events-lambda-create-rule"></a>

 Untuk membuat aturan yang memulai fungsi Lambda, gunakan perintah `put-rule` dengan opsi `--name` dan `--event-pattern`. Pola berikut menentukan paket npm dalam cakupan `@types` di repositori apa pun dalam domain `my_domain`.

```
aws events put-rule --name "{{MyCodeArtifactRepoRule}}" --event-pattern \
  '{"source":["aws.codeartifact"],"detail-type":["CodeArtifact Package Version State Change"],
  "detail":{"domainName":["{{my_domain}}"],"domainOwner":["{{111122223333}}"],"packageNamespace":["types"],"packageFormat":["{{npm}}"]}}'
```

## Buat target EventBridge aturan
<a name="configure-service-events-lambda-create-rule-target"></a>

 Perintah berikut menambahkan target untuk aturan yang menjalankan fungsi Lambda ketika sebuah peristiwa cocok dengan aturan. Untuk parameter `arn`, tentukan Amazon Resource Name (ARN) fungsi Lambda. 

```
aws events put-targets --rule {{MyCodeArtifactRepoRule}} --targets \
  Id=1,Arn=arn:aws:lambda:{{us-west-2}}:{{111122223333}}:function:{{MyLambdaFunction}}
```

## Konfigurasikan EventBridge izin
<a name="configure-service-events-lambda-permissions"></a>

 Gunakan perintah `add-permission` untuk memberikan izin pada aturan untuk memanggil fungsi Lambda. Untuk parameter `--source-arn`, tentukan ARN aturan yang Anda buat sebelumnya dalam contoh ini. 

```
aws lambda add-permission --function-name {{MyLambdaFunction}} \\
  --statement-id {{my-statement-id}} --action 'lambda:InvokeFunction' \\
  --principal events.amazonaws.com \\
  --source-arn arn:aws:events:{{us-west-2}}:{{111122223333}}:rule/{{MyCodeArtifactRepoRule}}
```