

Pemberitahuan akhir dukungan: Pada 7 Oktober 2026, AWS akan menghentikan dukungan untuk. AWS IoT Greengrass Version 1 Setelah 7 Oktober 2026, Anda tidak akan lagi dapat mengakses sumber daya. AWS IoT Greengrass V1 Untuk informasi lebih lanjut, silakan kunjungi [Migrasi dari AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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

# Konektor IoT Analytics
<a name="iot-analytics-connector"></a>

**Awas**  <a name="connectors-extended-life-phase-warning"></a>
Konektor ini telah pindah ke *fase umur yang diperpanjang*, dan AWS IoT Greengrass tidak akan merilis pembaruan yang menyediakan fitur, penyempurnaan pada fitur yang ada, patch keamanan, atau perbaikan bug. Untuk informasi selengkapnya, lihat [AWS IoT Greengrass Version 1 kebijakan pemeliharaan](maintenance-policy.md).

Konektor IoT Analytics mengirimkan data AWS IoT Analytics perangkat lokal ke. [Anda dapat menggunakan konektor ini sebagai hub pusat untuk mengumpulkan data dari sensor pada perangkat inti Greengrass dan dari perangkat klien yang terhubung.](what-is-gg.md#greengrass-devices) Konektor mengirimkan data ke AWS IoT Analytics saluran di saat ini Akun AWS dan Wilayah. Hal ini dapat mengirim data ke saluran tujuan default dan saluran yang secara dinamis ditentukan.

**catatan**  
AWS IoT Analytics adalah layanan yang dikelola sepenuhnya yang memungkinkan Anda mengumpulkan, menyimpan, memproses, dan menanyakan data IoT. Pada tahun AWS IoT Analytics, data dapat dianalisis dan diproses lebih lanjut. Sebagai contoh, ini dapat digunakan untuk melatih model ML untuk memantau kondisi mesin atau untuk menguji strategi pemodelan baru. Untuk informasi lebih lanjut, lihat [Apa itu AWS IoT Analytics?](https://docs.aws.amazon.com/iotanalytics/latest/userguide/welcome.html) dalam *AWS IoT Analytics User Guide*.

Konektor menerima data yang diformat dan tidak diformat pada [input topik MQTT](#iot-analytics-connector-data-input). Mendukung dua topik yang telah ditetapkan dalam mana saluran tujuan ditentukan inline. Hal ini juga dapat menerima pesan pada topik yang ditetapkan pelanggan yang [dikonfigurasi dalam langganan](connectors.md#connectors-inputs-outputs). Ini dapat digunakan untuk merutekan pesan dari perangkat klien yang mempublikasikan ke topik tetap atau menangani data yang tidak terstruktur atau bergantung pada tumpukan dari perangkat yang dibatasi sumber daya.

Konektor ini menggunakan [https://docs.aws.amazon.com/iotanalytics/latest/userguide/api.html#cli-iotanalytics-batchputmessage](https://docs.aws.amazon.com/iotanalytics/latest/userguide/api.html#cli-iotanalytics-batchputmessage)API untuk mengirim data (sebagai string yang disandikan JSON atau base64) ke saluran tujuan. Konektor dapat memproses data mentah ke dalam format yang sesuai dengan persyaratan API. Konektor buffer pesan input dalam per-channel antrian dan asynchronously memproses batch. Ini menyediakan parameter yang mengizinkan Anda untuk mengontrol antrian dan perilaku batching dan membatasi konsumsi memori. Sebagai contoh, Anda dapat mengonfigurasi ukuran antrian maksimum, interval batch, ukuran memori, dan jumlah saluran aktif.

Konektor ini memiliki versi berikut.


| Versi | ARN | 
| --- | --- | 
| 4 | `arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/4` | 
| 3 | `arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/3` | 
| 2 | `arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/2` | 
| 1 | `arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/1` | 

Untuk informasi tentang perubahan versi, lihat [Changelog](#iot-analytics-connector-changelog).

## Persyaratan
<a name="iot-analytics-connector-req"></a>

Konektor ini memiliki persyaratan sebagai berikut:

------
#### [ Version 3 - 4 ]
+ <a name="conn-req-ggc-v1.9.3"></a>AWS IoT Greengrass Perangkat lunak inti v1.9.3 atau yang lebih baru.
+ <a name="conn-req-py-3.7-and-3.8"></a>[Python](https://www.python.org/) versi 3.7 atau 3.8 diinstal pada perangkat core dan ditambahkan ke variabel lingkungan PATH.
**catatan**  <a name="use-runtime-py3.8"></a>
Untuk menggunakan Python 3.8, jalankan perintah berikut untuk membuat link simbolik dari folder instalasi default Python 3.7 ke binari Python 3.8 yang diinstal.  

  ```
  sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7
  ```
Ini mengonfigurasi perangkat Anda untuk memenuhi persyaratan Python untuk AWS IoT Greengrass.
+ <a name="conn-iot-analytics-req-regions"></a>Konektor ini hanya dapat digunakan dalam Wilayah Amazon Web Services di mana kedua [AWS IoT Greengrass](https://docs.aws.amazon.com/general/latest/gr/greengrass.html) dan [AWS IoT Analytics](https://docs.aws.amazon.com/general/latest/gr/iot-analytics.html) didukung.
+ <a name="conn-iot-analytics-req-ita-config"></a>Semua AWS IoT Analytics entitas dan alur kerja terkait dibuat dan dikonfigurasi. Entitas termasuk saluran, alur, penyimpanan data, dan set data. Untuk informasi lebih lanjut, lihat [AWS CLI](https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html) atau prosedur [konsol](https://docs.aws.amazon.com/iotanalytics/latest/userguide/quickstart.html) dalam *AWS IoT Analytics Panduan Pengguna*.
**catatan**  
 AWS IoT Analytics Saluran tujuan harus menggunakan akun yang sama dan Wilayah AWS sama dengan konektor ini.
+ <a name="conn-iot-analytics-req-iam-policy"></a>Pada [Peran grup Greengrass](group-role.md) dikonfigurasi untuk mengizinkan `iotanalytics:BatchPutMessage` tindakan dalam saluran tujuan, seperti yang ditunjukkan dalam kebijakan IAM berikut. Saluran harus dalam arus Akun AWS dan Wilayah.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "Stmt1528133056761",
              "Action": [
                  "iotanalytics:BatchPutMessage"
              ],
              "Effect": "Allow",
              "Resource": [
              "arn:aws:iotanalytics:us-east-1:123456789012:channel/channel_1_name",
      "arn:aws:iotanalytics:us-east-1:123456789012:channel/channel_2_name"
              ]
          }
      ]
  }
  ```

------

  <a name="set-up-group-role"></a>Untuk persyaratan peran grup, Anda harus mengonfigurasi peran untuk memberikan izin yang diperlukan dan memastikan peran telah ditambahkan ke grup. Untuk informasi lebih lanjut, lihat [Mengelola peran grup Greengrass (konsol)](group-role.md#manage-group-role-console) atau [Mengelola peran grup Greengrass (CLI)](group-role.md#manage-group-role-cli).

------
#### [ Versions 1 - 2 ]
+ <a name="conn-req-ggc-v1.7.0"></a>AWS IoT Greengrass Perangkat lunak inti v1.7 atau yang lebih baru.
+ [Python](https://www.python.org/) versi 2.7 diinstal pada perangkat core dan ditambahkan ke variabel lingkungan PATH.
+ <a name="conn-iot-analytics-req-regions"></a>Konektor ini hanya dapat digunakan dalam Wilayah Amazon Web Services di mana kedua [AWS IoT Greengrass](https://docs.aws.amazon.com/general/latest/gr/greengrass.html) dan [AWS IoT Analytics](https://docs.aws.amazon.com/general/latest/gr/iot-analytics.html) didukung.
+ <a name="conn-iot-analytics-req-ita-config"></a>Semua AWS IoT Analytics entitas dan alur kerja terkait dibuat dan dikonfigurasi. Entitas termasuk saluran, alur, penyimpanan data, dan set data. Untuk informasi lebih lanjut, lihat [AWS CLI](https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html) atau prosedur [konsol](https://docs.aws.amazon.com/iotanalytics/latest/userguide/quickstart.html) dalam *AWS IoT Analytics Panduan Pengguna*.
**catatan**  
 AWS IoT Analytics Saluran tujuan harus menggunakan akun yang sama dan Wilayah AWS sama dengan konektor ini.
+ <a name="conn-iot-analytics-req-iam-policy"></a>Pada [Peran grup Greengrass](group-role.md) dikonfigurasi untuk mengizinkan `iotanalytics:BatchPutMessage` tindakan dalam saluran tujuan, seperti yang ditunjukkan dalam kebijakan IAM berikut. Saluran harus dalam arus Akun AWS dan Wilayah.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "Stmt1528133056761",
              "Action": [
                  "iotanalytics:BatchPutMessage"
              ],
              "Effect": "Allow",
              "Resource": [
              "arn:aws:iotanalytics:us-east-1:123456789012:channel/channel_1_name",
      "arn:aws:iotanalytics:us-east-1:123456789012:channel/channel_2_name"
              ]
          }
      ]
  }
  ```

------

  <a name="set-up-group-role"></a>Untuk persyaratan peran grup, Anda harus mengonfigurasi peran untuk memberikan izin yang diperlukan dan memastikan peran telah ditambahkan ke grup. Untuk informasi lebih lanjut, lihat [Mengelola peran grup Greengrass (konsol)](group-role.md#manage-group-role-console) atau [Mengelola peran grup Greengrass (CLI)](group-role.md#manage-group-role-cli).

------

## Parameter
<a name="iot-analytics-connector-param"></a>

`MemorySize`  
Jumlah memori (dalam KB) untuk mengalokasikan ke konektor ini.  
Nama tampilan di AWS IoT konsol: **Ukuran memori**  
Wajib: `true`  
Jenis: `string`  
Pola yang valid: `^[0-9]+$`

`PublishRegion`  
Di Wilayah AWS mana AWS IoT Analytics saluran Anda dibuat. Gunakan Wilayah yang sama dengan konektornya.  
Ini juga harus sesuai dengan Wilayah untuk saluran yang ditentukan dalam [peran grup](#iot-analytics-connector-req).
Nama tampilan di AWS IoT konsol: **Publikasikan wilayah**  
Wajib: `false`  
Jenis: `string`  
Pola yang valid: `^$|([a-z]{2}-[a-z]+-\\d{1})`

`PublishInterval`  
Interval (dalam detik) untuk menerbitkan sekumpulan data yang diterima ke AWS IoT Analytics.  
Nama tampilan di AWS IoT konsol: **Publikasikan interval**  
Wajib: `false`  
Jenis: `string`  
Nilai default: `1`  
Pola yang valid: `$|^[0-9]+$`

`IotAnalyticsMaxActiveChannels`  
Jumlah maksimum AWS IoT Analytics saluran yang secara aktif diperhatikan oleh konektor. Ini harus lebih besar dari 0, dan setidaknya sama dengan jumlah saluran yang Anda harapkan konektor untuk menerbitkankan ke pada waktu tertentu.  
Anda dapat menggunakan parameter ini untuk membatasi konsumsi memori dengan membatasi jumlah antrian yang konektor dapat mengelola pada waktu tertentu. Antrian dihapus ketika semua pesan antrian dikirim.  
Nama tampilan di AWS IoT konsol: **Jumlah maksimum saluran aktif**  
Wajib: `false`  
Jenis: `string`  
Nilai default: `50`  
Pola yang valid: `^$|^[1-9][0-9]*$`

`IotAnalyticsQueueDropBehavior`  
Perilaku untuk batal pesan dari antrian saluran ketika antrian penuh.  
Nama tampilan di AWS IoT konsol: Perilaku **penurunan antrian**  
Wajib: `false`  
Jenis: `string`  
Nilai yang valid: `DROP_NEWEST` or `DROP_OLDEST`  
Nilai default: `DROP_NEWEST`  
Pola yang valid: `^DROP_NEWEST$|^DROP_OLDEST$`

`IotAnalyticsQueueSizePerChannel`  
Jumlah maksimum pesan untuk mempertahankan dalam memori (per saluran) sebelum pesan dikirim atau dibatalkan. Ini harus lebih besar dari 0.  
Nama tampilan di AWS IoT konsol: **Ukuran antrian maksimum per saluran**  
Wajib: `false`  
Jenis: `string`  
Nilai default: `2048`  
Pola yang valid: `^$|^[1-9][0-9]*$`

`IotAnalyticsBatchSizePerChannel`  
Jumlah maksimum pesan untuk dikirim ke AWS IoT Analytics saluran dalam satu permintaan batch. Ini harus lebih besar dari 0.  
Nama tampilan di AWS IoT konsol: **Jumlah maksimum pesan ke batch per saluran**  
Wajib: `false`  
Jenis: `string`  
Nilai default: `5`  
Pola yang valid: `^$|^[1-9][0-9]*$`

`IotAnalyticsDefaultChannelName`  
Nama AWS IoT Analytics saluran yang digunakan konektor ini untuk pesan yang dikirim ke topik input yang ditentukan pelanggan.  
Nama tampilan di AWS IoT konsol: **Nama saluran default**  
Wajib: `false`  
Jenis: `string`  
Pola yang valid: `^[a-zA-Z0-9_]$`

`IsolationMode`  <a name="IsolationMode"></a>
Mode [kontainerisasi](connectors.md#connector-containerization) untuk konektor ini. Defaultnya adalah`GreengrassContainer`, yang berarti konektor berjalan di lingkungan runtime yang terisolasi di dalam AWS IoT Greengrass container.  
Pengaturan kontainerisasi default untuk grup tidak berlaku untuk konektor.
Nama tampilan di AWS IoT konsol: **Mode isolasi kontainer**  
Wajib: `false`  
Jenis: `string`  
Nilai yang valid: `GreengrassContainer` or `NoContainer`  
Pola yang valid: `^NoContainer$|^GreengrassContainer$`

### Buat Contoh Konektor (AWS CLI)
<a name="iot-analytics-connector-create"></a>

Perintah CLI berikut membuat `ConnectorDefinition` dengan versi awal yang berisi konektor IoT Analytics.

```
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{
    "Connectors": [
        {
            "Id": "MyIoTAnalyticsApplication",
            "ConnectorArn": "arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/3",
            "Parameters": {
                "MemorySize": "65535",
                "PublishRegion": "us-west-1",
                "PublishInterval": "2",
                "IotAnalyticsMaxActiveChannels": "25",
                "IotAnalyticsQueueDropBehavior": "DROP_OLDEST",
                "IotAnalyticsQueueSizePerChannel": "1028",
                "IotAnalyticsBatchSizePerChannel": "5",
                "IotAnalyticsDefaultChannelName": "my_channel"
            }
        }
    ]
}'
```

**catatan**  
Fungsi Lambda dalam konektor mempunyai siklus hidup yang [berumur panjang](lambda-functions.md#lambda-lifecycle) ini.

Di AWS IoT Greengrass konsol, Anda dapat menambahkan konektor dari halaman **Konektor** grup. Untuk informasi selengkapnya, lihat [Memulai dengan konektor Greengrass (konsol)](connectors-console.md).

## Data input
<a name="iot-analytics-connector-data-input"></a>

Konektor ini menerima data pada topik MQTT yang telah ditetapkan dan ditetapkan pelanggan. Penerbit dapat berupa perangkat klien, fungsi Lambda, atau konektor lainnya.

Topik yang telah ditetapkan  
Konektor mendukung berikut dua terstruktur MQTT topik yang mengizinkan penerbit untuk menentukan nama saluran inline.  
+ Sebuah [pesan yang telah diformat](#iot-analytics-connector-data-input-json) pada `iotanalytics/channels/+/messages/put` topik. Data IoT dalam pesan input ini harus diformat sebagai JSON atau base64-encoded string.
+ Pesan yang belum diformat pada `iotanalytics/channels/+/messages/binary/put` topik. Pesan input yang diterima pada topik ini diperlakukan sebagai data biner dan dapat berisi jenis data.

  Untuk menerbitkankan ke topik yang telah ditetapkan, ganti `+` wildcard dengan nama saluran. Contoh:

  ```
  iotanalytics/channels/my_channel/messages/put
  ```

Topik yang ditetapkan pelanggan  
Konektor mendukung `#` topik sintaks, yang mengizinkan untuk menerima pesan input pada setiap topik MQTT yang Anda konfigurasi dalam langganan. Kami menyarankan Anda menentukan jalur topik alih-alih hanya menggunakan `#` wildcard dalam langganan Anda. Pesan ini dikirim ke saluran default yang Anda tentukan untuk konektor.  
Pesan input pada topik yang ditetapkan pelanggan diperlakukan sebagai data biner. Mereka dapat menggunakan format pesan dan dapat berisi jenis data. Anda dapat menggunakan topik yang ditetapkan pelanggan untuk merutekan pesan dari perangkat yang diterbitkankan ke topik tetap. Anda juga dapat menggunakannya untuk menerima data input dari perangkat klien yang tidak dapat memproses data menjadi pesan yang diformat untuk dikirim ke konektor.  
Untuk informasi lebih lanjut tentang langganan dan topik MQTT, lihat [Input dan output](connectors.md#connectors-inputs-outputs).

Peran grup harus mengizinkan tindakan `iotanalytics:BatchPutMessage` pada semua bucket tujuan. Untuk informasi selengkapnya, lihat [Persyaratan](#iot-analytics-connector-req).

**Filter topik:** `iotanalytics/channels/+/messages/put`  <a name="iot-analytics-connector-data-input-json"></a>
Gunakan topik ini untuk mengirim pesan yang diformat ke konektor dan secara dinamis menentukan saluran tujuan. Topik ini juga mengizinkan Anda untuk menentukan ID yang dikembalikan dalam output respon. Konektor memverifikasi IDs yang unik untuk setiap pesan dalam `BatchPutMessage` permintaan keluar yang dikirimkannya. AWS IoT Analytics Pesan yang memiliki ID duplikat dibatalkan.  
Data input yang dikirim ke topik ini harus menggunakan format pesan berikut.    
**Properti pesan**    
`request`  
Data untuk mengirim ke saluran tertentu.  
Wajib: `true`  
Jenis: `object` yang mencakup properti berikut:    
`message`  
Perangkat atau sensor data sebagai JSON atau base64-encoded string.  
Wajib: `true`  
Jenis: `string`  
`id`  
ID arbitrer untuk permintaan. Properti ini digunakan untuk memetakan permintaan input untuk respons output. Ketika ditentukan, `id` properti dalam objek respon diatur ke nilai ini. Jika Anda menghilangkan properti ini, konektor menghasilkan ID.  
Wajib: `false`  
Jenis: `string`  
Pola yang valid: `.*`  
**Contoh masukan**  

```
{
    "request": {
        "message" : "{\"temp\":23.33}"
    },
    "id" : "req123"
}
```

**Filter topik:** `iotanalytics/channels/+/messages/binary/put`  
Gunakan topik ini untuk mengirim pesan yang tidak diformat ke konektor dan secara dinamis menentukan saluran tujuan.  
Data konektor tidak mengurai pesan input yang diterima pada topik ini. Ini memperlakukan mereka sebagai data biner. Sebelum mengirim pesan ke AWS IoT Analytics, konektor mengkodekan dan memformatnya agar sesuai dengan persyaratan `BatchPutMessage` API:  
+ Konektor base64-encodes data mentah dan termasuk muatan dikodekan dalam permintaan `BatchPutMessage` outbound.
+ Konektor menghasilkan dan menetapkan ID untuk setiap pesan input.
**catatan**  
Output respons konektor tidak menyertakan korelasi ID untuk pesan input ini.  
**Properti pesan**  
Tidak ada.

**Filter topik:** `#`  
Gunakan topik ini untuk mengirim format pesan apa pun ke saluran default. Ini sangat berguna ketika perangkat klien Anda mempublikasikan ke topik tetap atau ketika Anda ingin mengirim data ke saluran default dari perangkat klien yang tidak dapat memproses data ke dalam [format pesan yang didukung](#iot-analytics-connector-data-input-json) konektor.  
Anda menentukan sintaks topik dalam langganan yang Anda buat untuk menyambung konektor ini ke sumber data. Kami menyarankan Anda menentukan jalur topik alih-alih hanya menggunakan `#` wildcard dalam langganan Anda.  
Data konektor tidak mengurai pesan yang diterbitkan untuk topik input ini. Semua pesan input diperlakukan sebagai data biner. Sebelum mengirim pesan ke AWS IoT Analytics, konektor mengkodekan dan memformatnya agar sesuai dengan persyaratan `BatchPutMessage` API:  
+ Konektor base64-encodes data mentah dan termasuk muatan dikodekan dalam permintaan `BatchPutMessage` outbound.
+ Konektor menghasilkan dan menetapkan ID untuk setiap pesan input.
**catatan**  
Output respons konektor tidak menyertakan korelasi ID untuk pesan input ini.  
**Properti pesan**  
Tidak ada.

## Data output
<a name="iot-analytics-connector-data-output"></a>

Konektor ini menerbitkan informasi status sebagai data output pada topik MQTT. Informasi ini berisi respons yang dikembalikan oleh AWS IoT Analytics untuk setiap pesan masukan yang diterima dan dikirim AWS IoT Analytics.

<a name="topic-filter"></a>**Filter topik dalam langganan**  
`iotanalytics/messages/put/status`

**Contoh keluaran: Sukses**  

```
{
    "response" : {
        "status" : "success"
    },
    "id" : "req123"
}
```

**Contoh keluaran: Kegagalan**  

```
{
    "response" : {
        "status" : "fail",
        "error" : "ResourceNotFoundException",
        "error_message" : "A resource with the specified name could not be found."
    },
    "id" : "req123"
}
```
Jika konektor mendeteksi kesalahan yang dapat diulang (sebagai contoh, kesalahan koneksi), konektor mengulang lagi publikasinya dalam batch berikutnya. Backoff eksponensial ditangani oleh SDK. AWS Permintaan dengan kesalahan retryable ditambahkan kembali ke antrean saluran untuk penerbitan lebih lanjut sesuai dengan `IotAnalyticsQueueDropBehavior` parameter.

## Contoh Penggunaan
<a name="iot-analytics-connector-usage"></a>

<a name="connectors-setup-intro"></a>Gunakan langkah-langkah tingkat tinggi berikut untuk mengatur contoh fungsi Lambda Python 3.7 yang dapat Anda gunakan untuk mencoba konektor.

**catatan**  <a name="connectors-setup-get-started-topics"></a>
Jika Anda menggunakan waktu aktif Python lainnya, Anda dapat membuat symlink dari Python3.x ke Python 3.7.
Topik [Memulai dengan konektor (konsol)](connectors-console.md) dan [Memulai dengan konektor (CLI)](connectors-cli.md) berisi langkah-langkah terperinci yang menunjukkan cara mengonfigurasi dan men-deploy contoh konektor Notifikasi Twilio.

1. Pastikan Anda memenuhi [persyaratan](#iot-analytics-connector-req) untuk konektor.

   <a name="set-up-group-role"></a>Untuk persyaratan peran grup, Anda harus mengonfigurasi peran untuk memberikan izin yang diperlukan dan memastikan peran telah ditambahkan ke grup. Untuk informasi lebih lanjut, lihat [Mengelola peran grup Greengrass (konsol)](group-role.md#manage-group-role-console) atau [Mengelola peran grup Greengrass (CLI)](group-role.md#manage-group-role-cli).

1. <a name="connectors-setup-function"></a>Buat dan terbitkan fungsi Lambda yang mengirimkan data input ke konektor.

   Simpan [kode contoh](#iot-analytics-connector-usage-example) sebagai file PY. <a name="connectors-setup-function-sdk"></a>Unduh dan unzip [AWS IoT Greengrass Core SDK for Python](lambda-functions.md#lambda-sdks-core). Kemudian, buat paket zip yang berisi file PY dan folder `greengrasssdk` dalam tingkat root. Paket zip ini adalah paket deployment yang Anda unggah ke AWS Lambda.

   <a name="connectors-setup-function-publish"></a>Setelah Anda membuat fungsi Lambda Python 3.7, terbitkankan versi fungsi dan buat alias.

1. Konfigurasikan grup Greengrass Anda.

   1. <a name="connectors-setup-gg-function"></a>Tambahkan fungsi Lambda dengan aliasnya (direkomendasikan). Konfigurasikan siklus hidup Lambda sebagai berumur panjang (atau `"Pinned": true` dalam CLI).

   1. Tambahkan konektor dan konfigurasikan [parameter](#iot-analytics-connector-param).

   1. Tambahkan langganan yang mengizinkan konektor untuk menerima [data input](#iot-analytics-connector-data-input) dan mengirim [data output](#iot-analytics-connector-data-output) pada filter topik yang didukung.
      + <a name="connectors-setup-subscription-input-data"></a>Atur fungsi Lambda sebagai sumber, konektor sebagai target, dan gunakan filter topik input yang mendukung.
      + <a name="connectors-setup-subscription-output-data"></a>Atur konektor sebagai sumber, AWS IoT Core sebagai target, dan gunakan filter topik input yang mendukung. Anda menggunakan langganan ini untuk melihat pesan status di AWS IoT konsol.

1. <a name="connectors-setup-deploy-group"></a>Men-deploy grup.

1. <a name="connectors-setup-test-sub"></a>Di AWS IoT konsol, pada halaman **Uji**, berlangganan topik data keluaran untuk melihat pesan status dari konektor. Contoh fungsi Lambda yang berumur panjang dan mulai mengirim pesan segera setelah grup dalam-deploy.

   Setelah selesai pengujian, Anda dapat mengatur siklus hidup Lambda ke sesuai permintaan (atau `"Pinned": false` dalam CLI) dan men-deploy grup. Ini menghentikan fungsi dari mengirim pesan.

### Contoh
<a name="iot-analytics-connector-usage-example"></a>

Contoh fungsi Lambda berikut mengirimkan pesan input ke konektor.

```
import greengrasssdk
import time
import json
 
iot_client = greengrasssdk.client('iot-data')
send_topic = 'iotanalytics/channels/my_channel/messages/put'
 
def create_request_with_all_fields():
    return  {
        "request": {
            "message" : "{\"temp\":23.33}"
        },
        "id" : "req_123"
    }
 
def publish_basic_message():
    messageToPublish = create_request_with_all_fields()
    print("Message To Publish: ", messageToPublish)
    iot_client.publish(topic=send_topic,
        payload=json.dumps(messageToPublish))
 
publish_basic_message()
 
def lambda_handler(event, context):
    return
```

## Batas
<a name="iot-analytics-connector-limits"></a>

Konektor ini tunduk pada batas berikut.
+ Semua batasan yang diberlakukan oleh AWS SDK untuk Python (Boto3) untuk AWS IoT Analytics [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotanalytics.html#IoTAnalytics.Client.batch_put_message](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotanalytics.html#IoTAnalytics.Client.batch_put_message)tindakan.
+ Semua kuota yang diberlakukan oleh AWS IoT Analytics [ BatchPutMessage](https://docs.aws.amazon.com/iotanalytics/latest/userguide/api.html#cli-iotanalytics-batchputmessage)API. Untuk informasi selengkapnya, lihat [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/iot-analytics.html#limits_iot_analytics) AWS IoT Analytics di bagian. *Referensi Umum AWS*
  + 100.000 pesan per detik per saluran.
  + 100 pesan per batch.
  + 128 KB per pesan.

  API ini menggunakan nama saluran (bukan saluran ARNs), jadi pengiriman data ke saluran lintas wilayah atau lintas akun tidak didukung.
+ Semua kuota yang diberlakukan oleh AWS IoT Greengrass Core. Untuk informasi selengkapnya, lihat [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/greengrass.html#limits_greengrass) untuk AWS IoT Greengrass inti dalam. *Referensi Umum AWS*

  Kuota berikut mungkin berlaku secara khusus:
  + Ukuran maksimum pesan yang dikirim oleh perangkat adalah 128 KB.
  + Ukuran antrian pesan maksimum dalam router core Greengrass adalah 2,5 MB.
  + Panjang maksimum string topik adalah 256 byte karakter yang dikodekan UTF-8.

## Lisensi
<a name="iot-analytics-connector-license"></a>

Konektor IoT Analytics mencakup perangkat lunak/lisensi pihak ketiga berikut ini:<a name="boto-3-licenses"></a>
+ [AWS SDK untuk Python (Boto3)](https://pypi.org/project/boto3/)/Lisensi 2.0 Apache
+ [botocore](https://pypi.org/project/botocore/)/Apache License 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/PSF License
+ [docutils](https://pypi.org/project/docutils/)/BSD License, Lisensi Publik Umum (GPL) GNU, Lisensi Dasar Perangkat Lunak Python, Domain Publik
+ [jmespath](https://pypi.org/project/jmespath/)/MIT License
+ [s3transfer](https://pypi.org/project/s3transfer/)/Apache License 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/Lisensi MIT

Konektor ini dirilis di bawah [Perjanjian Lisensi Perangkat lunak core Greengrass](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Changelog
<a name="iot-analytics-connector-changelog"></a>

Tabel berikut menjelaskan perubahan dalam setiap versi konektor.


| Versi | Perubahan | 
| --- | --- | 
| 4 | Tambahkan `IsolationMode` parameter untuk mengonfigurasi mode kontainerisasi untuk konektor. | 
| 3 | <a name="upgrade-runtime-py3.7"></a>Memperbarui waktu aktif Lambda untuk Python 3.7, yang mengubah persyaratan waktu aktif. | 
| 2 | Perbaiki untuk mengurangi pencatatan berlebihan. | 
| 1 | Pelepasan awal.  | 

<a name="one-conn-version"></a>Sebuah grup Greengrass dapat berisi hanya satu versi konektor pada suatu waktu. Untuk informasi lebih lanjut tentang pembaruan versi konektor, lihat [Versi upgrade konektor](connectors.md#upgrade-connector-versions).

## Lihat juga
<a name="iot-analytics-connector-see-also"></a>
+ [Integrasikan dengan layanan dan protokol menggunakan konektor Greengrass](connectors.md)
+ [Memulai dengan konektor Greengrass (konsol)](connectors-console.md)
+ [Memulai dengan konektor Greengrass (CLI)](connectors-cli.md)
+  [Apa itu AWS IoT Analytics?](https://docs.aws.amazon.com/iotanalytics/latest/userguide/welcome.html) di *Panduan AWS IoT Analytics Pengguna*