

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

# Membuat alur kerja pencocokan berbasis aturan dengan tipe aturan Lanjutan
<a name="rule-based-mw-advanced"></a>

**Prasyarat**

Sebelum membuat alur kerja pencocokan berbasis aturan, Anda harus:

1. Buat pemetaan skema. Untuk informasi selengkapnya, lihat [Membuat pemetaan skema](create-schema-mapping.md).

1. Jika menggunakan Profil Pelanggan Amazon Connect sebagai tujuan keluaran, pastikan izin yang sesuai telah dikonfigurasi.

Prosedur berikut menunjukkan cara membuat alur kerja pencocokan berbasis aturan dengan tipe aturan **Lanjutan** menggunakan Resolusi Entitas AWS konsol atau API. `CreateMatchingWorkflow`

------
#### [ Console ]

**Untuk membuat alur kerja pencocokan berbasis aturan dengan tipe aturan **Lanjutan** menggunakan konsol**

1. Masuk ke Konsol Manajemen AWS dan buka Resolusi Entitas AWS konsol di [https://console.aws.amazon.com/entityresolution/](https://console.aws.amazon.com/entityresolution/).

1. **Di panel navigasi kiri, di bawah **Alur Kerja**, pilih Pencocokan.**

1. Pada halaman **Pencocokan alur kerja**, di sudut kanan atas, pilih **Buat alur kerja yang cocok**.

1. Untuk **Langkah 1: Tentukan detail alur kerja yang cocok**, lakukan hal berikut: 

   1. Masukkan **nama alur kerja yang cocok** dan **deskripsi** opsional.

   1. Untuk **input Data**, pilih **AWS Glue database **Wilayah AWS****, **AWS Glue tabel**, dan kemudian **pemetaan Skema** yang sesuai.

      Anda dapat menambahkan hingga 19 input data.
**catatan**  
Untuk menggunakan aturan **Lanjutan**, pemetaan skema Anda harus memenuhi persyaratan berikut:  
Setiap bidang input harus dipetakan ke kunci pencocokan unik, kecuali jika bidang tersebut dikelompokkan bersama.
Jika kolom input dikelompokkan bersama, mereka dapat berbagi kunci kecocokan yang sama.  
Misalnya, pemetaan skema berikut akan berlaku untuk aturan **Lanjutan**:  
`firstName: { matchKey: 'name', groupName: 'name' }`  
`lastName: { matchKey: 'name', groupName: 'name' }`  
Dalam hal ini, `lastName` bidang `firstName` dan dikelompokkan bersama dan berbagi kunci pencocokan nama yang sama, yang diizinkan.  
**Tinjau pemetaan skema Anda dan perbarui agar mengikuti aturan one-to-one pencocokan ini, kecuali jika bidangnya dikelompokkan dengan benar, untuk menggunakan aturan Lanjutan.**
Jika tabel data Anda memiliki kolom DELETE, tipe pemetaan skema harus `String` dan Anda tidak dapat memiliki `matchKey` dan. `groupName` 

   1. Opsi **Normalisasi data** dipilih secara default, sehingga input data dinormalisasi sebelum pencocokan. Jika Anda tidak ingin menormalkan data, batalkan pilihan opsi **Normalisasi data**.
**catatan**  
Normalisasi hanya didukung untuk skenario berikut di **Buat pemetaan skema**:   
Jika sub-tipe **Nama** berikut dikelompokkan: **Nama depan, Nama** **tengah, **Nama** belakang**.
Jika sub-tipe **Alamat** berikut dikelompokkan: **Alamat jalan 1, Alamat** **jalan 2, Alamat** **jalan 3**, **Kota**, **Negara Bagian, **Negara****, **Kode pos**.
Jika sub-tipe **Telepon** berikut dikelompokkan: **Nomor telepon, Kode** **negara telepon**.

   1. Untuk menentukan izin **akses Layanan**, pilih opsi dan lakukan tindakan yang disarankan.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/entityresolution/latest/userguide/rule-based-mw-advanced.html)

   1. (Opsional) Untuk mengaktifkan **Tag** untuk sumber daya, pilih **Tambahkan tag baru**, lalu masukkan pasangan **Kunci** dan **Nilai**.

   1. Pilih **Berikutnya**.

1. Untuk **Langkah 2: Pilih teknik pencocokan**:

   1. Untuk **metode Pencocokan**, pilih Pencocokan **berbasis aturan**.

   1. Untuk **tipe Rule**, pilih **Advanced**.  
![Pilih layar teknik pencocokan dengan opsi pencocokan berbasis aturan lanjutan yang dipilih.](http://docs.aws.amazon.com/id_id/entityresolution/latest/userguide/images/choose-matching-method-rule-based-advanced.PNG)

   1. Untuk **Memproses irama**, pilih salah satu opsi berikut.
      + Pilih **Manual** untuk menjalankan alur kerja sesuai permintaan untuk pembaruan massal 
      + Pilih **Otomatis** untuk menjalankan alur kerja segera setelah data baru ada di bucket S3 Anda 
**catatan**  
Jika Anda memilih **Otomatis**, pastikan EventBridge notifikasi Amazon diaktifkan untuk bucket S3 Anda. Untuk petunjuk cara mengaktifkan Amazon EventBridge menggunakan konsol S3, lihat [Mengaktifkan Amazon di Panduan EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications-eventbridge.html) Pengguna Amazon *S3*.

   1. Untuk **aturan Pencocokan**, masukkan **nama Aturan** dan kemudian buat **kondisi Aturan** dengan memilih fungsi dan operator pencocokan yang sesuai dari daftar tarik-turun berdasarkan tujuan Anda.

      Anda dapat membuat hingga 25 aturan.

      ****Anda harus menggabungkan fungsi pencocokan fuzzy (**Cosine, **Levenshtein****, atau **Soundex**) dengan fungsi pencocokan yang tepat (Exact,) menggunakan operator AND. **ExactManyToMany******

      Anda dapat menggunakan tabel berikut untuk membantu menentukan jenis fungsi atau operator yang ingin Anda gunakan, tergantung pada tujuan Anda.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/entityresolution/latest/userguide/rule-based-mw-advanced.html)  
**Example Kondisi aturan yang cocok dengan nomor telepon dan email**  

      Berikut ini adalah contoh kondisi aturan yang cocok dengan catatan pada nomor telepon (Kunci pencocokan **telepon**) dan alamat email (Kunci pencocokan **alamat email**):

      `Exact(Phone,EmptyValues=Process) AND Levenshtein("Email address",2)`  
![Contoh kondisi aturan yang cocok dengan catatan pada nomor telepon dan alamat email.](http://docs.aws.amazon.com/id_id/entityresolution/latest/userguide/images/matching-rule-condition-example.png)

      Tombol pencocokan **Telepon** menggunakan fungsi pencocokan **Tepat** untuk mencocokkan string yang identik. Kunci pencocokan **Telepon** memproses nilai kosong dalam pencocokan menggunakan **EmptyValues=Process modifier**.

      Kunci pencocokan **alamat Email** menggunakan fungsi pencocokan **Levenshtein** untuk mencocokkan data dengan kesalahan ejaan menggunakan ambang algoritma Levenshtein Distance default 2. Tombol pencocokan **Email** tidak menggunakan pengubah opsional apa pun.

      Operator **AND** menggabungkan fungsi pencocokan **Exact** dan fungsi pencocokan **Levenshtein**.  
**Example Kondisi aturan yang digunakan ExactManyToMany untuk melakukan pencocokan matchkey**  

      Berikut ini adalah contoh kondisi aturan yang cocok dengan catatan pada tiga bidang alamat (kunci pencocokan, kunci **HomeAddress**BillingAddress****pencocokan, dan kunci **ShippingAddress**kecocokan untuk menemukan kecocokan potensial dengan memeriksa apakah ada di antara mereka yang memiliki nilai yang identik. 

      `ExactManyToMany`Operator mengevaluasi semua kemungkinan kombinasi bidang alamat yang ditentukan untuk mengidentifikasi kecocokan yang tepat antara dua atau lebih alamat. Misalnya, itu akan mendeteksi apakah `HomeAddress` cocok dengan `BillingAddress` atau`ShippingAddress`, atau jika ketiga alamat sama persis.

      ```
      ExactManyToMany(HomeAddress, BillingAddress, ShippingAddress)
      ```  
**Example Kondisi aturan yang menggunakan pengelompokan**  

      Dalam Advanced Rule Based Matching dengan kondisi fuzzy, sistem pertama-tama mengelompokkan catatan ke dalam cluster berdasarkan kecocokan yang tepat. Setelah cluster awal ini terbentuk, sistem menerapkan filter pencocokan fuzzy untuk mengidentifikasi kecocokan tambahan dalam setiap cluster. Untuk kinerja optimal, Anda harus memilih kondisi pencocokan tepat berdasarkan pola data Anda untuk membuat klaster awal yang terdefinisi dengan baik. 

      Berikut ini adalah contoh kondisi aturan yang menggabungkan beberapa kecocokan tepat dengan persyaratan kecocokan fuzzy. Ini menggunakan `AND` operator untuk memeriksa bahwa tiga bidang —`FullName`, Tanggal Lahir (`DOB`), dan `Address` — cocok persis di antara catatan. Hal ini juga memungkinkan untuk variasi kecil di `InternalID` lapangan menggunakan jarak Levenshtein. `1` Jarak Levenshtein mengukur jumlah minimum pengeditan karakter tunggal yang diperlukan untuk mengubah satu string menjadi string lainnya. Jarak 1 berarti akan cocok `InternalIDs` yang berbeda hanya dengan satu karakter (seperti salah ketik tunggal, penghapusan, atau penyisipan). Kombinasi kondisi ini membantu mengidentifikasi catatan yang sangat mungkin mewakili entitas yang sama, bahkan jika ada perbedaan kecil dalam pengenal.

      ```
      Exact(FullName) AND Exact(DOB) AND Exact(Address) and Levenshtein(InternalID, 1)
      ```

   1. Pilih **Berikutnya**.

1. Untuk **Langkah 3: Tentukan output dan format data**:

   1. **Untuk **tujuan dan format keluaran Data**, pilih **lokasi Amazon S3** untuk output data dan apakah **format Data akan dinormalisasi data** **atau Data asli**.**

   1. Untuk **Enkripsi**, jika Anda memilih untuk **menyesuaikan pengaturan enkripsi**, masukkan **AWS KMS kunci** ARN.

   1. Lihat **output yang dihasilkan Sistem**.

   1. Untuk **keluaran Data**, tentukan bidang mana yang ingin Anda sertakan, sembunyikan, atau tutupi, lalu lakukan tindakan yang disarankan berdasarkan sasaran Anda.     
[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/entityresolution/latest/userguide/rule-based-mw-advanced.html)

   1. Pilih **Berikutnya**.

1. Untuk **Langkah 4: Tinjau dan buat**:

   1. Tinjau pilihan yang Anda buat untuk langkah-langkah sebelumnya dan edit jika perlu.

   1. Pilih **Buat dan jalankan**.

      Sebuah pesan muncul, menunjukkan bahwa alur kerja yang cocok telah dibuat dan bahwa pekerjaan telah dimulai.

1. Pada halaman detail alur kerja yang cocok, pada tab **Metrik**, lihat yang berikut ini di bawah Metrik **pekerjaan terakhir**:
   + **ID Job**. 
   + **Status** ****pekerjaan alur kerja yang cocok: **Antrian, **Sedang berlangsung**, Selesai**, Gagal**** 
   + **Waktu selesai** untuk pekerjaan alur kerja.
   + Jumlah **Rekaman yang diproses**. 
   + Jumlah **Rekaman yang tidak diproses**. 
   + **Pertandingan Unik IDs yang dihasilkan**.
   + Jumlah **catatan Input**.

   Anda juga dapat melihat metrik pekerjaan untuk mencocokkan pekerjaan alur kerja yang sebelumnya telah dijalankan di bawah riwayat **Job**.

1. Setelah pekerjaan alur kerja yang cocok **selesai (**Status** Selesai**), Anda dapat pergi ke tab **Output data** dan kemudian pilih lokasi **Amazon S3** Anda untuk melihat hasilnya.

1. (Hanya jenis pemrosesan **manual**) Jika Anda telah membuat alur kerja **pencocokan berbasis Aturan** dengan jenis pemrosesan **Manual**, Anda dapat menjalankan alur kerja yang cocok kapan saja dengan memilih Jalankan alur kerja pada **halaman detail alur kerja yang cocok**.

1. (Hanya jenis pemrosesan **otomatis**) Jika tabel data Anda memiliki kolom DELETE, maka: 
   + Rekaman yang disetel ke {{true}} dalam kolom DELETE akan dihapus.
   + Rekaman yang disetel ke {{false}} dalam kolom DELETE dicerna ke dalam S3.

   Untuk informasi selengkapnya, lihat [Langkah 1: Siapkan tabel data pihak pertama](prepare-input-data.md#prepare-first-party-tables).

------
#### [ API ]

**Untuk membuat alur kerja pencocokan berbasis aturan dengan tipe aturan **Lanjutan** menggunakan API**
**catatan**  
Secara default, alur kerja menggunakan pemrosesan standar (batch). Untuk menggunakan inkremental (pemrosesan otomatis, Anda harus mengkonfigurasinya secara eksplisit.

1. Buka terminal atau command prompt untuk membuat permintaan API.

1. Buat permintaan POST ke titik akhir berikut: 

   ```
   /matchingworkflows
   ```

1. Di header permintaan, atur Content-type ke application/json. 
**catatan**  
Untuk daftar lengkap bahasa pemrograman yang didukung, lihat *[Referensi Resolusi Entitas AWS API](https://docs.aws.amazon.com/entityresolution/latest/apireference/Welcome.html)*. 

1. Untuk badan permintaan, berikan parameter JSON yang diperlukan berikut: 

   ```
   {
      "description": "{{string}}",
      "incrementalRunConfig": { 
         "incrementalRunType": "{{string}}"
      },
      "inputSourceConfig": [ 
         { 
            "applyNormalization": {{boolean}},
            "inputSourceARN": "{{string}}",
            "schemaName": "{{string}}"
         }
      ],
      "outputSourceConfig": [ 
         { 
            "applyNormalization": {{boolean}},
            "KMSArn": "{{string}}",
            "output": [ 
               { 
                  "hashed": boolean,
                  "name": "{{string}}"
               }
            ],
            "outputS3Path": "{{string}}"
         }
      ],
      "resolutionTechniques": { 
         "providerProperties": { 
            "intermediateSourceConfiguration": { 
               "intermediateS3Path": "{{string}}"
            },
            "providerConfiguration": {{JSON value}},
            "providerServiceArn": "{{string}}"
         },
         "resolutionType": "RULE_MATCHING",
         "ruleBasedProperties": { 
            "attributeMatchingModel": "{{string}}",
            "matchPurpose": "{{string}}",
            "rules": [ 
               { 
                  "matchingKeys": [ "{{string}}" ],
                  "ruleName": "{{string}}"
               }
            ]
         },
         "ruleConditionProperties": { 
            "rules": [ 
               { 
                  "condition": "{{string}}",
                  "ruleName": "{{string}}"
               }
            ]
         }
      },
      "roleArn": "{{string}}",
      "tags": { 
         "string" : "{{string}}" 
      },
      "workflowName": "{{{{string}}}}"
   }
   ```

   Di mana:
   + `workflowName`(wajib) - Harus unik dan antara 1-255 karakter yang cocok pola [A-za-Z\_0-9-] \*
   + `inputSourceConfig`(wajib) — Daftar konfigurasi sumber input 1-20
   + `outputSourceConfig`(wajib) - Tepat satu konfigurasi sumber keluaran
   + `resolutionTechniques`(required) - Setel ke “RULE\_MATCHING” sebagai resolutionType untuk pencocokan berbasis aturan
   + `roleArn`(wajib) - ARN peran IAM untuk eksekusi alur kerja
   + `ruleConditionProperties`(wajib) - Daftar kondisi aturan dan nama aturan yang cocok.

   Parameter opsional meliputi:
   + `description`— Hingga 255 karakter
   + `incrementalRunConfig`— Konfigurasi tipe run inkremental
   + `tags`— Hingga 200 pasangan nilai kunci

1. (Opsional) Untuk menggunakan pemrosesan inkremental alih-alih pemrosesan standar (batch) default, tambahkan parameter berikut ke badan permintaan: 

   ```
   "incrementalRunConfig": {
      "incrementalRunType": "AUTOMATIC"
   }
   ```

1. Kirim permintaan .

1. Jika berhasil, Anda akan menerima respons dengan kode status 200 dan badan JSON yang berisi: 

   ```
   {
      "workflowArn": "string",
      "workflowName": "string",
      // Plus all configured workflow details
   }
   ```

1. Jika panggilan tidak berhasil, Anda mungkin menerima salah satu kesalahan berikut:
   + 400 - ConflictException jika nama alur kerja sudah ada
   + 400 - ValidationException jika input gagal validasi
   + 402 - ExceedsLimitException jika batas akun terlampaui
   + 403 - AccessDeniedException jika Anda tidak memiliki akses yang memadai
   + 429 - ThrottlingException jika permintaan dibatasi
   + 500 - InternalServerException jika ada kegagalan layanan internal

------