

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

# Gunakan Amazon SNS sebagai penerima peringatan
<a name="AMP-alertmanager-receiver-createtopic"></a>

Anda dapat menggunakan topik Amazon SNS yang ada sebagai penerima peringatan untuk Amazon Managed Service for Prometheus, atau Anda dapat membuat yang baru. Kami menyarankan Anda menggunakan topik tipe **Standar**, sehingga Anda dapat meneruskan peringatan dari topik ke email, SMS, atau HTTP.

Untuk membuat topik Amazon SNS baru untuk digunakan sebagai penerima manajer peringatan, ikuti langkah-langkah di [Langkah 1: Buat](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#step-create-queue) topik. Pastikan untuk memilih **Standar** untuk jenis topik.

Jika Anda ingin menerima email setiap kali pesan dikirim ke topik Amazon SNS itu, ikuti langkah-langkah di [Langkah 2: Buat langganan ke topik tersebut](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#step-send-message).

Baik Anda menggunakan topik Amazon SNS baru atau yang sudah ada, Anda memerlukan Nama Sumber Daya Amazon (ARN) dari topik Amazon SNS Anda untuk menyelesaikan tugas-tugas berikut.

**Topics**
+ [

# Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan peringatan ke topik Amazon SNS Anda
](AMP-alertmanager-receiver-AMPpermission.md)
+ [

# Konfigurasikan pengelola peringatan untuk mengirim pesan ke topik Amazon SNS Anda
](AMP-alertmanager-receiver-config.md)
+ [

# Konfigurasikan pengelola peringatan untuk mengirim pesan ke Amazon SNS sebagai JSON
](AMP-alertmanager-receiver-JSON.md)
+ [

# Konfigurasikan Amazon SNS untuk mengirim pesan peringatan ke tujuan lain
](AMP-alertmanager-SNS-otherdestinations.md)
+ [

# Memahami aturan validasi pesan Amazon SNS
](AMP-alertmanager-receiver-validation-truncation.md)

# Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan peringatan ke topik Amazon SNS Anda
<a name="AMP-alertmanager-receiver-AMPpermission"></a>

Anda harus memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan ke topik Amazon SNS Anda. Pernyataan kebijakan berikut akan memberikan izin itu. Ini termasuk `Condition` pernyataan untuk membantu mencegah masalah keamanan yang dikenal sebagai masalah *wakil yang bingung*. `Condition`Pernyataan tersebut membatasi akses ke topik Amazon SNS untuk mengizinkan hanya operasi yang berasal dari akun khusus ini dan Layanan Terkelola Amazon untuk ruang kerja Prometheus. Untuk informasi lebih lanjut tentang masalah wakil yang membingungkan, lihat[Pencegahan "confused deputy" lintas layanan](#cross-service-confused-deputy-prevention).

**Untuk memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan ke topik Amazon SNS Anda**

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

1. Di panel navigasi, pilih **Pengguna**.

1. Pilih nama topik yang Anda gunakan dengan Amazon Managed Service untuk Prometheus.

1. Pilih **Edit**.

1. Pilih **Kebijakan akses** dan tambahkan pernyataan kebijakan berikut ke kebijakan yang ada.

   ```
   {
       "Sid": "Allow_Publish_Alarms",
       "Effect": "Allow",
       "Principal": {
           "Service": "aps.amazonaws.com"
       },
       "Action": [
           "sns:Publish",
           "sns:GetTopicAttributes"
       ],
       "Condition": {
           "ArnEquals": {
               "aws:SourceArn": "workspace_ARN"
           },
           "StringEquals": {
               "AWS:SourceAccount": "account_id"
           }
       },
       "Resource": "arn:aws:sns:region:account_id:topic_name"
   }
   ```

   [Opsional] Jika topik Amazon SNS Anda diaktifkan enkripsi sisi layanan (SSE), Anda harus mengizinkan Layanan Terkelola Amazon untuk Prometheus mengirim pesan ke topik terenkripsi ini dengan menambahkan `kms:GenerateDataKey*` dan `kms:Decrypt` izin ke kebijakan kunci kunci yang digunakan untuk mengenkripsi topik. AWS KMS 

   Misalnya, Anda dapat menambahkan yang berikut ini ke kebijakan:

   ```
   {
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "Service": "aps.amazonaws.com"
       },
       "Action": [
         "kms:GenerateDataKey*",
         "kms:Decrypt"
       ],
       "Resource": "*"
     }]
   }
   ```

   Untuk informasi selengkapnya, lihat [Izin AWS KMS untuk Topik SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#sns-what-permissions-for-sse).

1. Pilih **Simpan perubahan**.

**catatan**  
 Secara default, Amazon SNS membuat kebijakan akses dengan kondisi aktif. `AWS:SourceOwner` Untuk informasi selengkapnya, lihat [Kebijakan Akses SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html#source-account-versus-source-owner).

**catatan**  
IAM mengikuti aturan pertama [kebijakan yang paling membatasi.](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) Dalam topik SNS Anda, jika ada blok kebijakan yang lebih ketat daripada blok kebijakan Amazon SNS yang didokumentasikan, izin untuk kebijakan topik tidak diberikan. Untuk mengevaluasi kebijakan Anda dan mencari tahu apa yang telah diberikan, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html). 

## Konfigurasi topik SNS untuk wilayah keikutsertaan
<a name="AMP-alertmanager-sns-regional-config"></a>

Anda dapat menggunakan `aps.amazonaws.com` untuk mengonfigurasi topik Amazon SNS sama dengan Layanan Wilayah AWS Terkelola Amazon untuk ruang kerja Prometheus. Untuk menggunakan topik SNS dari non-opt-in Wilayah (seperti us-east-1) dengan Wilayah opt-in (seperti af-south-1), Anda perlu menggunakan format utama layanan Regional. Dalam prinsip layanan Regional, ganti *us-east-1* dengan non-opt-in Wilayah yang ingin Anda gunakan:**aps.*us-east-1*.amazonaws.com**.

Tabel berikut mencantumkan Wilayah keikutsertaan dan prinsip layanan Regional yang sesuai:


**Daerah Keikutsertaan dan prinsip layanan Regional mereka**  

| Nama wilayah | Region | Kepala layanan regional | 
| --- | --- | --- | 
| Africa (Cape Town) | af-south-1 | af-selatan-1.aps.amazonaws.com | 
| Asia Pasifik (Hong Kong) | ap-east-1 | ap-east-1.aps.amazonaws.com | 
| Asia Pasifik (Thailand) | ap-tenggara 7 | ap-tenggara 7.aps.amazonaws.com | 
| Europe (Milan) | eu-south-1 | eu-south-1.aps.amazonaws.com | 
| Europe (Zurich) | eu-central-2 | eu-central-2.aps.amazonaws.com | 
| Timur Tengah (UAE) | me-central-1 | saya-central-1.aps.amazonaws.com | 
| Asia Pasifik (Malaysia) | ap-southeast-5 | ap-southeast-5.aps.amazonaws.com | 

Untuk informasi tentang mengaktifkan Wilayah keikutsertaan, lihat [Mengelola Wilayah AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) di *Panduan Pengguna IAM* di. Referensi Umum Amazon Web

Saat mengonfigurasi topik Amazon SNS Anda untuk Wilayah keikutsertaan ini, pastikan Anda menggunakan prinsip layanan Regional yang benar untuk mengaktifkan pengiriman peringatan lintas wilayah.

## Pencegahan "confused deputy" lintas layanan
<a name="cross-service-confused-deputy-prevention"></a>

Masalah "confused deputy" adalah masalah keamanan di mana entitas yang tidak memiliki izin untuk melakukan tindakan dapat memengaruhi entitas yang memiliki hak akses lebih tinggi untuk melakukan tindakan. Pada tahun AWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (*layanan yang dipanggil*) memanggil layanan lain (*layanan yang dipanggil*). Layanan pemanggilan dapat dimanipulasi menggunakan izinnya untuk bertindak pada sumber daya pelanggan lain dengan cara yang seharusnya tidak dilakukannya kecuali bila memiliki izin untuk mengakses. Untuk mencegah hal ini, AWS menyediakan alat yang membantu Anda melindungi data untuk semua layanan dengan principal layanan yang telah diberi akses ke sumber daya di akun Anda. 

Sebaiknya gunakan kunci konteks kondisi [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)dan global dalam kebijakan sumber daya untuk membatasi izin yang diberikan Layanan Terkelola Amazon untuk Prometheus ke Amazon SNS ke sumber daya. Jika Anda menggunakan kedua kunci konteks kondisi global, `aws:SourceAccount` nilai dan akun dalam `aws:SourceArn` nilai harus menggunakan ID akun yang sama saat digunakan dalam pernyataan kebijakan yang sama.

Nilai `aws:SourceArn` harus ARN dari Amazon Managed Service untuk ruang kerja Prometheus.

Cara paling efektif untuk melindungi dari masalah "confused deputy" adalah dengan menggunakan kunci konteks kondisi global `aws:SourceArn` dengan ARN lengkap sumber daya. Jika Anda tidak mengetahui ARN lengkap sumber daya atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks `aws:SourceArn` global dengan wildcard (`*`) untuk bagian ARN yang tidak diketahui. Misalnya, `arn:aws:servicename::123456789012:*`. 

Kebijakan yang ditampilkan di [Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan peringatan ke topik Amazon SNS Anda](#AMP-alertmanager-receiver-AMPpermission) menunjukkan cara Anda dapat menggunakan kunci konteks kondisi `aws:SourceAccount` global `aws:SourceArn` dan global di Layanan Terkelola Amazon untuk Prometheus untuk mencegah masalah deputi yang membingungkan.

# Konfigurasikan pengelola peringatan untuk mengirim pesan ke topik Amazon SNS Anda
<a name="AMP-alertmanager-receiver-config"></a>

Setelah memiliki topik Amazon SNS tipe **Standar** (baru atau yang sudah ada), Anda dapat menambahkannya ke konfigurasi manajer peringatan sebagai penerima peringatan. Manajer peringatan dapat meneruskan peringatan Anda ke penerima peringatan yang dikonfigurasi. Untuk menyelesaikan ini, Anda harus mengetahui Nama Sumber Daya Amazon (ARN) dari topik Amazon SNS Anda.

Untuk informasi selengkapnya tentang konfigurasi penerima Amazon SNS, lihat[https://prometheus.io/docs/alerting/latest/configuration/#sns_configs](https://prometheus.io/docs/alerting/latest/configuration/#sns_configs) <sns\$1configs>di dokumentasi konfigurasi Prometheus. 

**Properti yang tidak didukung**

Amazon Managed Service untuk Prometheus mendukung Amazon SNS sebagai penerima peringatan. Namun, karena kendala layanan, tidak semua properti penerima Amazon SNS didukung. Properti berikut tidak diizinkan dalam file konfigurasi manajer peringatan Prometheus Layanan Terkelola Amazon untuk Prometheus:
+ `api_url:`— Layanan Terkelola Amazon untuk Prometheus menetapkan untuk Anda, jadi properti `api_url` ini tidak diizinkan.
+ `Http_config`— Properti ini memungkinkan Anda untuk mengatur proxy eksternal. Amazon Managed Service untuk Prometheus saat ini tidak mendukung fitur ini.

Selain itu, pengaturan SiGv4 diperlukan untuk memiliki properti Region. Tanpa properti Wilayah, Amazon Managed Service untuk Prometheus tidak memiliki informasi yang cukup untuk membuat permintaan otorisasi. 

**Untuk mengonfigurasi pengelola peringatan dengan topik Amazon SNS Anda sebagai penerima**

1. Jika Anda menggunakan file konfigurasi manajer peringatan yang ada, buka di editor teks.

1. Jika ada penerima saat ini selain Amazon SNS di `receivers` blok, hapus. Anda dapat mengonfigurasi beberapa topik Amazon SNS menjadi penerima dengan menempatkannya di `sns_config` blok terpisah di dalam blok. `receivers`

1. Tambahkan blok YAMM berikut di dalam `receivers` bagian.

   ```
   - name: name_of_receiver
     sns_configs:
       - sigv4:
           region: Wilayah AWS
         topic_arn: ARN_of_SNS_topic
         subject: yoursubject
         attributes:
           key: yourkey
           value: yourvalue
   ```

Jika a tidak `subject` ditentukan, secara default, subjek akan dihasilkan dengan template default dengan nama label dan nilai, yang dapat menghasilkan nilai yang terlalu panjang untuk SNS. Untuk mengubah templat yang diterapkan pada subjek, lihat [Konfigurasikan pengelola peringatan untuk mengirim pesan ke Amazon SNS sebagai JSON](AMP-alertmanager-receiver-JSON.md) di panduan ini. 

Sekarang Anda harus mengunggah file konfigurasi manajer peringatan Anda ke Amazon Managed Service untuk Prometheus. Untuk informasi selengkapnya, lihat [Unggah file konfigurasi pengelola peringatan Anda ke Amazon Managed Service untuk Prometheus](AMP-alertmanager-upload.md).

# Konfigurasikan pengelola peringatan untuk mengirim pesan ke Amazon SNS sebagai JSON
<a name="AMP-alertmanager-receiver-JSON"></a>

Secara default, Amazon Managed Service for Prometheus alert manager mengeluarkan pesan dalam format daftar teks biasa. Ini bisa lebih sulit bagi layanan lain untuk diuraikan. Anda dapat mengonfigurasi manajer peringatan untuk mengirim peringatan dalam format JSON sebagai gantinya. JSON dapat mempermudah proses pesan di hilir dari Amazon SNS AWS Lambda di atau di titik akhir penerima webhook. Alih-alih menggunakan template default, Anda dapat menentukan template kustom untuk menampilkan konten pesan di JSON, sehingga lebih mudah untuk mengurai dalam fungsi hilir.

Untuk menampilkan pesan dari manajer peringatan ke Amazon SNS dalam format JSON, perbarui konfigurasi manajer peringatan Anda untuk memuat kode berikut di dalam bagian root Anda`template_files`:

```
default_template: |
   {{ define "sns.default.message" }}{{ "{" }}"receiver": "{{ .Receiver }}","status": "{{ .Status }}","alerts": [{{ range $alertIndex, $alerts := .Alerts }}{{ if $alertIndex }}, {{ end }}{{ "{" }}"status": "{{ $alerts.Status }}"{{ if gt (len $alerts.Labels.SortedPairs) 0 -}},"labels": {{ "{" }}{{ range $index, $label := $alerts.Labels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $label.Name }}": "{{ $label.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len $alerts.Annotations.SortedPairs ) 0 -}},"annotations": {{ "{" }}{{ range $index, $annotations := $alerts.Annotations.SortedPairs }}{{ if $index }}, {{ end }}"{{ $annotations.Name }}": "{{ $annotations.Value }}"{{ end }}{{ "}" }}{{- end }},"startsAt": "{{ $alerts.StartsAt }}","endsAt": "{{ $alerts.EndsAt }}","generatorURL": "{{ $alerts.GeneratorURL }}","fingerprint": "{{ $alerts.Fingerprint }}"{{ "}" }}{{ end }}]{{ if gt (len .GroupLabels) 0 -}},"groupLabels": {{ "{" }}{{ range $index, $groupLabels := .GroupLabels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $groupLabels.Name }}": "{{ $groupLabels.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len .CommonLabels) 0 -}},"commonLabels": {{ "{" }}{{ range $index, $commonLabels := .CommonLabels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $commonLabels.Name }}": "{{ $commonLabels.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len .CommonAnnotations) 0 -}},"commonAnnotations": {{ "{" }}{{ range $index, $commonAnnotations := .CommonAnnotations.SortedPairs }}{{ if $index }}, {{ end }}"{{ $commonAnnotations.Name }}": "{{ $commonAnnotations.Value }}"{{ end }}{{ "}" }}{{- end }}{{ "}" }}{{ end }}
   {{ define "sns.default.subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]{{ end }}
```

**catatan**  
Template ini membuat JSON dari data alfanumerik. Jika data Anda memiliki karakter khusus, encode mereka sebelum menggunakan template ini.

Untuk memastikan bahwa template ini digunakan dalam notifikasi keluar, rujuk di `alertmanager_config` blok Anda sebagai berikut:

```
alertmanager_config: |
  global:
  templates:
    - 'default_template'
```

**catatan**  
Template ini untuk seluruh badan pesan sebagai JSON. Template ini menimpa seluruh isi pesan. Anda tidak dapat mengganti isi pesan jika Anda ingin menggunakan templat khusus ini. Setiap penggantian yang dilakukan secara manual akan diutamakan daripada template.

Untuk informasi lebih lanjut tentang:
+ File konfigurasi manajer peringatan, lihat[Buat konfigurasi pengelola peringatan di Amazon Managed Service untuk Prometheus untuk mengelola dan merutekan peringatan](AMP-alertmanager-config.md).
+ Mengunggah file konfigurasi Anda, lihat[Unggah file konfigurasi pengelola peringatan Anda ke Amazon Managed Service untuk Prometheus](AMP-alertmanager-upload.md).

# Konfigurasikan Amazon SNS untuk mengirim pesan peringatan ke tujuan lain
<a name="AMP-alertmanager-SNS-otherdestinations"></a>

Amazon Managed Service untuk Prometheus hanya dapat mengirim pesan peringatan ke Amazon Simple Notification Service (Amazon SNS). Untuk mengirim pesan tersebut ke tujuan lain, seperti email, webhook, Slack, atau OpsGenie, Anda harus mengonfigurasi Amazon SNS untuk meneruskan pesan ke titik akhir tersebut.

Bagian berikut yang menjelaskan konfigurasi Amazon SNS untuk meneruskan peringatan ke tujuan lain.

**Topics**
+ [

## Email
](#AMP-alertmanager-SNS-otherdestinations-email)
+ [

## Webhook
](#AMP-alertmanager-SNS-otherdestinations-webhook)
+ [

## Slack
](#AMP-alertmanager-SNS-otherdestinations-Slack)
+ [

## OpsGenie
](#AMP-alertmanager-SNS-otherdestinations-OpsGenie)

## Email
<a name="AMP-alertmanager-SNS-otherdestinations-email"></a>

Untuk mengonfigurasi topik Amazon SNS untuk menampilkan pesan ke email, buat langganan. Di konsol Amazon SNS, pilih tab **Langganan** untuk membuka halaman daftar **Langganan**. Pilih **Buat Langganan** dan pilih **Email**. Amazon SNS mengirimkan email konfirmasi ke alamat email yang terdaftar. Setelah Anda menerima konfirmasi, Anda dapat menerima notifikasi Amazon SNS sebagai email dari topik yang Anda langgani. Untuk informasi selengkapnya, lihat [Berlangganan topik Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html).

## Webhook
<a name="AMP-alertmanager-SNS-otherdestinations-webhook"></a>

Untuk mengonfigurasi topik Amazon SNS untuk menampilkan pesan ke titik akhir webhook, buat langganan. Di konsol Amazon SNS, pilih tab **Langganan** untuk membuka halaman daftar **Langganan**. Pilih **Buat Langganan** dan pilih **HTTP/HTTPS**. Setelah Anda membuat langganan, Anda harus mengikuti langkah-langkah konfirmasi untuk mengaktifkannya. Saat aktif, titik akhir HTTP Anda akan menerima notifikasi Amazon SNS. Untuk informasi selengkapnya, lihat [Berlangganan topik Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html). Untuk informasi selengkapnya tentang penggunaan webhook Slack untuk mempublikasikan pesan ke berbagai tujuan, lihat [Bagaimana cara menggunakan webhook untuk mempublikasikan pesan Amazon SNS ke Amazon Chime, Slack](https://aws.amazon.com/premiumsupport/knowledge-center/sns-lambda-webhooks-chime-slack-teams/), atau Microsoft Teams?

## Slack
<a name="AMP-alertmanager-SNS-otherdestinations-Slack"></a>

Untuk mengonfigurasi topik Amazon SNS untuk menampilkan pesan ke Slack, Anda memiliki dua opsi. Anda dapat mengintegrasikan dengan email-to-channel integrasi Slack, yang memungkinkan Slack menerima pesan email dan meneruskannya ke saluran Slack, atau Anda dapat menggunakan fungsi Lambda untuk menulis ulang notifikasi Amazon SNS ke Slack. Untuk informasi selengkapnya tentang meneruskan email ke saluran slack, lihat [Mengonfirmasi Langganan Topik AWS SNS untuk Slack](https://stackoverflow.com/questions/49341187/confirming-aws-sns-topic-subscription-for-slack-webhook) Webhook. Untuk informasi selengkapnya tentang membuat fungsi Lambda untuk mengonversi pesan Amazon SNS ke Slack, lihat [Cara mengintegrasikan Layanan Terkelola Amazon untuk Prometheus](https://aws.amazon.com/blogs/mt/how-to-integrate-amazon-managed-service-for-prometheus-with-slack/) dengan Slack.

## OpsGenie
<a name="AMP-alertmanager-SNS-otherdestinations-OpsGenie"></a>

Untuk selengkapnya tentang cara mengonfigurasi topik Amazon SNS untuk menampilkan pesan OpsGenie, lihat [Mengintegrasikan Oppgenie dengan Amazon SNS yang masuk](https://support.atlassian.com/opsgenie/docs/integrate-opsgenie-with-incoming-amazon-sns/).

# Memahami aturan validasi pesan Amazon SNS
<a name="AMP-alertmanager-receiver-validation-truncation"></a>

Amazon Simple Notification Service (Amazon SNS) memerlukan pesan untuk memenuhi standar tertentu. Pesan yang tidak memenuhi standar ini akan dimodifikasi saat diterima. Pesan peringatan akan divalidasi, dipotong, atau dimodifikasi, jika perlu, oleh penerima Amazon SNS berdasarkan aturan berikut:
+ Pesan berisi karakter non-utf.
  + Pesan akan diganti dengan **Kesalahan - bukan string yang dikodekan UTF-8 yang valid**.
  + **Satu atribut pesan akan ditambahkan dengan kunci **terpotong** dan nilai true.**
  + Satu atribut pesan akan ditambahkan dengan kunci **dimodifikasi** dan nilai **Pesan: Kesalahan - bukan string yang dikodekan UTF-8 yang valid**.
+ Pesan kosong.
  + Pesan akan diganti dengan **Kesalahan - Pesan tidak boleh kosong**.
  + Satu atribut pesan akan ditambahkan dengan kunci yang **dimodifikasi** dan nilai **Pesan: Kesalahan - Pesan tidak boleh kosong**.
+ Pesan telah terpotong.
  + Pesan akan memiliki konten terpotong.
  + **Satu atribut pesan akan ditambahkan dengan kunci **terpotong** dan nilai true.**
  + Satu atribut pesan akan ditambahkan dengan kunci “dimodifikasi” dan nilai **Pesan: Kesalahan - Pesan telah terpotong dari *X* KB, karena melebihi batas ukuran 256 KB**.
+ Subjek berisi karakter kontrol atau non-ASCII.
  + Jika subjek berisi karakter kontrol atau karakter non-ASCII, SNS menggantikan subjek dengan **Kesalahan - berisi karakter kontrol** - atau non-ASCII.
  + Untuk subjek email SNS, hapus karakter kontrol, seperti baris baru:. `\n`
+ Subjek bukan ASCII.
  + Subjek akan diganti dengan **Kesalahan - berisi karakter ASCII yang tidak dapat dicetak**.
  + Satu atribut pesan akan ditambahkan dengan kunci yang **dimodifikasi** dan nilai **Subject: Error - berisi karakter ASCII yang tidak dapat dicetak**.
+ Subjek telah terpotong.
  + Subjek akan memiliki konten terpotong.
  + Satu atribut pesan akan ditambahkan dengan kunci yang **dimodifikasi** dan nilai **Subject: Error - Subject telah dipotong dari *X* karakter, karena melebihi batas ukuran karakter 100**.
+ Atribut pesan memiliki kunci/nilai yang tidak valid.
  + Atribut pesan tidak valid akan dihapus.
  + Satu atribut pesan akan ditambahkan dengan kunci **dimodifikasi** dan nilai **MessageAttribute: Kesalahan - *X* atribut pesan telah dihapus karena tidak valid MessageAttributeKey ** atau. MessageAttributeValue
+ Atribut pesan telah terpotong.
  + Atribut pesan tambahan akan dihapus.
  + Satu atribut pesan akan ditambahkan dengan kunci **dimodifikasi** dan nilai **MessageAttribute: Kesalahan - *X* atribut pesan telah dihapus, karena melebihi batas ukuran 256KB**.