

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

# Menghubungkan ke SendGrid
<a name="connecting-to-data-sendgrid"></a>

SendGrid adalah platform komunikasi pelanggan untuk email transaksional dan pemasaran.
+ SendGrid konektor membantu dalam membuat dan mengelola daftar kontak dan membuat kampanye pemasaran email.
+ SendGrid memungkinkan bisnis online, nirlaba, dan entitas online lainnya untuk membuat dan mengirim email pemasaran ke khalayak besar dan memantau keterlibatan dengan email tersebut.

**Topics**
+ [AWS Glue dukungan untuk SendGrid](sendgrid-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](sendgrid-configuring-iam-permissions.md)
+ [Mengkonfigurasi SendGrid](sendgrid-configuring.md)
+ [Mengkonfigurasi koneksi SendGrid](sendgrid-configuring-connections.md)
+ [Membaca dari SendGrid entitas](sendgrid-reading-from-entities.md)
+ [SendGrid opsi koneksi](sendgrid-connection-options.md)
+ [SendGrid keterbatasan](sendgrid-limitations.md)

# AWS Glue dukungan untuk SendGrid
<a name="sendgrid-support"></a>

AWS Glue mendukung SendGrid sebagai berikut:

**Didukung sebagai sumber?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menanyakan data dari SendGrid.

**Didukung sebagai target?**  
Tidak.

**Versi SendGrid API yang didukung**  
Versi SendGrid API berikut didukung:
+ v3

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="sendgrid-configuring-iam-permissions"></a>

Kebijakan contoh berikut menjelaskan izin AWS IAM yang diperlukan untuk membuat dan menggunakan koneksi. Jika Anda membuat peran baru, buat kebijakan yang berisi hal-hal berikut:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Jika Anda tidak ingin menggunakan metode di atas, gunakan kebijakan IAM terkelola berikut ini:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Memberikan akses ke sumber daya yang diperlukan berbagai AWS Glue proses untuk dijalankan atas nama Anda. Sumber daya ini termasuk AWS Glue, Amazon S3, IAM, CloudWatch Log, dan Amazon. EC2 Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, AWS Glue proses memiliki izin yang diperlukan. Kebijakan ini biasanya dilampirkan pada peran yang ditentukan saat menentukan crawler, tugas, dan titik akhir pengembangan.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Memberikan akses penuh ke AWS Glue sumber daya saat identitas yang dilampirkan kebijakan menggunakan Konsol AWS Manajemen. Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, maka pengguna memiliki kemampuan konsol penuh. Kebijakan ini biasanya dilampirkan ke pengguna AWS Glue konsol.

# Mengkonfigurasi SendGrid
<a name="sendgrid-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari SendGrid, Anda harus memenuhi persyaratan ini:

## Persyaratan minimum
<a name="sendgrid-configuring-min-requirements"></a>

Berikut ini adalah persyaratan minimum:
+ Anda memiliki SendGrid akun dengan kunci API.
+  SendGrid Akun Anda memiliki akses API dengan lisensi yang valid.

Jika memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke SendGrid akun Anda. Untuk koneksi yang khas, Anda tidak perlu melakukan hal lain SendGrid.

# Mengkonfigurasi koneksi SendGrid
<a name="sendgrid-configuring-connections"></a>

SendGrid mendukung otentikasi kustom.

Untuk SendGrid dokumentasi publik tentang pembuatan kunci API yang diperlukan untuk autentikasi kustom, lihat [Autentikasi](https://www.twilio.com/docs/sendgrid/api-reference/how-to-use-the-sendgrid-v3-api/authentication).

Untuk mengkonfigurasi SendGrid koneksi:

1. Di AWS Secrets Manager, buat rahasia dengan detail berikut:

   1. Untuk aplikasi terhubung yang dikelola pelanggan, Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `api_key` sebagai.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda di AWS Glue.

1. Di AWS Glue Glue Studio, buat koneksi di bawah **Koneksi Data** dengan mengikuti langkah-langkah di bawah ini:

   1. Saat memilih **jenis Koneksi**, pilih SendGrid.

   1. Berikan SendGrid contoh `INSTANCE_URL` yang ingin Anda sambungkan.

   1. Pilih peran AWS IAM yang AWS Glue dapat mengasumsikan dan memiliki izin untuk tindakan berikut:

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1. Pilih `secretName` yang ingin Anda gunakan untuk koneksi ini AWS Glue untuk memasukkan token.

   1. Pilih opsi jaringan jika Anda ingin menggunakan jaringan Anda.

1. Berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda untuk membaca`secretName`.

# Membaca dari SendGrid entitas
<a name="sendgrid-reading-from-entities"></a>

**Prasyarat**

 SendGrid Objek yang ingin Anda baca. Anda akan membutuhkan nama objek seperti`lists`, `singlesends` atau`segments`.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Daftar | Tidak | Ya | Tidak | Ya | Tidak | 
| Mengirim Tunggal | Ya | Ya | Tidak | Ya | Tidak | 
| Statistik Kampanye Pemasaran-Otomatisasi | Ya | Ya | Tidak | Ya | Tidak | 
| Statistik Kampanye Pemasaran-Pengiriman Tunggal | Ya | Ya | Tidak | Ya | Tidak | 
| Segmen | Ya | Tidak | Tidak | Ya | Tidak | 
| Kontak  | Ya | Tidak | Tidak | Ya | Tidak | 
| Kategori | Tidak | Tidak | Tidak | Ya | Tidak | 
| Statistik | Ya | Tidak | Tidak | Ya | Tidak | 
| Berhenti Berlangganan Grup | Ya | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
sendgrid_read = glueContext.create_dynamic_frame.from_options(
    connection_type="sendgrid",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "lists",
        "API_VERSION": "v3",
        "INSTANCE_URL": "instanceUrl"
    }
```

**SendGrid detail entitas dan bidang**:

Entitas dengan metadata statis:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/sendgrid-reading-from-entities.html)

**catatan**  
Tipe data Struct dan List dikonversi ke tipe data String, dan tipe DateTime data dikonversi ke Timestamp sebagai respons konektor.

## Mempartisi kueri
<a name="sendgrid-reading-partitioning-queries"></a>

SendGrid tidak mendukung partisi berbasis filter atau partisi berbasis rekaman.

# SendGrid opsi koneksi
<a name="sendgrid-connection-options"></a>

Berikut ini adalah opsi koneksi untuk SendGrid:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di SendGrid.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. SendGrid Rest versi API yang ingin Anda gunakan.
+ `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. URL SendGrid contoh yang valid.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk objek.
+ `FILTER_PREDICATE`(String) - Default: kosong. Digunakan untuk Baca. Itu harus dalam format Spark SQL.
+ `QUERY`(String) - Default: kosong. Digunakan untuk Baca. Kueri SQL Spark penuh.

# SendGrid keterbatasan
<a name="sendgrid-limitations"></a>

Berikut ini adalah batasan atau catatan untuk SendGrid:
+ Incremental pull hanya didukung oleh entitas Stats di `start_date` lapangan dan oleh entitas Kontak di `event_timestamp` lapangan.
+ Pagination hanya didukung oleh entitas Statistik Kampanye Pemasaran (Otomasi), Statistik Kampanye Pemasaran (Kirim Tunggal), Kirim Tunggal, dan Daftar.
+ Untuk entitas Stats, `start_date` adalah parameter filter wajib.
+ Kunci API dengan Akses Terbatas tidak dapat mendukung akses baca untuk entitas API Email dan Statistik. Gunakan kunci API dengan Akses Penuh. Untuk informasi selengkapnya, lihat [Ikhtisar API](https://www.twilio.com/docs/sendgrid/api-reference/api-keys/create-api-keys#api-overview).