

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

# Acara Fanout Amazon SNS AWS ke Event Fork Pipelines
<a name="sns-fork-pipeline-as-subscriber"></a>


|  | 
| --- |
| Untuk pengarsipan dan analitik acara, Amazon SNS sekarang merekomendasikan penggunaan integrasi aslinya dengan Amazon Data Firehose. Anda dapat berlangganan aliran pengiriman Firehose ke topik SNS, yang memungkinkan Anda mengirim pemberitahuan ke titik akhir pengarsipan dan analitik seperti bucket Amazon Simple Storage Service (Amazon S3), tabel Amazon Redshift, Amazon Service (Service), dan banyak lagi. OpenSearch OpenSearch Menggunakan Amazon SNS dengan aliran pengiriman Firehose adalah solusi yang dikelola sepenuhnya dan tanpa kode yang tidak mengharuskan Anda menggunakan fungsi. AWS Lambda Untuk informasi selengkapnya, lihat [Aliran pengiriman Fanout ke Firehose](sns-firehose-as-subscriber.md). | 

Anda dapat menggunakan Amazon SNS untuk membangun aplikasi yang digerakkan peristiwa yang menggunakan layanan pelanggan untuk melakukan pekerjaan secara otomatis sebagai respons terhadap peristiwa dipicu oleh layanan penerbit. Pola arsitektur ini dapat membuat layanan lebih dapat digunakan kembali, dapat dioperasikan, dan dapat diskalakan. Namun demikian, pola tersebut dapat menjadi padat karya untuk fork pemrosesan peristiwa ke dalam alur yang mengatasi persyaratan penanganan peristiwa umum, seperti penyimpanan peristiwa, cadangan, pencarian, analitik, dan ulangan.

Untuk mempercepat pengembangan aplikasi berbasis peristiwa, Anda dapat berlangganan pipeline penanganan acara—yang didukung oleh pipa Event AWS Fork— ke topik Amazon SNS. AWS Event Fork Pipelines adalah rangkaian [aplikasi bersarang sumber terbuka, berdasarkan Model Aplikasi AWS](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html) [Tanpa Server](https://aws.amazon.com/serverless/sam/) (AWS SAM), yang dapat Anda gunakan langsung dari [rangkaian AWS Event Fork Pipelines](https://serverlessrepo.aws.amazon.com/applications?query=aws-event-fork-pipelines) (pilih **Tampilkan aplikasi yang membuat peran IAM kustom** atau kebijakan sumber daya) ke akun Anda. AWS 

Untuk kasus penggunaan AWS Event Fork Pipelines, lihat[Menyebarkan dan menguji aplikasi sampel pipeline fork event Amazon SNS](sns-deploy-test-fork-pipelines-sample-application.md).

**Topics**
+ [Bagaimana AWS Event Fork Pipelines bekerja](#how-sns-fork-works)
+ [Menyebarkan Pipa Garpu AWS Acara](#deploying-sns-fork-pipelines)
+ [Menyebarkan dan menguji aplikasi sampel pipeline fork event Amazon SNS](sns-deploy-test-fork-pipelines-sample-application.md)
+ [Berlangganan AWS Event Fork Pipelines ke topik Amazon SNS](sns-subscribe-event-fork-pipelines.md)

## Bagaimana AWS Event Fork Pipelines bekerja
<a name="how-sns-fork-works"></a>

AWS Event Fork Pipelines adalah pola desain tanpa server. Namun, ini juga merupakan rangkaian aplikasi tanpa server bersarang berdasarkan AWS SAM (yang dapat Anda terapkan langsung dari AWS Serverless Application Repository (AWS SAR) ke Anda untuk memperkaya platform berbasis peristiwa Anda Akun AWS ). Anda dapat men-deploy aplikasi bersarang tersebut secara individual, sesuai kebutuhan arsitektur Anda.

**Topics**
+ [Penyimpanan peristiwa dan alur cadangan](#sns-fork-event-storage-and-backup-pipeline)
+ [Pencarian peristiwa dan alur analitik](#sns-fork-event-search-and-analytics-pipeline)
+ [Alur ulangan peristiwa](#sns-fork-event-replay-pipeline)

Diagram berikut menunjukkan aplikasi AWS Event Fork Pipelines yang dilengkapi dengan tiga aplikasi bersarang. Anda dapat menyebarkan saluran pipa apa pun dari rangkaian AWS Event Fork Pipelines di AWS SAR secara independen, sesuai kebutuhan arsitektur Anda.

![\[Arsitektur AWS Event Fork Pipelines, menunjukkan bagaimana peristiwa dari topik Amazon SNS difilter dan diproses melalui tiga pipeline yang berbeda: Penyimpanan dan Pencadangan Acara, Pencarian Acara dan Analisis, dan Pemutaran Ulang Acara. Saluran pipa ini digambarkan sebagai kotak yang ditumpuk secara vertikal, masing-masing secara independen memproses peristiwa secara paralel dari topik Amazon SNS yang sama.\]](http://docs.aws.amazon.com/id_id/sns/latest/dg/images/sns-fork-pipeline-as-subscriber-how-it-works.png)


Setiap alur berlangganan pada topik Amazon SNS yang sama, yang mengizinkan dirinya sendiri untuk memproses peristiwa secara paralel saat peristiwa tersebut diterbitkan untuk topik. Setiap alur bersifat independen dan dapat mengatur [Kebijakan Filter Berlangganan](sns-subscription-filter-policies.md) miliknya sendiri. Hal ini mengizinkan alur untuk memproses hanya subset dari peristiwa yang menjadi perhatian (bukan semua peristiwa yang diterbitkan untuk topik).

**catatan**  
Karena Anda menempatkan tiga AWS Event Fork Pipelines di samping pipeline pemrosesan acara reguler Anda (mungkin sudah berlangganan topik Amazon SNS Anda), Anda tidak perlu mengubah bagian mana pun dari penerbit pesan Anda saat ini untuk memanfaatkan AWS Event Fork Pipelines di beban kerja yang ada.

### Penyimpanan peristiwa dan alur cadangan
<a name="sns-fork-event-storage-and-backup-pipeline"></a>

Diagram berikut menunjukkan [Penyimpanan Peristiwa dan Alur Cadangan](https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrepo:us-east-1:077246666028:applications~fork-event-storage-backup-pipeline). Anda dapat berlangganan alur ini untuk topik Amazon SNS Anda untuk secara otomatis membuat cadangan peristiwa yang mengalir melalui sistem Anda.

Pipeline ini terdiri dari antrian Amazon SQS yang menyangga peristiwa yang dikirimkan oleh topik Amazon SNS, fungsi yang secara otomatis AWS Lambda melakukan polling untuk peristiwa ini dalam antrian dan mendorongnya ke aliran, dan bucket Amazon S3 yang secara tahan lama mencadangkan peristiwa yang dimuat oleh aliran. 

![\[Fork-Event-Storage-Backup-Pipeline, yang dirancang untuk memproses dan mencadangkan acara dari topik Amazon SNS. Alur dimulai dengan topik Amazon SNS dari mana acara disebarkan ke antrian Amazon SQS. Peristiwa yang difilter ini kemudian diproses oleh fungsi Lambda, yang meneruskannya ke Firehose Data. Aliran Firehose bertanggung jawab untuk menyangga, mengubah, dan mengompresi peristiwa sebelum memuatnya ke dalam bucket cadangan Amazon S3. Terakhir, Amazon Athena dapat digunakan untuk menanyakan data yang disimpan. Diagram menggunakan serangkaian ikon dan panah untuk menggambarkan aliran dari satu layanan ke layanan berikutnya, dengan jelas memberi label pada setiap komponen pipa.\]](http://docs.aws.amazon.com/id_id/sns/latest/dg/images/sns-fork-event-storage-and-backup-pipeline.png)


Untuk penyetelan halus perilaku pengaliran Firehose Anda, Anda dapat mengonfigurasinya untuk membuffer, mengubah, dan mengompres peristiwa Anda sebelum memuatnya ke dalam bucket. Saat peristiwa dimuat, Anda dapat menggunakan Amazon Athena untuk kueri bucket menggunakan kueri SQL standar. Anda juga dapat mengonfigurasi alur untuk menggunakan kembali bucket Amazon S3 yang ada atau membuat yang baru.

### Pencarian peristiwa dan alur analitik
<a name="sns-fork-event-search-and-analytics-pipeline"></a>

Diagram berikut ini menunjukkan [Pencarian Peristiwa dan Alur Analitik](https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrepo:us-east-1:077246666028:applications~fork-event-search-analytics-pipeline). Anda dapat berlangganan alur ini untuk topik Amazon SNS Anda untuk indeks peristiwa yang mengalir melalui sistem Anda dalam domain pencarian dan kemudian menjalankan analitik padanya.

Pipeline ini terdiri dari antrian Amazon SQS yang menyangga peristiwa yang dikirimkan oleh topik Amazon SNS, fungsi yang AWS Lambda melakukan polling peristiwa dari antrian dan mendorongnya ke aliran, domain OpenSearch Layanan Amazon yang mengindeks peristiwa yang dimuat oleh aliran Firehose, dan bucket Amazon S3 yang menyimpan peristiwa surat mati yang tidak dapat diindeks di domain pencarian.

![\[Event Search dan Analytics Pipeline dalam sebuah AWS arsitektur. Ini dimulai di sebelah kiri dengan topik Amazon SNS menerima semua acara. Peristiwa ini kemudian disalurkan melalui garis putus-putus yang mewakili “peristiwa yang difilter” ke dalam antrian Amazon SQS. Dari antrian, peristiwa diproses oleh fungsi Lambda yang kemudian meneruskannya ke aliran Data Firehose. Data Firehose mengarahkan peristiwa ke dua tujuan: satu rute mengarah ke Amazon Elasticsearch Service untuk pengindeksan, dan rute lainnya mengirimkan peristiwa yang tidak dapat diproses atau “surat mati” ke ember surat mati Amazon S3. Di paling kanan, output dari Layanan Elasticsearch dimasukkan ke dasbor Kibana untuk analitik dan visualisasi. Seluruh aliran ditata secara horizontal dan setiap komponen dihubungkan oleh garis yang menunjukkan arah aliran data.\]](http://docs.aws.amazon.com/id_id/sns/latest/dg/images/sns-fork-event-search-and-analytics-pipeline.png)


Untuk penyetelan halus pengaliran Firehose Anda dalam syarat buffering peristiwa, transformasi, dan kompresi, Anda dapat mengonfigurasi alur ini.

Anda juga dapat mengonfigurasi apakah pipeline harus menggunakan kembali domain yang ada di OpenSearch domain Anda Akun AWS atau membuat yang baru untuk Anda. Saat peristiwa diindeks dalam domain pencarian, Anda dapat menggunakan Kibana untuk menjalankan analitik pada peristiwa Anda dan memperbarui dasbor visual secara waktu nyata. 

### Alur ulangan peristiwa
<a name="sns-fork-event-replay-pipeline"></a>

Diagram berikut ini menunjukkan [Alur Ulangan Peristiwa](https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrepo:us-east-1:077246666028:applications~fork-event-replay-pipeline). Untuk merekam peristiwa yang telah diproses oleh sistem Anda selama 14 hari terakhir (sebagai contoh ketika platform Anda harus pulih dari kegagalan), Anda dapat berlangganan alur ini untuk topik Amazon SNS Anda dan kemudian memproses ulang peristiwa.

Pipeline ini terdiri dari antrean Amazon SQS yang menyangga peristiwa yang dikirimkan oleh topik Amazon SNS, dan fungsi yang melakukan polling peristiwa dari AWS Lambda antrian dan memindahkannya kembali ke pipeline pemrosesan acara reguler Anda, yang juga berlangganan topik Anda.

![\[Event Replay Pipeline dalam format flowchart. Dari kiri ke kanan, dimulai dengan topik Amazon SNS yang mendistribusikan peristiwa yang difilter ke dua proses paralel. Alur atas mewakili pipeline pemrosesan peristiwa reguler Anda, yang mencakup antrean Amazon SQS yang memproses peristiwa. Aliran yang lebih rendah, diberi label sebagai "fork-event-replay-pipeline,” termasuk antrean pemutaran ulang Amazon SQS di mana peristiwa disimpan sementara sebelum diproses oleh fungsi replay Lambda. Fungsi Lambda ini memiliki kemampuan untuk mengarahkan ulang peristiwa ke dalam pipeline pemrosesan acara reguler Anda atau menahannya untuk diputar ulang, berdasarkan apakah fitur pemutaran ulang diaktifkan atau dinonaktifkan. Diagram juga menunjukkan bahwa operator memiliki kontrol atas mengaktifkan atau menonaktifkan fungsi pemutaran ulang acara.\]](http://docs.aws.amazon.com/id_id/sns/latest/dg/images/sns-fork-event-replay-pipeline.png)


**catatan**  
Secara default, fungsi ulangan dinonaktifkan, tidak memindahkan kembali peristiwa Anda. Jika Anda perlu untuk memproses ulang peristiwa, Anda harus mengaktifkan antrean ulangan Amazon SQS sebagai sumber peristiwa untuk fungsi ulangan AWS Lambda .

## Menyebarkan Pipa Garpu AWS Acara
<a name="deploying-sns-fork-pipelines"></a>

[Suite AWS Event Fork Pipelines](https://serverlessrepo.aws.amazon.com/applications?query=aws-event-fork-pipelines) [(pilih **Tampilkan aplikasi yang membuat peran IAM kustom atau kebijakan sumber daya**) tersedia sebagai grup aplikasi publik di AWS Serverless Application Repository, tempat Anda dapat menerapkan dan mengujinya secara manual menggunakan konsol.AWS Lambda](https://console.aws.amazon.com/lambda/) Untuk informasi tentang penerapan pipeline menggunakan AWS Lambda konsol, lihat. [Berlangganan AWS Event Fork Pipelines ke topik Amazon SNS](sns-subscribe-event-fork-pipelines.md)

Dalam skenario produksi, kami merekomendasikan untuk menyematkan AWS Event Fork Pipelines dalam template AWS SAM aplikasi Anda secara keseluruhan. Fitur aplikasi bersarang memungkinkan Anda melakukan ini dengan menambahkan sumber daya `[AWS::Serverless::Application](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template.html#serverless-sam-template-application)` ke template AWS SAM Anda, mereferensikan AWS SAR `ApplicationId` dan aplikasi bersarang. `SemanticVersion`

Misalnya, Anda dapat menggunakan Event Storage dan Backup Pipeline sebagai aplikasi bersarang dengan menambahkan cuplikan YAMG berikut ke `Resources` bagian template SAM Anda. AWS 

```
Backup:   
    Type: AWS::Serverless::Application
  Properties:
    Location:
      ApplicationId: arn:aws:serverlessrepo:us-east-2:123456789012:applications/fork-event-storage-backup-pipeline
      SemanticVersion: 1.0.0
    Parameters: 
      #The ARN of the Amazon SNS topic whose messages should be backed up to the Amazon S3 bucket.
      TopicArn: !Ref MySNSTopic
```

Saat Anda menentukan nilai parameter, Anda dapat menggunakan fungsi AWS CloudFormation intrinsik untuk mereferensikan sumber daya lain di template Anda. Misalnya, dalam cuplikan YAMAL di atas, `TopicArn` parameter mereferensikan `[AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html)` sumber daya`MySNSTopic`, yang ditentukan di tempat lain dalam template. AWS SAM Untuk informasi selengkapnya, lihat [Referensi Fungsi Intrinsik](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) di *Panduan Pengguna AWS CloudFormation *.

**catatan**  
Halaman AWS Lambda konsol untuk aplikasi AWS SAR Anda menyertakan tombol **Salin sebagai Sumber Daya SAM**, yang menyalin YAMAL yang diperlukan untuk menyarangkan aplikasi AWS SAR ke clipboard.

# Menyebarkan dan menguji aplikasi sampel pipeline fork event Amazon SNS
<a name="sns-deploy-test-fork-pipelines-sample-application"></a>

Untuk mempercepat pengembangan aplikasi berbasis peristiwa, Anda dapat berlangganan pipeline penanganan acara—yang didukung oleh pipa Event AWS Fork— ke topik Amazon SNS. AWS Event Fork Pipelines adalah rangkaian [aplikasi bersarang sumber terbuka, berdasarkan Model Aplikasi AWS](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html) [Tanpa Server](https://aws.amazon.com/serverless/sam/) (AWS SAM), yang dapat Anda gunakan langsung dari [rangkaian AWS Event Fork Pipelines](https://serverlessrepo.aws.amazon.com/applications?query=aws-event-fork-pipelines) (pilih **Tampilkan aplikasi yang membuat peran IAM kustom** atau kebijakan sumber daya) ke akun Anda. AWS Untuk informasi selengkapnya, lihat [Bagaimana AWS Event Fork Pipelines bekerja](sns-fork-pipeline-as-subscriber.md#how-sns-fork-works).

Halaman ini menunjukkan bagaimana Anda dapat menggunakan Konsol Manajemen AWS untuk menyebarkan dan menguji aplikasi sampel AWS Event Fork Pipelines.

**penting**  
Untuk menghindari biaya yang tidak diinginkan setelah Anda selesai menerapkan aplikasi sampel AWS Event Fork Pipelines, hapus tumpukannya. CloudFormation Untuk informasi selengkapnya, lihat [Menghapus Tumpukan pada Konsol CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) di *Panduan Pengguna AWS CloudFormation *.

# AWS Contoh kasus penggunaan Event Fork Pipelines
<a name="example-sns-fork-use-case"></a>

Skenario berikut menjelaskan aplikasi e-commerce tanpa server berbasis peristiwa yang menggunakan AWS Event Fork Pipelines. Anda dapat menggunakan [contoh aplikasi e-commerce](https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrepo:us-east-1:077246666028:applications~fork-example-ecommerce-checkout-api) ini di AWS Serverless Application Repository dan kemudian menyebarkannya di AWS Lambda konsol Anda Akun AWS , di mana Anda dapat mengujinya dan memeriksa kode sumbernya. GitHub

![\[Arsitektur aplikasi e-commerce tanpa server yang terintegrasi. Layanan AWS Ini menggambarkan aliran dari pengguna e-niaga yang menempatkan pesanan melalui API Gateway ke saluran pemrosesan yang berbeda termasuk penyimpanan pesanan, analisis pencarian, dan pemutaran ulang, menampilkan bagaimana peristiwa dikelola dan dianalisis melalui Amazon SNS, Lambda, Amazon SQS, DynamoDB, dan Kibana.\]](http://docs.aws.amazon.com/id_id/sns/latest/dg/images/sns-fork-example-use-case.png)


Aplikasi e-commerce ini menerima pesanan dari pembeli melalui RESTful API yang dihosting oleh API Gateway dan didukung oleh AWS Lambda fungsi tersebut`CheckoutApiBackendFunction`. Fungsi ini menerbitkan semua pesanan yang diterima untuk topik Amazon SNS yang bernama `CheckoutEventsTopic` yang, pada gilirannya, dikeluarkan dalam pesanan menjadi empat alur yang berbeda.

Alur pertama adalah alur pemrosesan checkout reguler yang dirancang dan diimplementasikan oleh pemilik aplikasi perdagangan elektronik. Pipeline ini memiliki antrean Amazon SQS `CheckoutQueue` yang menyangga semua pesanan yang diterima, AWS Lambda fungsi bernama `CheckoutFunction` yang melakukan polling antrian untuk memproses pesanan ini, dan tabel DynamoDB yang menyimpan semua pesanan yang ditempatkan dengan aman. `CheckoutTable`

## Menerapkan Pipa Garpu AWS Acara
<a name="applying-sns-fork-pipelines"></a>

Komponen dari aplikasi perdagangan elektronik menangani logika bisnis inti. Namun demikian, pemilik aplikasi perdagangan elektronik juga perlu mengatasi hal berikut:
+ **Kepatuhan**—cadangan yang aman dan terkompresi yang dienkripsi saat tidak bergerak dan sanitasi informasi sensitif
+ **Ketahanan**—ulangan pesanan terbaru dalam kasus terganggunya proses pemenuhan
+ **Ketertelusuran**—menjalankan analitik dan membuat metrik pada pesanan yang dibuat

Alih-alih menerapkan logika pemrosesan acara ini, pemilik aplikasi dapat berlangganan AWS Event Fork Pipelines ke topik `CheckoutEventsTopic` Amazon SNS
+ [Penyimpanan peristiwa dan alur cadangan](sns-fork-pipeline-as-subscriber.md#sns-fork-event-storage-and-backup-pipeline)dikonfigurasi untuk mengubah data untuk menghapus detail kartu kredit, menyangga data selama 60 detik, mengompresnya menggunakan GZIP, dan mengenkripsi menggunakan kunci yang dikelola pelanggan default untuk Amazon S3. Kunci ini dikelola oleh AWS dan didukung oleh AWS Key Management Service (AWS KMS).

  Untuk informasi selengkapnya, lihat [Memilih Amazon S3 Untuk Tujuan Anda](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-s3), [Transformasi Data Firehose Data Amazon](https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html), dan [Mengonfigurasi Pengaturan di Panduan Pengembang](https://docs.aws.amazon.com/firehose/latest/dev/create-configure.html) Amazon *Data Firehose*.
+ [Pencarian peristiwa dan alur analitik](sns-fork-pipeline-as-subscriber.md#sns-fork-event-search-and-analytics-pipeline) dikonfigurasi dengan mengindeks durasi coba lagi 30 detik, bucket untuk menyimpan pesanan yang gagal untuk diindekskan di domain pencarian, dan kebijakan filter untuk membatasi set pesanan yang diindeks.

  Untuk informasi selengkapnya, lihat [Memilih OpenSearch Layanan untuk Tujuan Anda](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-elasticsearch) di Panduan *Pengembang Amazon Data Firehose*.
+ [Alur ulangan peristiwa](sns-fork-pipeline-as-subscriber.md#sns-fork-event-replay-pipeline) dikonfigurasi dengan bagian antrean Amazon SQS dari alur pemrosesan pesanan reguler yang dirancang dan diimplementasikan oleh pemilik aplikasi perdagangan elektronik.

  Untuk informasi lebih lanjut, lihat [Antrean Nama dan URL](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-general-identifiers.html#queue-name-url) di *Panduan Developer Layanan ANtrean Sederhana Amazon*.

Kebijakan filter JSON berikut ini diatur dalam konfigurasi untuk Pencarian Peristiwa dan Alur Analitik. Ini hanya akan mencocokkan pesanan yang masuk di mana jumlah total adalah \$1100 atau lebih tinggi. Untuk informasi selengkapnya, lihat [Pemfilteran pesan Amazon SNS](sns-message-filtering.md).

```
{				
   "amount": [{ "numeric": [ ">=", 100 ] }]
}
```

Dengan menggunakan pola AWS Event Fork Pipelines, pemilik aplikasi e-commerce dapat menghindari overhead pengembangan yang sering mengikuti pengkodean logika undifferentiating untuk penanganan event. Sebagai gantinya, dia bisa menyebarkan AWS Event Fork Pipelines langsung dari AWS Serverless Application Repository ke dalam dirinya. Akun AWS

# Langkah 1: Menyebarkan contoh aplikasi Amazon SNS
<a name="deploy-sample-application"></a>

1. Masuk ke [konsol AWS Lambda](https://console.aws.amazon.com/lambda/).

1. Pada panel navigasi, pilih **Fungsi** dan kemudian pilih **Buat fungsi**.

1. Pada halaman **Buat fungsi**, lakukan hal berikut ini:

   1. Pilih **Jelajahi repositori aplikasi nirserver**, **Aplikasi publik**, **Tampilkan aplikasi yang membuat IAM role khusus atau kebijakan sumber daya**.

   1. Cari untuk `fork-example-ecommerce-checkout-api` dan kemudian pilih aplikasi.

1. Pada halaman **fork-example-ecommerce-checkout-api**, lakukan hal berikut:

   1. Di bagian **Pengaturan aplikasi**, masukkan **Nama aplikasi**(sebagai contoh, `fork-example-ecommerce-my-app`).
**catatan**  
Untuk menemukan sumber daya Anda dengan mudah nanti, simpan prefiks `fork-example-ecommerce`.
Untuk setiap deployment, nama aplikasi harus unik. Jika Anda menggunakan kembali nama aplikasi, penerapan hanya akan memperbarui CloudFormation tumpukan yang digunakan sebelumnya (bukan membuat yang baru).

   1. (Opsional) Masukkan salah satu **LogLevel**pengaturan berikut untuk eksekusi fungsi Lambda aplikasi Anda:
      + `DEBUG`
      + `ERROR`
      + `INFO` (default)
      + `WARNING`

1. Pilih **Saya mengakui bahwa aplikasi ini menciptakan IAM role kustom, kebijakan sumber daya dan men-deploy aplikasi bersarang.** dan kemudian, di bagian bawah halaman, pilih **Deploy**.

Pada **status Deployment for fork-example-ecommerce - *my-app*** page, Lambda menampilkan status **Aplikasi Anda sedang** di-deploy.

Di bagian **Sumber Daya**, CloudFormation mulai membuat tumpukan dan menampilkan status **CREATE\$1IN\$1PROGRESS** untuk setiap sumber daya. Ketika proses selesai, CloudFormation menampilkan status **CREATE\$1COMPLETE**.

**catatan**  
Mungkin perlu waktu 20-30 menit bagi semua sumber daya untuk di-deploy.

Setelah deployment selesai, Lambda menampilkan status **Aplikasi Anda telah di-deploy**.

# Langkah 2: Menjalankan aplikasi sampel terkait SNS
<a name="execute-sample-application"></a>

1. Di AWS Lambda konsol, pada panel navigasi, pilih **Aplikasi**.

1. Pada halaman **Aplikasi**, di bidang pencarian, cari untuk `serverlessrepo-fork-example-ecommerce-my-app` dan kemudian pilih aplikasi.

1. Di bagian **Sumber Daya**, lakukan hal berikut ini:

   1. Untuk menemukan sumber daya yang jenisnya **ApiGatewayRestApi**, urutkan sumber daya berdasarkan **Jenis**, misalnya`ServerlessRestApi`, lalu perluas sumber daya.

   1. **Dua sumber daya bersarang ditampilkan, dari jenis **ApiGatewayDeployment** dan ApiGateway Stage.**

   1. Salin tautan **Titik akhir Prod API** dan tambahkan `/checkout` padanya, sebagai contoh: 

      ```
      https://abcdefghij.execute-api.us-east-2.amazonaws.com/Prod/checkout
      ```

1. Salin JSON berikut ini ke file bernama `test_event.json`.

   ```
   {
      "id": 15311,
      "date": "2019-03-25T23:41:11-08:00",
      "status": "confirmed",
      "customer": {
         "id": 65144,		
   	 "quantity": 2,
         "price": 25.00,
         "subtotal": 50.00
      }]
   }
   ```

1. Untuk mengirim permintaan HTTPS ke titik akhir API Anda, lewatkan muatan peristiwa sebagai masukan dengan menjalankan perintah `curl`, sebagai contoh:

   ```
   curl -d "$(cat test_event.json)" https://abcdefghij.execute-api.us-east-2.amazonaws.com/Prod/checkout
   ```

   API mengembalikan respons kosong berikut ini, menunjukkan berhasilnya eksekusi:

   ```
   { }
   ```

# Langkah 3: Memverifikasi aplikasi Amazon SNS dan kinerja pipeline
<a name="verify-sample-application-pipelines"></a>

## Langkah 1: Memverifikasi eksekusi pipeline checkout sampel
<a name="verify-execution-checkout-pipeline"></a>

1. Masuk ke [konsol Amazon DynamoDB](https://console.aws.amazon.com/dynamodb/).

1. Pada panel navigasi, pilih **Tabel**.

1. Cari untuk `serverlessrepo-fork-example` dan pilih `CheckoutTable`.

1. Pada halaman detail tabel, pilih **Item** dan kemudian pilih item yang dibuat.

   Atribut yang tersimpan akan ditampilkan.

## Langkah 2: Memverifikasi eksekusi penyimpanan acara dan pipa cadangan
<a name="verify-execution-event-storage-backup-pipeline"></a>

1. Masuk ke [konsol Amazon S3](https://console.aws.amazon.com/s3/).

1. Pada panel navigasi, pilih **Bucket**.

1. Cari untuk `serverlessrepo-fork-example` dan kemudian pilih `CheckoutBucket`.

1. Navigasikan hierarki direktori hingga Anda menemukan file dengan ekstensi `.gz`.

1. Untuk mengunduh file, pilih **Tindakan**, **Buka**.

1. Alur dikonfigurasi dengan fungsi Lambda yang membersihkan informasi kartu kredit untuk alasan kepatuhan.

   Untuk memverifikasi bahwa muatan JSON yang disimpan tidak berisi informasi kartu kredit apa pun, dekompresi file.

## Langkah 3: Memverifikasi eksekusi pencarian acara dan pipeline analitik
<a name="verify-execution-event-search-analytics-pipeline"></a>

1. Masuk ke [konsol OpenSearch Layanan](https://console.aws.amazon.com/aos/).

1. Pada panel navigasi, di bawah **Domain saya**, pilih domain dengan prefiks `serverl-analyt`.

1. Alur dikonfigurasi dengan kebijakan filter langganan Amazon SNS yang mengatur syarat pencocokan numerik.

   ****Untuk memverifikasi bahwa acara diindeks karena mengacu pada pesanan yang nilainya lebih tinggi dari USD \$1100, pada *abcdefgh1ijk* halaman **analitik server, pilih Indeks, checkout\$1events**.****

## Langkah 4: Memverifikasi eksekusi pipeline replay acara
<a name="verify-execution-event-replay-pipeline"></a>

1. Masuk ke [konsol Amazon SQS](https://console.aws.amazon.com/sqs/).

1. Dalam daftar antrean, cari untuk `serverlessrepo-fork-example` dan pilih `ReplayQueue`.

1. Pilih **Kirim dan terima pesan**.

1. Di kotak *123ABCD4E5F6* dialog **Kirim dan terima pesan di fork-example-ecommerce -*my-app*... ReplayP- ReplayQueue -**, pilih **Poll untuk** pesan. 

1. Untuk memverifikasi bahwa peristiwa diantrekan, pilih **Detail Selengkapnya ** di samping pesan yang muncul di antrean.

# Langkah 4: Mensimulasikan masalah dan memutar ulang acara untuk pemulihan
<a name="simulate-issue-replay-events-for-recovery"></a>

## Langkah 1: Aktifkan masalah simulasi dan kirim permintaan API kedua
<a name="enable-simulated-issue-send-second-api-request"></a>

1. Masuk ke [konsol AWS Lambda](https://console.aws.amazon.com/lambda/) tersebut.

1. Pada panel navigasi, pilih **Fungsi**.

1. Cari untuk `serverlessrepo-fork-example` dan pilih `CheckoutFunction`.

1. Pada **fork-example-ecommerce- *my-app* - CheckoutFunction -*ABCDEF*...** **page, di bagian **Environment variables**, atur variabel **BUG\$1ENABLED** ke **true** dan kemudian pilih Save.**

1. Salin JSON berikut ini ke file bernama `test_event_2.json`.

   ```
   {
   	   "id": 9917,
   	   "date": "2019-03-26T21:11:10-08:00",
   	   "status": "confirmed",
   	   "customer": {
   	      "id": 56999,
   "quantity": 1,
   	      "price": 75.00,
   	      "subtotal": 75.00
   	   }]
   	}
   ```

1. Untuk mengirim permintaan HTTPS ke titik akhir API Anda, lewatkan muatan peristiwa sebagai masukan dengan menjalankan perintah `curl`, sebagai contoh:

   ```
   curl -d "$(cat test_event_2.json)" https://abcdefghij.execute-api.us-east-2.amazonaws.com/Prod/checkout
   ```

   API mengembalikan respons kosong berikut ini, menunjukkan berhasilnya eksekusi:

   ```
   { }
   ```

## Langkah 2: Verifikasi korupsi data yang disimulasikan
<a name="verify-simulated-data-corruption"></a>

1. Masuk ke [konsol Amazon DynamoDB](https://console.aws.amazon.com/dynamodb/).

1. Pada panel navigasi, pilih **Tabel**.

1. Cari untuk `serverlessrepo-fork-example` dan pilih `CheckoutTable`.

1. Pada halaman detail tabel, pilih **Item** dan kemudian pilih item yang dibuat.

   Atribut yang tersimpan ditampilkan, beberapa ditandai sebagai **RUSAK\$1**

## Langkah 3: Nonaktifkan masalah simulasi
<a name="disable-simulated-issue"></a>

1. Masuk ke [konsol AWS Lambda](https://console.aws.amazon.com/lambda/) tersebut.

1. Pada panel navigasi, pilih **Fungsi**.

1. Cari untuk `serverlessrepo-fork-example` dan pilih `CheckoutFunction`.

1. Pada **fork-example-ecommerce- *my-app* - CheckoutFunction -*ABCDEF*...** **page, di bagian **Environment variables**, atur variabel **BUG\$1ENABLED** ke **false** lalu pilih Save.**

## Langkah 4: Aktifkan replay untuk memulihkan dari masalah
<a name="enable-replay-recover-from-simulated-issue"></a>

1. Di AWS Lambda konsol, pada panel navigasi, pilih **Fungsi**.

1. Cari untuk `serverlessrepo-fork-example` dan pilih `ReplayFunction`.

1. Perluas bagian **Desainer**, pilih tile **SQS** dan kemudian, dalam bagian **SQS**, pilih **Diaktifkan**.
**catatan**  
Dibutuhkan sekitar 1 menit agar sumber peristiwa Amazon SQS memicu untuk menjadi diaktifkan.

1. Pilih **Simpan**.

1. Untuk melihat atribut yang dipulihkan, kembali ke konsol Amazon DynamoDB.

1. Untuk menonaktifkan pemutaran ulang, kembali ke AWS Lambda konsol dan nonaktifkan pemicu sumber peristiwa Amazon SQS untuk. `ReplayFunction`

# Berlangganan AWS Event Fork Pipelines ke topik Amazon SNS
<a name="sns-subscribe-event-fork-pipelines"></a>

Untuk mempercepat pengembangan aplikasi berbasis peristiwa, Anda dapat berlangganan pipeline penanganan acara—yang didukung oleh pipa Event AWS Fork— ke topik Amazon SNS. AWS Event Fork Pipelines adalah rangkaian [aplikasi bersarang sumber terbuka, berdasarkan Model Aplikasi AWS](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html) [Tanpa Server](https://aws.amazon.com/serverless/sam/) (AWS SAM), yang dapat Anda gunakan langsung dari [rangkaian AWS Event Fork Pipelines](https://serverlessrepo.aws.amazon.com/applications?query=aws-event-fork-pipelines) (pilih **Tampilkan aplikasi yang membuat peran IAM kustom** atau kebijakan sumber daya) ke akun Anda. AWS Untuk informasi selengkapnya, lihat [Bagaimana AWS Event Fork Pipelines bekerja](sns-fork-pipeline-as-subscriber.md#how-sns-fork-works).

Bagian ini menunjukkan bagaimana Anda dapat menggunakan Konsol Manajemen AWS untuk menyebarkan pipeline dan kemudian berlangganan AWS Event Fork Pipelines ke topik Amazon SNS. Sebelum Anda memulai, [buat topik Amazon SNS](sns-create-topic.md).

Untuk menghapus sumber daya yang terdiri dari pipeline, cari pipeline di halaman **Applications** di AWS Lambda konsol, perluas **bagian template SAM**, pilih **CloudFormationstack, lalu pilih Other** **Actions**, **Delete Stack**.

# Menyebarkan dan berlangganan Event Storage dan Backup Pipeline ke Amazon SNS
<a name="deploy-event-storage-backup-pipeline"></a>


|  | 
| --- |
| Untuk pengarsipan dan analitik acara, Amazon SNS sekarang merekomendasikan penggunaan integrasi aslinya dengan Amazon Data Firehose. Anda dapat berlangganan aliran pengiriman Firehose ke topik SNS, yang memungkinkan Anda mengirim pemberitahuan ke titik akhir pengarsipan dan analitik seperti bucket Amazon Simple Storage Service (Amazon S3), tabel Amazon Redshift, Amazon Service (Service), dan banyak lagi. OpenSearch OpenSearch Menggunakan Amazon SNS dengan aliran pengiriman Firehose adalah solusi yang dikelola sepenuhnya dan tanpa kode yang tidak mengharuskan Anda menggunakan fungsi. AWS Lambda Untuk informasi selengkapnya, lihat [Aliran pengiriman Fanout ke Firehose](sns-firehose-as-subscriber.md). | 

Halaman ini menunjukkan cara untuk men-deploy [Penyimpanan Peristiwa dan Alur Cadangan](sns-fork-pipeline-as-subscriber.md#sns-fork-event-storage-and-backup-pipeline) dan berlanggananlah ke topik Amazon SNS. Proses ini secara otomatis mengubah AWS SAM template yang terkait dengan pipeline menjadi CloudFormation tumpukan, dan kemudian menyebarkan tumpukan ke dalam file Anda Akun AWS. Proses ini juga menciptakan dan mengonfigurasi rangkaian sumber daya yang terdiri atas Penyimpanan Peristiwa dan Alur Cadangan, termasuk yang berikut ini:
+ Antrean Amazon SQS
+ Fungsi Lambda
+ Aliran pengiriman Firehose
+ Bucket cadangan Amazon S3

Untuk informasi selengkapnya tentang mengonfigurasi streaming dengan bucket Amazon S3 sebagai tujuan, `[S3DestinationConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_S3DestinationConfiguration.html)` lihat di Referensi API *Amazon Data Firehose*.

Untuk informasi selengkapnya tentang mengubah peristiwa dan tentang mengonfigurasi buffering peristiwa, kompresi peristiwa, dan enkripsi peristiwa, lihat [Membuat Aliran Pengiriman](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) di Panduan Pengembang Amazon *Data Firehose*.

Untuk informasi selengkapnya tentang filter peristiwa, lihat [Kebijakan filter langganan Amazon SNS](sns-subscription-filter-policies.md) dalam panduan ini.

1. Masuk ke [konsol AWS Lambda](https://console.aws.amazon.com/lambda/).

1. Pada panel navigasi, pilih **Fungsi** dan kemudian pilih **Buat fungsi**.

1. Pada halaman **Buat fungsi**, lakukan hal berikut ini:

   1. Pilih **Jelajahi repositori aplikasi nirserver**, **Aplikasi publik**, **Tampilkan aplikasi yang membuat IAM role khusus atau kebijakan sumber daya**.

   1. Cari untuk `fork-event-storage-backup-pipeline` dan kemudian pilih aplikasi.

1. Pada halaman **fork-event-storage-backup-pipeline**, lakukan hal berikut:

   1. Di bagian **Pengaturan aplikasi**, masukkan **Nama aplikasi**(sebagai contoh, `my-app-backup`).
**catatan**  
Untuk setiap deployment, nama aplikasi harus unik. Jika Anda menggunakan kembali nama aplikasi, penerapan hanya akan memperbarui CloudFormation tumpukan yang digunakan sebelumnya (bukan membuat yang baru).

   1. (Opsional) Untuk **BucketArn**, masukkan ARN bucket Amazon S3 tempat acara masuk dimuat. Jika Anda tidak memasukkan nilai, bucket Amazon S3 baru dibuat di akun Anda AWS .

   1. (Opsional) Untuk **DataTransformationFunctionArn**, masukkan ARN dari fungsi Lambda di mana peristiwa yang masuk diubah. Jika Anda tidak memasukkan nilai, pengubahan data dinonaktifkan.

   1. (Opsional) Masukkan salah satu **LogLevel**pengaturan berikut untuk eksekusi fungsi Lambda aplikasi Anda:
      + `DEBUG`
      + `ERROR`
      + `INFO` (default)
      + `WARNING`

   1. Untuk **TopicArn**, masukkan ARN dari topik Amazon SNS tempat instance pipa garpu ini akan berlangganan.

   1. (Opsional) Untuk **StreamBufferingIntervalInSeconds**dan **StreamBufferingSizeInMBs**, masukkan nilai untuk mengonfigurasi buffering peristiwa yang masuk. Jika Anda tidak memasukkan nilai berapa pun, 300 detik dan 5 MB digunakan.

   1. (Opsional) Masukkan salah satu **StreamCompressionFormat**pengaturan berikut untuk mengompresi peristiwa yang masuk:
      + `GZIP`
      + `SNAPPY`
      + `UNCOMPRESSED` (default)
      + `ZIP`

   1. (Opsional) Untuk **StreamPrefix**, masukkan awalan string untuk memberi nama file yang disimpan di bucket cadangan Amazon S3. Jika Anda tidak memasukkan nilai, prefiks tidak digunakan.

   1. (Opsional) Untuk **SubscriptionFilterPolicy**, masukkan kebijakan filter langganan Amazon SNS, dalam format JSON, yang akan digunakan untuk memfilter peristiwa yang masuk. Kebijakan filter menentukan peristiwa mana yang diindeks dalam indeks OpenSearch Layanan. Jika Anda tidak memasukkan nilai, tidak ada pemfilteran yang digunakan (semua peristiwa diindeks).

   1. (Opsional) Untuk **SubscriptionFilterPolicyScope**, masukkan string `MessageBody` atau `MessageAttributes` untuk mengaktifkan pemfilteran pesan berbasis muatan atau atribut. 

   1. Pilih **Saya mengakui bahwa aplikasi ini menciptakan IAM role kustom, kebijakan sumber daya dan men-deploy aplikasi bersarang.** dan kemudian pilih **Deploy**.

Pada **status Deployment for *my-app*** page, Lambda menampilkan status **Aplikasi Anda sedang** di-deploy.

Di bagian **Sumber Daya**, CloudFormation mulai membuat tumpukan dan menampilkan status **CREATE\$1IN\$1PROGRESS** untuk setiap sumber daya. Ketika proses selesai, CloudFormation menampilkan status **CREATE\$1COMPLETE**.

Setelah deployment selesai, Lambda menampilkan status **Aplikasi Anda telah di-deploy**.

Pesan yang dipublikasikan ke topik Amazon SNS Anda disimpan di bucket cadangan Amazon S3 yang disediakan oleh pipeline Penyimpanan Acara dan Pencadangan secara otomatis.

# Menyebarkan dan berlangganan Event Search dan Analytics Pipeline ke Amazon SNS
<a name="deploy-event-search-analytics-pipeline"></a>


|  | 
| --- |
| Untuk pengarsipan dan analitik acara, Amazon SNS sekarang merekomendasikan penggunaan integrasi aslinya dengan Amazon Data Firehose. Anda dapat berlangganan aliran pengiriman Firehose ke topik SNS, yang memungkinkan Anda mengirim pemberitahuan ke titik akhir pengarsipan dan analitik seperti bucket Amazon Simple Storage Service (Amazon S3), tabel Amazon Redshift, Amazon Service (Service), dan banyak lagi. OpenSearch OpenSearch Menggunakan Amazon SNS dengan aliran pengiriman Firehose adalah solusi yang dikelola sepenuhnya dan tanpa kode yang tidak mengharuskan Anda menggunakan fungsi. AWS Lambda Untuk informasi selengkapnya, lihat [Aliran pengiriman Fanout ke Firehose](sns-firehose-as-subscriber.md). | 

Halaman ini menunjukkan cara untuk men-deploy [Pencarian Peristiwa dan Alur Analitik](sns-fork-pipeline-as-subscriber.md#sns-fork-event-search-and-analytics-pipeline) dan berlanggananlah ke topik Amazon SNS. Proses ini secara otomatis mengubah AWS SAM template yang terkait dengan pipeline menjadi CloudFormation tumpukan, dan kemudian menyebarkan tumpukan ke dalam file Anda Akun AWS. Proses ini juga membuat dan mengonfigurasi rangkaian sumber daya yang terdiri atas Pencarian Peristiwa dan Alur Analitik, termasuk yang berikut ini:
+ Antrean Amazon SQS
+ Fungsi Lambda
+ Aliran pengiriman Firehose
+ Domain OpenSearch Layanan Amazon
+ Bucket suta mati Amazon S3

Untuk informasi selengkapnya tentang mengonfigurasi aliran dengan indeks sebagai tujuan, lihat `[ElasticsearchDestinationConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_ElasticsearchDestinationConfiguration.html)` di Referensi *Amazon Data Firehose API*.

Untuk informasi selengkapnya tentang mengubah peristiwa dan tentang mengonfigurasi buffering peristiwa, kompresi peristiwa, dan enkripsi peristiwa, lihat [Membuat Aliran Pengiriman](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) di Panduan Pengembang Amazon *Data Firehose*.

Untuk informasi selengkapnya tentang filter peristiwa, lihat [Kebijakan filter langganan Amazon SNS](sns-subscription-filter-policies.md) dalam panduan ini.

1. Masuk ke [konsol AWS Lambda](https://console.aws.amazon.com/lambda/).

1. Pada panel navigasi, pilih **Fungsi** dan kemudian pilih **Buat fungsi**.

1. Pada halaman **Buat fungsi**, lakukan hal berikut ini:

   1. Pilih **Jelajahi repositori aplikasi nirserver**, **Aplikasi publik**, **Tampilkan aplikasi yang membuat IAM role khusus atau kebijakan sumber daya**.

   1. Cari untuk `fork-event-search-analytics-pipeline` dan kemudian pilih aplikasi.

1. Pada halaman **fork-event-search-analytics-pipeline**, lakukan hal berikut:

   1. Di bagian **Pengaturan aplikasi**, masukkan **Nama aplikasi**(sebagai contoh, `my-app-search`).
**catatan**  
Untuk setiap deployment, nama aplikasi harus unik. Jika Anda menggunakan kembali nama aplikasi, penerapan hanya akan memperbarui CloudFormation tumpukan yang digunakan sebelumnya (bukan membuat yang baru).

   1. (Opsional) Untuk **DataTransformationFunctionArn**, masukkan ARN dari fungsi Lambda yang digunakan untuk mengubah peristiwa yang masuk. Jika Anda tidak memasukkan nilai, pengubahan data dinonaktifkan.

   1. (Opsional) Masukkan salah satu **LogLevel**pengaturan berikut untuk eksekusi fungsi Lambda aplikasi Anda:
      + `DEBUG`
      + `ERROR`
      + `INFO` (default)
      + `WARNING`

   1. (Opsional) Untuk **SearchDomainArn**, masukkan ARN domain OpenSearch Layanan, klaster yang mengonfigurasi fungsionalitas komputasi dan penyimpanan yang diperlukan. Jika Anda tidak memasukkan nilai, domain baru dibuat dengan konfigurasi default.

   1. Untuk **TopicArn**, masukkan ARN dari topik Amazon SNS tempat instance pipa garpu ini akan berlangganan.

   1. Untuk **SearchIndexName**, masukkan nama indeks OpenSearch Layanan untuk pencarian acara dan analitik.
**catatan**  
Kuota berikut ini berlaku untuk nama indeks:  
Tidak dapat menyertakan huruf besar
Tidak dapat menyertakan karakter berikut ini: `\ / * ? " < > | ` , #`
Tidak dapat dimulai dengan karakter berikut ini: `- + _`
Tidak boleh sebagai berikut: `. ..`
Tidak boleh lebih dari 80 karakter
Tidak boleh lebih dari 255 byte
Tidak dapat berisi titik dua (dari OpenSearch Layanan 7.0)

   1. (Opsional) Masukkan salah satu **SearchIndexRotationPeriod**pengaturan berikut untuk periode rotasi indeks OpenSearch Layanan:
      + `NoRotation` (default)
      + `OneDay`
      + `OneHour`
      + `OneMonth`
      + `OneWeek`

      Rotasi indeks menambahkan timestamp untuk nama indeks, yang memfasilitasi kedaluwarsanya data lama. 

   1. Untuk **SearchTypeName**, masukkan nama jenis OpenSearch Layanan untuk mengatur acara dalam indeks.
**catatan**  
OpenSearch Nama tipe layanan dapat berisi karakter apa pun (kecuali byte nol) tetapi tidak dapat dimulai dengan. `_`
Untuk OpenSearch Layanan 6.x, hanya ada satu jenis per indeks. Jika Anda menentukan tipe baru untuk indeks yang sudah ada yang sudah memiliki tipe lain, Firehose akan menampilkan error runtime.

   1. (Opsional) Untuk **StreamBufferingIntervalInSeconds**dan **StreamBufferingSizeInMBs**, masukkan nilai untuk mengonfigurasi buffering peristiwa yang masuk. Jika Anda tidak memasukkan nilai berapa pun, 300 detik dan 5 MB digunakan.

   1. (Opsional) Masukkan salah satu **StreamCompressionFormat**pengaturan berikut untuk mengompresi peristiwa yang masuk:
      + `GZIP`
      + `SNAPPY`
      + `UNCOMPRESSED` (default)
      + `ZIP`

   1. (Opsional) Untuk **StreamPrefix**, masukkan awalan string untuk memberi nama file yang disimpan di bucket surat mati Amazon S3. Jika Anda tidak memasukkan nilai, prefiks tidak digunakan.

   1. (Opsional) Untuk **StreamRetryDurationInSecons**, masukkan durasi coba lagi untuk kasus ketika Firehose tidak dapat mengindeks peristiwa dalam OpenSearch indeks Layanan. Jika Anda tidak memasukkan nilai, maka 300 detik akan digunakan.

   1. (Opsional) Untuk **SubscriptionFilterPolicy**, masukkan kebijakan filter langganan Amazon SNS, dalam format JSON, yang akan digunakan untuk memfilter peristiwa yang masuk. Kebijakan filter menentukan peristiwa mana yang diindeks dalam indeks OpenSearch Layanan. Jika Anda tidak memasukkan nilai, tidak ada pemfilteran yang digunakan (semua peristiwa diindeks).

   1. Pilih **Saya mengakui bahwa aplikasi ini menciptakan IAM role kustom, kebijakan sumber daya dan men-deploy aplikasi bersarang.** dan kemudian pilih **Deploy**.

Pada **status Deployment for *my-app-search*** page, Lambda menampilkan status **Aplikasi Anda sedang** di-deploy.

Di bagian **Sumber Daya**, CloudFormation mulai membuat tumpukan dan menampilkan status **CREATE\$1IN\$1PROGRESS** untuk setiap sumber daya. Ketika proses selesai, CloudFormation menampilkan status **CREATE\$1COMPLETE**.

Setelah deployment selesai, Lambda menampilkan status **Aplikasi Anda telah di-deploy**.

Pesan yang dipublikasikan ke topik Amazon SNS Anda diindeks dalam indeks OpenSearch Layanan yang disediakan oleh pipeline Event Search dan Analytics secara otomatis. Jika pipeline tidak dapat mengindeks suatu peristiwa, ia menyimpannya di ember surat mati Amazon S3.

# Menerapkan Pipeline Putar Ulang Acara dengan integrasi Amazon SNS
<a name="deploy-event-replay-pipeline"></a>

Halaman ini menunjukkan cara untuk men-deploy [Alur Ulangan Peirstiwa](sns-fork-pipeline-as-subscriber.md#sns-fork-event-replay-pipeline) dan berlanggananlah ke topik Amazon SNS. Proses ini secara otomatis mengubah AWS SAM template yang terkait dengan pipeline menjadi CloudFormation tumpukan, dan kemudian menyebarkan tumpukan ke dalam file Anda Akun AWS. Proses ini juga menciptakan dan mengonfigurasi rangkaian sumber daya yang terdiri atas Alur Ulangan Peristiwa, termasuk antrean Amazon SQS dan fungsi Lambda.

Untuk informasi selengkapnya tentang filter peristiwa, lihat [Kebijakan filter langganan Amazon SNS](sns-subscription-filter-policies.md) dalam panduan ini.

1. Masuk ke [konsol AWS Lambda](https://console.aws.amazon.com/lambda/).

1. Pada panel navigasi, pilih **Fungsi** dan kemudian pilih **Buat fungsi**.

1. Pada halaman **Buat fungsi**, lakukan hal berikut ini:

   1. Pilih **Jelajahi repositori aplikasi nirserver**, **Aplikasi publik**, **Tampilkan aplikasi yang membuat IAM role khusus atau kebijakan sumber daya**.

   1. Cari untuk `fork-event-replay-pipeline` dan kemudian pilih aplikasi.

1. Pada **fork-event-replay-pipeline**halaman, lakukan hal berikut:

   1. Di bagian **Pengaturan aplikasi**, masukkan **Nama aplikasi**(sebagai contoh, `my-app-replay`).
**catatan**  
Untuk setiap deployment, nama aplikasi harus unik. Jika Anda menggunakan kembali nama aplikasi, penerapan hanya akan memperbarui CloudFormation tumpukan yang digunakan sebelumnya (bukan membuat yang baru).

   1. (Opsional) Masukkan salah satu **LogLevel**pengaturan berikut untuk eksekusi fungsi Lambda aplikasi Anda:
      + `DEBUG`
      + `ERROR`
      + `INFO` (default)
      + `WARNING`

   1. (Opsional) Untuk **ReplayQueueRetentionPeriodInSeconds**, masukkan jumlah waktu, dalam detik, di mana antrean pemutaran ulang Amazon SQS menyimpan pesan. Jika Anda tidak memasukkan nilai, 1.209.600 detik (14 hari) akan digunakan.

   1. Untuk **TopicArn**, masukkan ARN dari topik Amazon SNS tempat instance pipa garpu ini akan berlangganan.

   1. Untuk **DestinationQueueName**, masukkan nama antrean Amazon SQS tempat fungsi replay Lambda meneruskan pesan.

   1. (Opsional) Untuk **SubscriptionFilterPolicy**, masukkan kebijakan filter langganan Amazon SNS, dalam format JSON, yang akan digunakan untuk memfilter peristiwa yang masuk. Kebijakan filter memutuskan peristiwa mana yang akan dibuffer untuk ulangan. Jika Anda tidak memasukkan nilai, tidak ada pemfilteran digunakan (semua peristiwa dibuffer untuk ulangan).

   1. Pilih **Saya mengakui bahwa aplikasi ini menciptakan IAM role kustom, kebijakan sumber daya dan men-deploy aplikasi bersarang.** dan kemudian pilih **Deploy**.

Pada **status Deployment for *my-app-replay*** page, Lambda menampilkan status **Aplikasi Anda sedang** di-deploy.

Di bagian **Sumber Daya**, CloudFormation mulai membuat tumpukan dan menampilkan status **CREATE\$1IN\$1PROGRESS** untuk setiap sumber daya. Ketika proses selesai, CloudFormation menampilkan status **CREATE\$1COMPLETE**.

Setelah deployment selesai, Lambda menampilkan status **Aplikasi Anda telah di-deploy**.

Pesan yang diterbitkan ke topik Amazon SNS Anda dibuffer untuk ulangan di antrean Amazon SQS yang ditetapkan oleh Alur Ulangan Peristiwa secara otomatis.

**catatan**  
Secara default, ulangan dinonaktifkan. Untuk mengaktifkan ulangan, navigasikan ke halaman fungsi pada konsol Lambda, perluas bagian **Desainer**, pilih tile **SQS** dan kemudian, dalam bagian **SQS**, pilih **Diaktifkan**.