

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

# Langkah 3: Buat AWS AppConfig ekstensi khusus
<a name="working-with-appconfig-extensions-creating-custom-extensions"></a>



Ekstensi mendefinisikan satu atau beberapa tindakan yang dilakukannya selama AWS AppConfig alur kerja. Misalnya, `AWS AppConfig deployment events to Amazon SNS` ekstensi yang AWS ditulis menyertakan tindakan untuk mengirim pemberitahuan ke topik Amazon SNS. Setiap tindakan dipanggil baik ketika Anda berinteraksi dengan AWS AppConfig atau ketika AWS AppConfig melakukan proses atas nama Anda. Ini disebut *titik tindakan*. AWS AppConfig ekstensi mendukung poin tindakan berikut:

**Titik tindakan PRE\$1\$1**: Tindakan ekstensi yang dikonfigurasi pada titik `PRE_*` tindakan diterapkan setelah validasi permintaan, tetapi sebelum AWS AppConfig melakukan aktivitas yang sesuai dengan nama titik tindakan. Pemanggilan tindakan ini diproses pada saat yang sama sebagai permintaan. Jika lebih dari satu permintaan dibuat, pemanggilan tindakan berjalan secara berurutan. Perhatikan juga bahwa titik `PRE_*` tindakan menerima dan dapat mengubah konten konfigurasi. `PRE_*`titik tindakan juga dapat merespons kesalahan dan mencegah tindakan terjadi. 
+ `PRE_CREATE_HOSTED_CONFIGURATION_VERSION`
+ `PRE_START_DEPLOYMENT`

**ON\$1\$1 action points**: Ekstensi juga dapat berjalan secara paralel dengan AWS AppConfig alur kerja dengan menggunakan titik tindakan`ON_*`. `ON_*`titik tindakan dipanggil secara asinkron. `ON_*`titik tindakan tidak menerima isi konfigurasi. Jika ekstensi mengalami kesalahan selama titik `ON_*` tindakan, layanan mengabaikan kesalahan dan melanjutkan alur kerja.
+ `ON_DEPLOYMENT_START`
+ `ON_DEPLOYMENT_STEP`
+ `ON_DEPLOYMENT_BAKING`
+ `ON_DEPLOYMENT_COMPLETE`
+ `ON_DEPLOYMENT_ROLLED_BACK`

**Titik aksi AT\$1\$1: Tindakan** ekstensi yang dikonfigurasi pada titik `AT_*` tindakan dipanggil secara sinkron dan paralel dengan alur kerja. AWS AppConfig Jika ekstensi mengalami kesalahan selama titik `AT_*` tindakan, layanan menghentikan alur kerja dan memutar kembali penerapan.
+ `AT_DEPLOYMENT_TICK`

Titik `AT_DEPLOYMENT_TICK` tindakan mendukung integrasi pemantauan pihak ketiga. `AT_DEPLOYMENT_TICK`dipanggil selama orkestrasi pemrosesan penerapan konfigurasi. Jika Anda menggunakan solusi pemantauan pihak ketiga (misalnya, Datadog atau New Relic), Anda dapat membuat AWS AppConfig ekstensi yang memeriksa alarm di titik `AT_DEPLOYMENT_TICK` tindakan dan, sebagai pagar pembatas keselamatan, memutar kembali penerapan jika memicu alarm. 

Jika Anda menggunakan solusi pemantauan pihak ketiga seperti Datadog atau New Relic, Anda dapat membuat AWS AppConfig ekstensi yang memeriksa alarm di titik `AT_DEPLOYMENT_TICK` tindakan dan, sebagai pagar pembatas keselamatan, memutar kembali penerapan jika memicu alarm. Untuk informasi selengkapnya, lihat contoh integrasi Datadog dan New Relic berikut tentang: GitHub 
+ [Datadog](https://github.com/aws-samples/aws-appconfig-tick-extn-for-datadog)
+ [New Relic](https://github.com/aws-samples/sample-aws-appconfig-tick-extn-for-newrelic)

Untuk informasi selengkapnya tentang AWS AppConfig ekstensi, lihat topik berikut:
+ [Memperluas AWS AppConfig alur kerja menggunakan ekstensi](working-with-appconfig-extensions.md)
+ [Walkthrough: Membuat ekstensi khusus AWS AppConfig](working-with-appconfig-extensions-creating-custom.md)

**Ekstensi sampel**  
Ekstensi contoh berikut mendefinisikan satu tindakan yang memanggil titik `PRE_CREATE_HOSTED_CONFIGURATION_VERSION` tindakan. Di `Uri` bidang, tindakan menentukan Nama Sumber Daya Amazon (ARN) dari fungsi `MyS3ConfigurationBackUpExtension` Lambda yang dibuat sebelumnya dalam panduan ini. Tindakan ini juga menentukan peran asumsi AWS Identity and Access Management (IAM) ARN yang dibuat sebelumnya dalam panduan ini.

** AWS AppConfig Ekstensi sampel**

```
{
    "Name": "MySampleExtension",
    "Description": "A sample extension that backs up configurations to an S3 bucket.",
    "Actions": {
        "PRE_CREATE_HOSTED_CONFIGURATION_VERSION": [
            {
                "Name": "PreCreateHostedConfigVersionActionForS3Backup",
                "Uri": "arn:aws:lambda:aws-region:111122223333:function:MyS3ConfigurationBackUpExtension",
                "RoleArn": "arn:aws:iam::111122223333:role/ExtensionsTestRole"
            }
        ]
    },
    "Parameters" : {
        "S3_BUCKET": {
            "Required": false
        }
    }
}
```

**catatan**  
Untuk melihat sintaks permintaan dan deskripsi bidang saat membuat ekstensi, lihat [CreateExtension](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateExtension.html)topik di Referensi *AWS AppConfig API*.

**Untuk membuat ekstensi (konsol)**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. Di panel navigasi, pilih **AWS AppConfig**.

1. Pada tab **Ekstensi**, pilih **Buat ekstensi**.

1. Untuk **nama Ekstensi**, masukkan nama unik. Untuk keperluan panduan ini, masukkan. **MyS3ConfigurationBackUpExtension** Secara opsional, masukkan deskripsi.

1. Di bagian **Tindakan**, pilih **Tambahkan tindakan baru**.

1. Untuk **nama Action**, masukkan nama unik. Untuk keperluan panduan ini, masukkan. **PreCreateHostedConfigVersionActionForS3Backup** Nama ini menjelaskan titik tindakan yang digunakan oleh tindakan dan tujuan ekstensi.

1. Dalam daftar **Action point**, pilih **PRE\$1CREATE\$1HOSTED\$1CONFIGURATION\$1VERSION**.

1. Untuk **Uri**, pilih **fungsi Lambda** dan kemudian pilih fungsi dalam daftar fungsi **Lambda**. Jika Anda tidak melihat fungsi Anda, verifikasi bahwa Anda berada di tempat yang sama Wilayah AWS di mana Anda membuat fungsi.

1. Untuk **Peran IAM**, pilih peran yang Anda buat sebelumnya dalam panduan ini.

1. Di bagian **Parameter ekstensi (opsional)**, pilih **Tambahkan parameter baru**. 

1. Untuk **nama Parameter**, masukkan nama. Untuk keperluan panduan ini, masukkan. **S3\$1BUCKET**

1. Ulangi langkah 5—11 untuk membuat tindakan kedua untuk titik `PRE_START_DEPLOYMENT` tindakan.

1. Pilih **Buat ekstensi**.

# Menyesuaikan ekstensi AWS notifikasi yang ditulis
<a name="working-with-appconfig-extensions-creating-custom-notification"></a>

Anda tidak perlu membuat Lambda atau ekstensi untuk menggunakan ekstensi notifikasi yang [AWS ditulis](https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions-about-predefined.html). Anda cukup membuat asosiasi ekstensi dan kemudian melakukan operasi yang memanggil salah satu titik tindakan yang didukung. Secara default, ekstensi notifikasi yang AWS ditulis mendukung poin tindakan berikut: 
+ `ON_DEPLOYMENT_START`
+ `ON_DEPLOYMENT_COMPLETE`
+ `ON_DEPLOYMENT_ROLLED_BACK`

Jika Anda membuat versi khusus dari `AWS AppConfig deployment events to Amazon SNS` ekstensi dan `AWS AppConfig deployment events to Amazon SQS` ekstensi, Anda dapat menentukan titik tindakan yang ingin Anda terima notifikasi. 

**catatan**  
`AWS AppConfig deployment events to EventBridge`Ekstensi tidak mendukung titik `PRE_*` tindakan. Anda dapat membuat versi kustom jika Anda ingin menghapus beberapa titik tindakan default yang ditetapkan ke versi yang AWS ditulis.

Anda tidak perlu membuat fungsi Lambda jika Anda membuat versi kustom dari ekstensi notifikasi yang AWS ditulis. Anda hanya perlu menentukan Nama Sumber Daya Amazon (ARN) di `Uri` bidang untuk versi ekstensi baru.
+ Untuk ekstensi EventBridge notifikasi kustom, masukkan ARN dari peristiwa EventBridge default di bidang. `Uri`
+ Untuk ekstensi notifikasi Amazon SNS khusus, masukkan ARN topik Amazon SNS di bidang tersebut. `Uri`
+ Untuk ekstensi notifikasi Amazon SQS kustom, masukkan ARN antrean pesan Amazon SQS di bidang. `Uri`