

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

# Siapkan pemberitahuan FlexMatch acara
<a name="match-notification"></a>

Anda dapat menggunakan pemberitahuan acara untuk melacak status permintaan perjodohan individu. Semua game dalam produksi, atau dalam pra-produksi dengan aktivitas perjodohan volume tinggi harus menggunakan pemberitahuan acara.

Terdapat dua pilihan untuk mengatur notifikasi kejadian. 
+ Minta mak comblang mempublikasikan notifikasi acara ke topik Amazon Simple Notification Service (Amazon SNS).
+ Gunakan EventBridge acara Amazon yang dipublikasikan secara otomatis dan rangkaian alatnya untuk mengelola acara.

Untuk daftar FlexMatch peristiwa yang Amazon GameLift Servers dipancarkan, lihat[FlexMatchacara perjodohan](match-events.md).

**penting**  
Untuk sistem perjodohan volume tinggi, sebaiknya gunakan topik Amazon SNS standar (non-FIFO) daripada topik FIFO. Topik FIFO memiliki batas penerbitan yang lebih rendah daripada topik standar, yang dapat menyebabkan pengecualian pembatasan selama pemuatan tinggi. Jika Anda mengalami pembatasan dengan topik FIFO, Anda mungkin kehilangan notifikasi. FlexMatch

**catatan**  
 Amazon GameLift Serverssecara otomatis menangani kegagalan pengiriman Amazon SNS dan pembatasan dengan logika coba ulang bawaan. Saat Amazon SNS mengembalikan kesalahan pelambatan atau kegagalan sementara, Amazon GameLift Servers coba ulang pengiriman notifikasi dengan penundaan progresif di antara upaya. Ini membantu memastikan pemberitahuan acara dikirimkan dengan andal. Namun, pemberitahuan mungkin hilang jika kegagalan tetap ada setelah semua upaya coba lagi, atau untuk kesalahan yang tidak dapat dicoba ulang seperti kegagalan otorisasi atau topik yang hilang. 

**Topics**
+ [Menyiapkan EventBridge acara](#match-notification-cwe)
+ [Tutorial: Mengatur topik Amazon SNS](match-notification-sns.md)
+ [Siapkan topik SNS dengan enkripsi sisi server](queue-notification-sns-sse.md)
+ [Konfigurasikan langganan topik untuk menjalankan fungsi Lambda](match-notification-lambda.md)

## Menyiapkan EventBridge acara
<a name="match-notification-cwe"></a>

Amazon GameLift Serverssecara otomatis memposting semua acara perjodohan ke Amazon. EventBridge Dengan EventBridge, Anda dapat mengatur aturan agar acara perjodohan diarahkan ke target untuk diproses. Misalnya, Anda dapat menetapkan aturan untuk merutekan acara "PotentialMatchCreated" ke AWS Lambda fungsi yang menangani penerimaan pemain. Untuk informasi selengkapnya, lihat [Apa itu Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)

**catatan**  
Saat Anda mengonfigurasi mak comblang, biarkan bidang target notifikasi tetap kosong atau rujuk topik SNS jika Anda ingin menggunakan keduanya dan Amazon EventBridge SNS.

# Tutorial: Mengatur topik Amazon SNS
<a name="match-notification-sns"></a>

Anda dapat Amazon GameLift Servers mempublikasikan semua acara yang dihasilkan FlexMatch mak comblang ke topik Amazon SNS.

**Untuk membuat topik SNS untuk pemberitahuan Amazon GameLift Servers acara**

1. Buka [konsol Amazon SNS](https://console.aws.amazon.com/sns).

1. Di panel navigasi, pilih **Topics** (Topik).

1. Di halaman **Topics** (Topik), pilih **Create topic** (Buat topik).

1. Buat topik di konsol. Untuk informasi selengkapnya, lihat [Untuk membuat topik menggunakan](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html#create-topic-aws-console) *Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon*. Konsol Manajemen AWS

1. Pada halaman **Detail** untuk topik Anda, pilih **Edit**.

1. (Opsional) Pada halaman **Edit** untuk topik Anda, perluas **kebijakan Access**, lalu tambahkan sintaks tebal dari pernyataan kebijakan AWS Identity and Access Management (IAM) berikut ke akhir kebijakan yang ada. (Seluruh kebijakan ditampilkan di sini untuk kejelasan.) Pastikan untuk menggunakan detail Amazon Resource Name (ARN) untuk topik SNS dan Amazon GameLift Servers konfigurasi perjodohan Anda sendiri.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Id": "__default_policy_ID",
     "Statement": [
       {
         "Sid": "__default_statement_ID",
         "Effect": "Allow",
         "Principal": {
           "AWS": "*"
         },
         "Action": [
           "SNS:GetTopicAttributes",
           "SNS:SetTopicAttributes",
           "SNS:AddPermission",
           "SNS:RemovePermission",
           "SNS:DeleteTopic",
           "SNS:Subscribe",
           "SNS:ListSubscriptionsByTopic",
           "SNS:Publish"
         ],
         "Resource": "arn:aws:sns:us-east-1:111122223333:your_topic_name",
         "Condition": {
           "StringEquals": {
           "AWS:SourceAccount": "111122223333"
           }
         }
       },
       {
         "Sid": "__console_pub_0",
         "Effect": "Allow",
         "Principal": {
           "Service": "gamelift.amazonaws.com"
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-1:111122223333:your_topic_name",
         "Condition": {
           "ArnLike": {
           "aws:SourceArn": "arn:aws:gamelift:us-east-1:111122223333:matchmakingconfiguration/your_configuration_name"
           }
         }
       }
     ]
   }
   ```

------

1. Pilih **Simpan perubahan**.

# Siapkan topik SNS dengan enkripsi sisi server
<a name="queue-notification-sns-sse"></a>

Anda dapat menggunakan enkripsi sisi server (SSE) untuk menyimpan data sensitif dalam topik terenkripsi. SSE melindungi konten pesan dalam topik Amazon SNS menggunakan kunci yang dikelola AWS Key Management Service di AWS KMS(). Untuk informasi selengkapnya tentang enkripsi sisi server dengan Amazon SNS, lihat [Enkripsi saat istirahat di Panduan Pengembang Layanan Pemberitahuan](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html) *Sederhana Amazon*.

Untuk menyiapkan topik SNS dengan enkripsi sisi server, tinjau topik berikut:
+ [Membuat kunci](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) dalam *Panduan AWS Key Management Service Pengembang*
+ [Mengaktifkan SSE untuk topik di Panduan](https://docs.aws.amazon.com/sns/latest/dg/sns-enable-encryption-for-topic.html) Pengembang *Layanan Pemberitahuan Sederhana Amazon*

Saat membuat kunci KMS Anda, gunakan kebijakan kunci KMS berikut:

```
{ 
  "Effect": "Allow", 
  "Principal": { 
    "Service": "gamelift.amazonaws.com" 
  },
  "Action": [
      "kms:Decrypt",
      "kms:GenerateDataKey"
  ],
  "Resource": "*",
  "Condition": {
      "ArnLike": { 
        "aws:SourceArn": "arn:aws:gamelift:your_region:your_account:matchmakingconfiguration/your_configuration_name" 
      },
      "StringEquals": { 
        "kms:EncryptionContext:aws:sns:topicArn": "arn:aws:sns:your_region:your_account:your_sns_topic_name" 
      }
  }
}
```

# Konfigurasikan langganan topik untuk menjalankan fungsi Lambda
<a name="match-notification-lambda"></a>

Anda dapat menjalankan fungsi Lambda menggunakan notifikasi acara yang dipublikasikan ke topik Amazon SNS Anda. Saat mengonfigurasi mak comblang, pastikan untuk menetapkan target notifikasi ke ARN topik SNS Anda.

 AWS CloudFormation Template berikut mengonfigurasi langganan ke topik SNS bernama `MyFlexMatchEventTopic` untuk memanggil fungsi Lambda bernama. `FlexMatchEventHandlerLambdaFunction` Template membuat kebijakan izin IAM yang memungkinkan Amazon GameLift Servers untuk menulis ke topik SNS. Template kemudian menambahkan izin untuk topik SNS untuk menjalankan fungsi Lambda.

```
FlexMatchEventTopic:
  Type: "AWS::SNS::Topic"
  Properties:
    KmsMasterKeyId: alias/aws/sns #Enables server-side encryption on the topic using an AWS managed key 
    Subscription:
      - Endpoint: !GetAtt FlexMatchEventHandlerLambdaFunction.Arn
        Protocol: lambda
    TopicName: MyFlexMatchEventTopic

FlexMatchEventTopicPolicy:
  Type: "AWS::SNS::TopicPolicy"
  DependsOn: FlexMatchEventTopic
  Properties:
    PolicyDocument:
      Version: "2012-10-17"
      Statement:
        - Effect: Allow
          Principal:
            Service: gamelift.amazonaws.com
          Action:
            - "sns:Publish"
          Resource: !Ref FlexMatchEventTopic
    Topics:
      - Ref: FlexMatchEventTopic

FlexMatchEventHandlerLambdaPermission:
  Type: "AWS::Lambda::Permission"
  Properties:
    Action: "lambda:InvokeFunction"
    FunctionName: !Ref FlexMatchEventHandlerLambdaFunction
    Principal: sns.amazonaws.com
    SourceArn: !Ref FlexMatchEventTopic
```