

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.

# Kinesis Firehose
<a name="kinesis-firehose-connector"></a>

[Konektor](connectors.md) Kinesis Firehose menerbitkan data melalui aliran pengiriman Amazon Data Firehose ke tujuan seperti Amazon S3, Amazon Redshift, atau Amazon Service. OpenSearch 

Konektor ini adalah produsen data untuk aliran pengiriman Kinesis. Ia menerima data input pada topik MQTT, dan mengirimkan data ke aliran pengiriman tertentu. Aliran pengiriman kemudian mengirimkan catatan data ke tujuan yang dikonfigurasi (sebagai contoh, sebuah bucket S3).

Konektor ini memiliki versi berikut.


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

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

## Persyaratan
<a name="kinesis-firehose-connector-req"></a>

Konektor ini memiliki persyaratan sebagai berikut:

------
#### [ Version 4 - 5 ]
+ <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="req-kinesis-firehose-stream"></a>Aliran pengiriman Kinesis yang dikonfigurasi. Untuk informasi selengkapnya, lihat [Membuat aliran pengiriman Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) di Panduan Pengembang *Amazon Kinesis Firehose*.
+ <a name="req-kinesis-firehose-iam-policy-v2"></a>[Peran grup Greengrass](group-role.md) dikonfigurasi untuk mengizinkan `firehose:PutRecord` dan tindakan `firehose:PutRecordBatch` dalam aliran pengiriman target, seperti yang ditunjukkan dalam contoh kebijakan IAM berikut.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
          {
              "Sid":"Stmt1528133056761",
              "Action":[
                  "firehose:PutRecord",
                  "firehose:PutRecordBatch"
              ],
              "Effect":"Allow",
              "Resource":[
              "arn:aws:firehose:us-east-1:123456789012:deliverystream/stream-name"
              ]
          }
      ]
   }
  ```

------

  Konektor ini mengizinkan Anda untuk secara dinamis menimpa aliran pengiriman default dalam muatan pesan input. Jika implementasi Anda menggunakan fitur ini, kebijakan IAM harus mencakup semua aliran target sebagai sumber daya. Anda dapat memberikan akses terperinci atau bersyarat ke sumber daya (sebagai contoh, dengan menggunakan skema penamaan wildcard \$1).

  <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 2 - 3 ]
+ <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="req-kinesis-firehose-stream"></a>Aliran pengiriman Kinesis yang dikonfigurasi. Untuk informasi selengkapnya, lihat [Membuat aliran pengiriman Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) di Panduan Pengembang *Amazon Kinesis Firehose*.
+ <a name="req-kinesis-firehose-iam-policy-v2"></a>[Peran grup Greengrass](group-role.md) dikonfigurasi untuk mengizinkan `firehose:PutRecord` dan tindakan `firehose:PutRecordBatch` dalam aliran pengiriman target, seperti yang ditunjukkan dalam contoh kebijakan IAM berikut.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
          {
              "Sid":"Stmt1528133056761",
              "Action":[
                  "firehose:PutRecord",
                  "firehose:PutRecordBatch"
              ],
              "Effect":"Allow",
              "Resource":[
              "arn:aws:firehose:us-east-1:123456789012:deliverystream/stream-name"
              ]
          }
      ]
   }
  ```

------

  Konektor ini mengizinkan Anda untuk secara dinamis menimpa aliran pengiriman default dalam muatan pesan input. Jika implementasi Anda menggunakan fitur ini, kebijakan IAM harus mencakup semua aliran target sebagai sumber daya. Anda dapat memberikan akses terperinci atau bersyarat ke sumber daya (sebagai contoh, dengan menggunakan skema penamaan wildcard \$1).

  <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).

------
#### [ Version 1 ]
+ <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="req-kinesis-firehose-stream"></a>Aliran pengiriman Kinesis yang dikonfigurasi. Untuk informasi selengkapnya, lihat [Membuat aliran pengiriman Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) di Panduan Pengembang *Amazon Kinesis Firehose*.
+ [Peran grup Greengrass](group-role.md) dikonfigurasi untuk mengizinkan `firehose:PutRecord` tindakan dalam aliran pengiriman target, seperti yang ditunjukkan dalam kebijakan IAM berikut.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
          {
              "Sid":"Stmt1528133056761",
              "Action":[
                  "firehose:PutRecord"
              ],
              "Effect":"Allow",
              "Resource":[
              "arn:aws:firehose:us-east-1:123456789012:deliverystream/stream-name"
              ]
          }
      ]
   }
  ```

------

  <a name="role-resources"></a>Konektor ini mengizinkan Anda untuk secara dinamis menimpa aliran pengiriman default dalam muatan pesan input. Jika implementasi Anda menggunakan fitur ini, kebijakan IAM harus mencakup semua aliran target sebagai sumber daya. Anda dapat memberikan akses terperinci atau bersyarat ke sumber daya (sebagai contoh, dengan menggunakan skema penamaan wildcard \$1).

  <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 Konektor
<a name="kinesis-firehose-connector-param"></a>

Konektor ini menyediakan parameter berikut:

------
#### [ Versions 5 ]

`DefaultDeliveryStreamArn`  <a name="kinesis-firehose-DefaultDeliveryStreamArn"></a>
ARN dari aliran pengiriman Firehose default untuk mengirim data ke. Aliran tujuan dapat diganti oleh properti `delivery_stream_arn` dalam muatan pesan input.  
Peran grup harus mengizinkan tindakan yang sesuai pada semua aliran pengiriman target. Untuk informasi selengkapnya, lihat [Persyaratan](#kinesis-firehose-connector-req).
Nama tampilan di AWS IoT konsol: **Arn aliran pengiriman default**  
Wajib: `true`  
Jenis: `string`  
Pola yang valid: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`

`DeliveryStreamQueueSize`  <a name="kinesis-firehose-DeliveryStreamQueueSize"></a>
Jumlah maksimum data untuk mempertahankan dalam memori sebelum catatan baru untuk aliran pengiriman yang sama ditolak. Nilai minimumnya adalah 2000.  
Nama tampilan di AWS IoT konsol: **Jumlah maksimum catatan untuk buffer (per aliran**)  
Wajib: `true`  
Jenis: `string`  
Pola yang valid: `^([2-9]\\d{3}|[1-9]\\d{4,})$`

`MemorySize`  <a name="kinesis-firehose-MemorySize"></a>
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]+$`

`PublishInterval`  <a name="kinesis-firehose-PublishInterval"></a>
Interval (dalam detik) untuk menerbitkan catatan ke Firehose. Untuk menonaktifkan batching, atur nilai ini ke 0.  
Nama tampilan di AWS IoT konsol: **Publikasikan interval**  
Wajib: `true`  
Jenis: `string`  
Nilai yang valid: `0 - 900`  
Pola yang valid: `[0-9]|[1-9]\\d|[1-9]\\d\\d|900`

`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$`

------
#### [ Versions 2 - 4 ]

`DefaultDeliveryStreamArn`  <a name="kinesis-firehose-DefaultDeliveryStreamArn"></a>
ARN dari aliran pengiriman Firehose default untuk mengirim data ke. Aliran tujuan dapat diganti oleh properti `delivery_stream_arn` dalam muatan pesan input.  
Peran grup harus mengizinkan tindakan yang sesuai pada semua aliran pengiriman target. Untuk informasi selengkapnya, lihat [Persyaratan](#kinesis-firehose-connector-req).
Nama tampilan di AWS IoT konsol: **Arn aliran pengiriman default**  
Wajib: `true`  
Jenis: `string`  
Pola yang valid: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`

`DeliveryStreamQueueSize`  <a name="kinesis-firehose-DeliveryStreamQueueSize"></a>
Jumlah maksimum data untuk mempertahankan dalam memori sebelum catatan baru untuk aliran pengiriman yang sama ditolak. Nilai minimumnya adalah 2000.  
Nama tampilan di AWS IoT konsol: **Jumlah maksimum catatan untuk buffer (per aliran**)  
Wajib: `true`  
Jenis: `string`  
Pola yang valid: `^([2-9]\\d{3}|[1-9]\\d{4,})$`

`MemorySize`  <a name="kinesis-firehose-MemorySize"></a>
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]+$`

`PublishInterval`  <a name="kinesis-firehose-PublishInterval"></a>
Interval (dalam detik) untuk menerbitkan catatan ke Firehose. Untuk menonaktifkan batching, atur nilai ini ke 0.  
Nama tampilan di AWS IoT konsol: **Publikasikan interval**  
Wajib: `true`  
Jenis: `string`  
Nilai yang valid: `0 - 900`  
Pola yang valid: `[0-9]|[1-9]\\d|[1-9]\\d\\d|900`

------
#### [ Version 1 ]

`DefaultDeliveryStreamArn`  <a name="kinesis-firehose-DefaultDeliveryStreamArn"></a>
ARN dari aliran pengiriman Firehose default untuk mengirim data ke. Aliran tujuan dapat diganti oleh properti `delivery_stream_arn` dalam muatan pesan input.  
Peran grup harus mengizinkan tindakan yang sesuai pada semua aliran pengiriman target. Untuk informasi selengkapnya, lihat [Persyaratan](#kinesis-firehose-connector-req).
Nama tampilan di AWS IoT konsol: **Arn aliran pengiriman default**  
Wajib: `true`  
Jenis: `string`  
Pola yang valid: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`

------

**Example**  <a name="kinesis-firehose-connector-create"></a>
**Buat Contoh Konektor (AWS CLI)**  
Perintah CLI berikut membuat `ConnectorDefinition` dengan versi awal yang mengandungi konektor.  

```
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{
    "Connectors": [
        {
            "Id": "MyKinesisFirehoseConnector",
            "ConnectorArn": "arn:aws:greengrass:region::/connectors/KinesisFirehose/versions/5",
            "Parameters": {
                "DefaultDeliveryStreamArn": "arn:aws:firehose:region:account-id:deliverystream/stream-name",
                "DeliveryStreamQueueSize": "5000",
                "MemorySize": "65535",
                "PublishInterval": "10", 
                "IsolationMode" : "GreengrassContainer"
            }
        }
    ]
}'
```

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="kinesis-firehose-connector-data-input"></a>

Konektor ini menerima konten stream pada topik MQTT, dan kemudian mengirimkan konten ke aliran pengiriman target. Ia menerima dua jenis data input:
+ Data JSON pada `kinesisfirehose/message` Topik.
+ Data biner pada `kinesisfirehose/message/binary/#` Topik.

------
#### [ Versions 2 - 5 ]<a name="kinesis-firehose-input-data"></a>

**Filter topik**: `kinesisfirehose/message`  
Gunakan topik ini untuk mengirim pesan yang berisi data JSON.    
**Properti pesan**    
`request`  
Data yang akan dikirim ke aliran pengiriman dan aliran pengiriman target, jika berbeda dari aliran default.  
Wajib: `true`  
Jenis: `object` yang mencakup properti berikut:    
`data`  
Data untuk mengirim ke aliran pengiriman.  
Wajib: `true`  
Jenis: `string`  
`delivery_stream_arn`  
ARN dari target aliran pengiriman Kinesis. Sertakan properti ini untuk menimpa aliran pengiriman default.  
Wajib: `false`  
Jenis: `string`  
Pola yang valid: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`  
`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 tidak menggunakan fitur ini, Anda dapat menghilangkan properti ini atau menentukan string kosong.  
Wajib: `false`  
Jenis: `string`  
Pola yang valid: `.*`  
**Contoh masukan**  

```
{
     "request": {
        "delivery_stream_arn": "arn:aws:firehose:region:account-id:deliverystream/stream2-name",
        "data": "Data to send to the delivery stream."
     },
     "id": "request123"
}
```
 

**Filter topik**: `kinesisfirehose/message/binary/#`  
Gunakan topik ini untuk mengirim pesan yang berisi data biner. Konektor tidak mengurai data biner. Data dialirkan seperti apa adanya.  
Untuk memetakan permintaan input untuk respon output, mengganti `#` wildcard dalam topik pesan dengan ID permintaan arbitrer. Misalnya, jika Anda mempublikasikan pesan ke `kinesisfirehose/message/binary/request123`, properti `id` di objek respons akan ditetapkan ke `request123`.  
Jika Anda tidak ingin memetakan permintaan untuk respon, Anda dapat menerbitkan pesan Anda ke `kinesisfirehose/message/binary/`. Pastikan untuk menyertakan garis miring.

------
#### [ Version 1 ]<a name="kinesis-firehose-input-data"></a>

**Filter topik**: `kinesisfirehose/message`  
Gunakan topik ini untuk mengirim pesan yang berisi data JSON.    
**Properti pesan**    
`request`  
Data yang akan dikirim ke aliran pengiriman dan aliran pengiriman target, jika berbeda dari aliran default.  
Wajib: `true`  
Jenis: `object` yang mencakup properti berikut:    
`data`  
Data untuk mengirim ke aliran pengiriman.  
Wajib: `true`  
Jenis: `string`  
`delivery_stream_arn`  
ARN dari target aliran pengiriman Kinesis. Sertakan properti ini untuk menimpa aliran pengiriman default.  
Wajib: `false`  
Jenis: `string`  
Pola yang valid: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`  
`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 tidak menggunakan fitur ini, Anda dapat menghilangkan properti ini atau menentukan string kosong.  
Wajib: `false`  
Jenis: `string`  
Pola yang valid: `.*`  
**Contoh masukan**  

```
{
     "request": {
        "delivery_stream_arn": "arn:aws:firehose:region:account-id:deliverystream/stream2-name",
        "data": "Data to send to the delivery stream."
     },
     "id": "request123"
}
```
 

**Filter topik**: `kinesisfirehose/message/binary/#`  
Gunakan topik ini untuk mengirim pesan yang berisi data biner. Konektor tidak mengurai data biner. Data dialirkan seperti apa adanya.  
Untuk memetakan permintaan input untuk respon output, mengganti `#` wildcard dalam topik pesan dengan ID permintaan arbitrer. Misalnya, jika Anda mempublikasikan pesan ke `kinesisfirehose/message/binary/request123`, properti `id` di objek respons akan ditetapkan ke `request123`.  
Jika Anda tidak ingin memetakan permintaan untuk respon, Anda dapat menerbitkan pesan Anda ke `kinesisfirehose/message/binary/`. Pastikan untuk menyertakan garis miring.

------

## Data output
<a name="kinesis-firehose-connector-data-output"></a>

Konektor ini menerbitkan informasi status sebagai data output pada topik MQTT.

------
#### [ Versions 2 - 5 ]

<a name="topic-filter"></a>**Filter topik dalam langganan**  <a name="kinesis-firehose-output-topic-status"></a>
`kinesisfirehose/message/status`

**Contoh keluaran**  
Tanggapan berisi status setiap catatan data yang dikirim dalam batch.  

```
{
    "response": [
        {
            "ErrorCode": "error",
            "ErrorMessage": "test error",
            "id": "request123",
            "status": "fail"
        },
        {
            "firehose_record_id": "xyz2",
            "id": "request456",
            "status": "success"
        },
        {
            "firehose_record_id": "xyz3",
            "id": "request890",
            "status": "success"
        }
    ]
}
```
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 yang gagal dengan kesalahan retryable ditambahkan kembali ke akhir antrian untuk penerbitan lebih lanjut.

------
#### [ Version 1 ]

<a name="topic-filter"></a>**Filter topik dalam langganan**  <a name="kinesis-firehose-output-topic-status"></a>
`kinesisfirehose/message/status`

**Contoh keluaran: Sukses**  

```
{
   "response": {
       "firehose_record_id": "1lxfuuuFomkpJYzt/34ZU/r8JYPf8Wyf7AXqlXm",
       "status": "success"
    },
    "id": "request123"
}
```

**Contoh keluaran: Kegagalan**  

```
{
   "response" : {
       "error": "ResourceNotFoundException",
       "error_message": "An error occurred (ResourceNotFoundException) when calling the PutRecord operation: Firehose test1 not found under account 123456789012.",
       "status": "fail"
   },
   "id": "request123"
}
```

------

## Contoh Penggunaan
<a name="kinesis-firehose-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](#kinesis-firehose-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](#kinesis-firehose-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](#kinesis-firehose-connector-param).

   1. Tambahkan langganan yang mengizinkan konektor untuk menerima [data input JSON](#kinesis-firehose-connector-data-input) dan mengirim [data output](#kinesis-firehose-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="kinesis-firehose-connector-usage-example"></a>

Contoh fungsi Lambda berikut mengirimkan pesan input ke konektor. Pesan ini berisi data JSON.

```
import greengrasssdk
import time
import json

iot_client = greengrasssdk.client('iot-data')
send_topic = 'kinesisfirehose/message'

def create_request_with_all_fields():
    return  {
        "request": {
            "data": "Message from Firehose Connector Test"
        },
        "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
```

## Lisensi
<a name="kinesis-firehose-connector-license"></a>

Konektor Kinesis Firehose 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="kinesis-firehose-connector-changelog"></a>

Tabel berikut menjelaskan perubahan dalam setiap versi konektor.


| Versi | Perubahan | 
| --- | --- | 
| 5 | <a name="isolation-mode-changelog"></a>Ditambahkan parameter `IsolationMode` untuk mengonfigurasi mode kontainerisasi untuk konektor. | 
| 4 | <a name="upgrade-runtime-py3.7"></a>Memperbarui waktu aktif Lambda untuk Python 3.7, yang mengubah persyaratan waktu aktif. | 
| 3 | Perbaiki untuk mengurangi logging berlebihan dan perbaikan bug kecil lainnya.  | 
| 2 | Menambahkan dukungan untuk mengirim catatan data batch ke Firehose pada interval tertentu. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/kinesis-firehose-connector.html)  | 
| 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="kinesis-firehose-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 Amazon Kinesis Data Firehose?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) dalam *Panduan Developer Amazon Kinesis*