

Avis de fin de support : le 7 octobre 2026, AWS le support de. AWS IoT Greengrass Version 1 Après le 7 octobre 2026, vous ne pourrez plus accéder aux AWS IoT Greengrass V1 ressources. Pour plus d'informations, rendez-vous sur [Migrer depuis AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Le [connecteur](connectors.md) Kinesis Firehose publie des données via un flux de diffusion Amazon Data Firehose vers des destinations telles qu'Amazon S3, Amazon Redshift ou Amazon Service. OpenSearch 

Ce connecteur est un producteur de données pour un flux de diffusion Kinesis. Il reçoit les données d'entrée dans une rubrique MQTT et envoie les données à un flux de diffusion spécifié. Le flux de diffusion envoie ensuite l'enregistrement des données à la destination configurée (par exemple, un compartiment S3).

Ce connecteur possède les versions suivantes.


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

Pour obtenir des informations sur les changements apportés aux versions, veuillez consulter le [Journal des modifications](#kinesis-firehose-connector-changelog).

## Prérequis
<a name="kinesis-firehose-connector-req"></a>

Ce connecteur possède les critères suivants :

------
#### [ Version 4 - 5 ]
+ <a name="conn-req-ggc-v1.9.3"></a>AWS IoT Greengrass Logiciel de base v1.9.3 ou version ultérieure.
+ <a name="conn-req-py-3.7-and-3.8"></a>[Python](https://www.python.org/) version 3.7 ou 3.8 installé sur le périphérique principal et ajouté à la variable d'environnement PATH.
**Note**  <a name="use-runtime-py3.8"></a>
Pour utiliser Python 3.8, exécutez la commande suivante pour créer un lien symbolique entre le dossier d'installation par défaut de Python 3.7 et les fichiers binaires Python 3.8 installés.  

  ```
  sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7
  ```
Ceci configure votre appareil de sorte qu'il réponde aux exigence de Python pour AWS IoT Greengrass.
+ <a name="req-kinesis-firehose-stream"></a>Un flux de diffusion Kinesis configuré. Pour plus d'informations, consultez la section [Création d'un flux de diffusion Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) dans le manuel du développeur *Amazon Kinesis Firehose*.
+ <a name="req-kinesis-firehose-iam-policy-v2"></a>Le [rôle de groupe Greengrass](group-role.md) est configuré pour autoriser les `firehose:PutRecordBatch` actions `firehose:PutRecord` et sur le flux de diffusion cible, comme illustré dans l'exemple de politique IAM suivant.

------
#### [ 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"
              ]
          }
      ]
   }
  ```

------

  Ce connecteur vous permet de remplacer le flux de diffusion par défaut de façon dynamique dans la charge utile des messages d'entrée. Si votre implémentation utilise cette fonctionnalité, la politique IAM doit inclure tous les flux cibles en tant que ressources. Vous pouvez octroyer un accès précis ou conditionnel aux ressources (par exemple, en utilisant un schéma d'attribution de nom avec caractère générique \$1).

  <a name="set-up-group-role"></a>Pour l'exigence de rôle de groupe, vous devez configurer le rôle de manière à accorder les autorisations requises et à vous assurer que le rôle a été ajouté au groupe. Pour plus d’informations, consultez [Gestion du rôle de groupe Greengrass (console)](group-role.md#manage-group-role-console) ou [Gestion du rôle de groupe Greengrass (interface de ligne de commande)](group-role.md#manage-group-role-cli).

------
#### [ Versions 2 - 3 ]
+ <a name="conn-req-ggc-v1.7.0"></a>AWS IoT Greengrass Logiciel principal v1.7 ou version ultérieure.
+ [Python](https://www.python.org/) version 2.7 installé sur le périphérique principal et ajouté à la variable d'environnement PATH.
+ <a name="req-kinesis-firehose-stream"></a>Un flux de diffusion Kinesis configuré. Pour plus d'informations, consultez la section [Création d'un flux de diffusion Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) dans le manuel du développeur *Amazon Kinesis Firehose*.
+ <a name="req-kinesis-firehose-iam-policy-v2"></a>Le [rôle de groupe Greengrass](group-role.md) est configuré pour autoriser les `firehose:PutRecordBatch` actions `firehose:PutRecord` et sur le flux de diffusion cible, comme illustré dans l'exemple de politique IAM suivant.

------
#### [ 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"
              ]
          }
      ]
   }
  ```

------

  Ce connecteur vous permet de remplacer le flux de diffusion par défaut de façon dynamique dans la charge utile des messages d'entrée. Si votre implémentation utilise cette fonctionnalité, la politique IAM doit inclure tous les flux cibles en tant que ressources. Vous pouvez octroyer un accès précis ou conditionnel aux ressources (par exemple, en utilisant un schéma d'attribution de nom avec caractère générique \$1).

  <a name="set-up-group-role"></a>Pour l'exigence de rôle de groupe, vous devez configurer le rôle de manière à accorder les autorisations requises et à vous assurer que le rôle a été ajouté au groupe. Pour plus d’informations, consultez [Gestion du rôle de groupe Greengrass (console)](group-role.md#manage-group-role-console) ou [Gestion du rôle de groupe Greengrass (interface de ligne de commande)](group-role.md#manage-group-role-cli).

------
#### [ Version 1 ]
+ <a name="conn-req-ggc-v1.7.0"></a>AWS IoT Greengrass Logiciel principal v1.7 ou version ultérieure.
+ [Python](https://www.python.org/) version 2.7 installé sur le périphérique principal et ajouté à la variable d'environnement PATH.
+ <a name="req-kinesis-firehose-stream"></a>Un flux de diffusion Kinesis configuré. Pour plus d'informations, consultez la section [Création d'un flux de diffusion Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) dans le manuel du développeur *Amazon Kinesis Firehose*.
+ Le [rôle de groupe Greengrass](group-role.md) est configuré pour autoriser l'`firehose:PutRecord`action sur le flux de diffusion cible, comme illustré dans l'exemple de politique IAM suivant.

------
#### [ 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>Ce connecteur vous permet de remplacer le flux de diffusion par défaut de façon dynamique dans la charge utile des messages d'entrée. Si votre implémentation utilise cette fonctionnalité, la politique IAM doit inclure tous les flux cibles en tant que ressources. Vous pouvez octroyer un accès précis ou conditionnel aux ressources (par exemple, en utilisant un schéma d'attribution de nom avec caractère générique \$1).

  <a name="set-up-group-role"></a>Pour l'exigence de rôle de groupe, vous devez configurer le rôle de manière à accorder les autorisations requises et à vous assurer que le rôle a été ajouté au groupe. Pour plus d’informations, consultez [Gestion du rôle de groupe Greengrass (console)](group-role.md#manage-group-role-console) ou [Gestion du rôle de groupe Greengrass (interface de ligne de commande)](group-role.md#manage-group-role-cli).

------

## Paramètres du connecteur
<a name="kinesis-firehose-connector-param"></a>

Ce connecteur fournit les paramètres suivants :

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

`DefaultDeliveryStreamArn`  <a name="kinesis-firehose-DefaultDeliveryStreamArn"></a>
L'ARN du flux de diffusion Firehose par défaut auquel envoyer les données. Le flux de destination peut être remplacé par la propriété `delivery_stream_arn` dans la charge utile du message d'entrée.  
Le rôle de groupe doit autoriser les actions appropriées sur toutes les flux cibles de la diffusion. Pour de plus amples informations, veuillez consulter [Prérequis](#kinesis-firehose-connector-req).
Nom d'affichage dans la AWS IoT console : **ARN du flux de diffusion par défaut**  
Nécessaire : `true`  
Type : `string`  
Modèle valide : `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`

`DeliveryStreamQueueSize`  <a name="kinesis-firehose-DeliveryStreamQueueSize"></a>
Le nombre maximal d'enregistrements à conserver en mémoire avant que de nouveaux enregistrements pour le même flux de diffusion soient rejetés. La valeur minimale est de 2000.  
Nom affiché dans la AWS IoT console : **nombre maximum d'enregistrements à mettre en mémoire tampon (par flux)**  
Nécessaire : `true`  
Type : `string`  
Modèle valide : `^([2-9]\\d{3}|[1-9]\\d{4,})$`

`MemorySize`  <a name="kinesis-firehose-MemorySize"></a>
Quantité de mémoire (en Ko) allouée à ce connecteur.  
Nom affiché dans la AWS IoT console : **Taille de la mémoire**  
Nécessaire : `true`  
Type : `string`  
Modèle valide : `^[0-9]+$`

`PublishInterval`  <a name="kinesis-firehose-PublishInterval"></a>
Intervalle (en secondes) de publication des enregistrements dans Firehose. Pour désactiver la mise en lots, définissez cette valeur sur 0.  
Nom d'affichage dans la AWS IoT console : **Intervalle de publication**  
Nécessaire : `true`  
Type : `string`  
Valeurs valides : `0 - 900`  
Modèle valide : `[0-9]|[1-9]\\d|[1-9]\\d\\d|900`

`IsolationMode`  <a name="IsolationMode"></a>
Mode [conteneurisation](connectors.md#connector-containerization) de ce connecteur. La valeur par défaut est`GreengrassContainer`, ce qui signifie que le connecteur s'exécute dans un environnement d'exécution isolé à l'intérieur du AWS IoT Greengrass conteneur.  
Le paramètre de conteneurisation par défaut pour le groupe ne s'applique pas aux connecteurs.
Nom affiché dans la AWS IoT console : **mode d'isolation du conteneur**  
Nécessaire : `false`  
Type : `string`  
Valeurs valides : `GreengrassContainer` ou `NoContainer`  
Modèle valide : `^NoContainer$|^GreengrassContainer$`

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

`DefaultDeliveryStreamArn`  <a name="kinesis-firehose-DefaultDeliveryStreamArn"></a>
L'ARN du flux de diffusion Firehose par défaut auquel envoyer les données. Le flux de destination peut être remplacé par la propriété `delivery_stream_arn` dans la charge utile du message d'entrée.  
Le rôle de groupe doit autoriser les actions appropriées sur toutes les flux cibles de la diffusion. Pour de plus amples informations, veuillez consulter [Prérequis](#kinesis-firehose-connector-req).
Nom d'affichage dans la AWS IoT console : **ARN du flux de diffusion par défaut**  
Nécessaire : `true`  
Type : `string`  
Modèle valide : `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`

`DeliveryStreamQueueSize`  <a name="kinesis-firehose-DeliveryStreamQueueSize"></a>
Le nombre maximal d'enregistrements à conserver en mémoire avant que de nouveaux enregistrements pour le même flux de diffusion soient rejetés. La valeur minimale est de 2000.  
Nom affiché dans la AWS IoT console : **nombre maximum d'enregistrements à mettre en mémoire tampon (par flux)**  
Nécessaire : `true`  
Type : `string`  
Modèle valide : `^([2-9]\\d{3}|[1-9]\\d{4,})$`

`MemorySize`  <a name="kinesis-firehose-MemorySize"></a>
Quantité de mémoire (en Ko) allouée à ce connecteur.  
Nom affiché dans la AWS IoT console : **Taille de la mémoire**  
Nécessaire : `true`  
Type : `string`  
Modèle valide : `^[0-9]+$`

`PublishInterval`  <a name="kinesis-firehose-PublishInterval"></a>
Intervalle (en secondes) de publication des enregistrements dans Firehose. Pour désactiver la mise en lots, définissez cette valeur sur 0.  
Nom d'affichage dans la AWS IoT console : **Intervalle de publication**  
Nécessaire : `true`  
Type : `string`  
Valeurs valides : `0 - 900`  
Modèle valide : `[0-9]|[1-9]\\d|[1-9]\\d\\d|900`

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

`DefaultDeliveryStreamArn`  <a name="kinesis-firehose-DefaultDeliveryStreamArn"></a>
L'ARN du flux de diffusion Firehose par défaut auquel envoyer les données. Le flux de destination peut être remplacé par la propriété `delivery_stream_arn` dans la charge utile du message d'entrée.  
Le rôle de groupe doit autoriser les actions appropriées sur toutes les flux cibles de la diffusion. Pour de plus amples informations, veuillez consulter [Prérequis](#kinesis-firehose-connector-req).
Nom d'affichage dans la AWS IoT console : **ARN du flux de diffusion par défaut**  
Nécessaire : `true`  
Type : `string`  
Modèle valide : `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>
**Exemple de création d'un connecteur (AWS CLI)**  
La commande CLI suivante crée un `ConnectorDefinition` avec une version initiale contenant le connecteur.  

```
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"
            }
        }
    ]
}'
```

Dans la AWS IoT Greengrass console, vous pouvez ajouter un connecteur depuis la page **Connecteurs** du groupe. Pour de plus amples informations, veuillez consulter [Mise en route avec les connecteurs Greengrass (console)](connectors-console.md).

## Données d'entrée
<a name="kinesis-firehose-connector-data-input"></a>

Ce connecteur accepte de diffuser le contenu sur les rubriques MQTT, puis renvoie le contenu vers le flux de diffusion cible. Il accepte deux types de données d'entrée :
+ les données JSON dans la rubrique `kinesisfirehose/message`.
+ les données binaires dans la rubrique `kinesisfirehose/message/binary/#`.

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

**Filtre de rubriques :** `kinesisfirehose/message`  
Utilisez cette rubrique pour envoyer un message qui contient des données JSON.    
**Propriétés des messages**    
`request`  
Données à envoyer au flux de diffusion et au flux de diffusion cible, s'il est différent du flux par défaut.  
Nécessaire : `true`  
Type : `object` qui inclut les propriétés suivantes :    
`data`  
Données à envoyer au flux de diffusion.  
Nécessaire : `true`  
Type : `string`  
`delivery_stream_arn`  
L'ARN du flux de diffusion Kinesis cible. Incluez cette propriété pour remplacer le flux de diffusion par défaut.  
Nécessaire : `false`  
Type : `string`  
Modèle valide : `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`  
`id`  
ID arbitraire de la demande. Cette propriété est utilisée pour mapper une demande d'entrée à une réponse de sortie. Lorsque spécifiée, la propriété `id` dans l'objet de réponse est définie sur cette valeur. Si vous n'utilisez pas cette fonctionnalité, vous pouvez omettre cette propriété ou spécifier une chaîne vide.  
Nécessaire : `false`  
Type : `string`  
Modèle valide : `.*`  
**Exemple d'entrée**  

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

**Filtre de rubriques :** `kinesisfirehose/message/binary/#`  
Utilisez cette rubrique pour envoyer un message qui contient des données binaires. Le connecteur n'analyse pas les données binaires. Les données sont diffusées en l'état.  
Pour mapper la demande d'entrée à une réponse de sortie, remplacez le caractère générique `#` dans la rubrique du message par un ID de demande arbitraire. Par exemple, si vous publiez un message dans `kinesisfirehose/message/binary/request123`, la propriété `id` dans l'objet de réponse est définie sur `request123`.  
Si vous ne souhaitez pas mapper une demande à une réponse, vous pouvez publier vos messages dans `kinesisfirehose/message/binary/`. Veillez à inclure la barre oblique de fin (/).

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

**Filtre de rubriques :** `kinesisfirehose/message`  
Utilisez cette rubrique pour envoyer un message qui contient des données JSON.    
**Propriétés des messages**    
`request`  
Données à envoyer au flux de diffusion et au flux de diffusion cible, s'il est différent du flux par défaut.  
Nécessaire : `true`  
Type : `object` qui inclut les propriétés suivantes :    
`data`  
Données à envoyer au flux de diffusion.  
Nécessaire : `true`  
Type : `string`  
`delivery_stream_arn`  
L'ARN du flux de diffusion Kinesis cible. Incluez cette propriété pour remplacer le flux de diffusion par défaut.  
Nécessaire : `false`  
Type : `string`  
Modèle valide : `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`  
`id`  
ID arbitraire de la demande. Cette propriété est utilisée pour mapper une demande d'entrée à une réponse de sortie. Lorsque spécifiée, la propriété `id` dans l'objet de réponse est définie sur cette valeur. Si vous n'utilisez pas cette fonctionnalité, vous pouvez omettre cette propriété ou spécifier une chaîne vide.  
Nécessaire : `false`  
Type : `string`  
Modèle valide : `.*`  
**Exemple d'entrée**  

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

**Filtre de rubriques :** `kinesisfirehose/message/binary/#`  
Utilisez cette rubrique pour envoyer un message qui contient des données binaires. Le connecteur n'analyse pas les données binaires. Les données sont diffusées en l'état.  
Pour mapper la demande d'entrée à une réponse de sortie, remplacez le caractère générique `#` dans la rubrique du message par un ID de demande arbitraire. Par exemple, si vous publiez un message dans `kinesisfirehose/message/binary/request123`, la propriété `id` dans l'objet de réponse est définie sur `request123`.  
Si vous ne souhaitez pas mapper une demande à une réponse, vous pouvez publier vos messages dans `kinesisfirehose/message/binary/`. Veillez à inclure la barre oblique de fin (/).

------

## Données de sortie
<a name="kinesis-firehose-connector-data-output"></a>

Ce connecteur publie des informations d'état sous forme de données de sortie dans une rubrique MQTT.

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

<a name="topic-filter"></a>**Filtre de rubrique dans l'abonnement**  <a name="kinesis-firehose-output-topic-status"></a>
`kinesisfirehose/message/status`

**Exemple de sortie**  
La réponse contient le statut de chaque enregistrement de données envoyé dans le lot.  

```
{
    "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"
        }
    ]
}
```
Si le connecteur détecte une erreur réessayable (par exemple, des erreurs de connexion), il réessaie de publier dans le lot suivant. Le recul exponentiel est géré par le AWS SDK. Les demandes qui échouent avec des erreurs pouvant être retentées sont ajoutées à la fin de la file d'attente pour la publication.

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

<a name="topic-filter"></a>**Filtre de rubrique dans l'abonnement**  <a name="kinesis-firehose-output-topic-status"></a>
`kinesisfirehose/message/status`

**Exemple de sortie : réussite**  

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

**Exemple de sortie : échec**  

```
{
   "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"
}
```

------

## Exemple d'utilisation
<a name="kinesis-firehose-connector-usage"></a>

<a name="connectors-setup-intro"></a>Suivez les étapes de haut niveau suivantes pour configurer un exemple de fonction Lambda en Python 3.7 que vous pouvez utiliser pour tester le connecteur.

**Note**  <a name="connectors-setup-get-started-topics"></a>
Si vous utilisez d'autres environnements d'exécution Python, vous pouvez créer un lien symbolique entre Python3.x et Python 3.7.
Les rubriques [Démarrer avec les connecteurs (console)](connectors-console.md) et [Démarrer avec les connecteurs (CLI)](connectors-cli.md) contiennent des étapes détaillées qui vous montrent comment configurer et déployer un exemple de connecteur Twilio Notifications.

1. Veillez à répondre aux [conditions requises](#kinesis-firehose-connector-req) pour le connecteur.

   <a name="set-up-group-role"></a>Pour l'exigence de rôle de groupe, vous devez configurer le rôle de manière à accorder les autorisations requises et à vous assurer que le rôle a été ajouté au groupe. Pour plus d’informations, consultez [Gestion du rôle de groupe Greengrass (console)](group-role.md#manage-group-role-console) ou [Gestion du rôle de groupe Greengrass (interface de ligne de commande)](group-role.md#manage-group-role-cli).

1. <a name="connectors-setup-function"></a>Créez et publiez une fonction Lambda qui envoie des données d'entrée au connecteur.

   Enregistrez l'[exemple de code](#kinesis-firehose-connector-usage-example) en tant que fichier PY. <a name="connectors-setup-function-sdk"></a>Téléchargez et décompressez le [SDK AWS IoT Greengrass de base pour Python](lambda-functions.md#lambda-sdks-core). Ensuite, créez un package zip contenant le fichier PY et le dossier `greengrasssdk` au niveau racine. Ce package zip est le package de déploiement vers lequel vous effectuez le téléchargement AWS Lambda.

   <a name="connectors-setup-function-publish"></a>Après avoir créé la fonction Lambda de Python 3.7, publiez une version de la fonction et créez un alias.

1. Configurez votre groupe Greengrass.

   1. <a name="connectors-setup-gg-function"></a>Ajoutez la fonction Lambda par son alias (recommandé). Configurez le cycle de vie Lambda comme étant de longue durée (ou dans `"Pinned": true` la CLI).

   1. Ajoutez le connecteur et configurez ses [paramètres](#kinesis-firehose-connector-param).

   1. Ajoutez des abonnements qui permettent au connecteur de recevoir des [données d'entrée JSON](#kinesis-firehose-connector-data-input) et d'envoyer des [données de sortie](#kinesis-firehose-connector-data-output) sur des filtres de rubrique pris en charge.
      + <a name="connectors-setup-subscription-input-data"></a>Définissez la fonction Lambda comme source, le connecteur comme cible et utilisez un filtre de rubrique d'entrée compatible.
      + <a name="connectors-setup-subscription-output-data"></a>Définissez le connecteur en tant que source, AWS IoT Core en tant que cible et utilisez un filtre de rubrique de sortie pris en charge. Vous utilisez cet abonnement pour afficher les messages d'état dans la AWS IoT console.

1. <a name="connectors-setup-deploy-group"></a>Déployez le groupe.

1. <a name="connectors-setup-test-sub"></a>Dans la AWS IoT console, sur la page **Test**, abonnez-vous à la rubrique des données de sortie pour consulter les messages d'état du connecteur. L'exemple de fonction Lambda a une longue durée de vie et commence à envoyer des messages immédiatement après le déploiement du groupe.

   Lorsque vous avez terminé les tests, vous pouvez définir le cycle de vie Lambda à la demande (ou `"Pinned": false` dans la CLI) et déployer le groupe. Cela empêche la fonction d'envoyer des messages.

### Exemple
<a name="kinesis-firehose-connector-usage-example"></a>

L'exemple suivant de fonction Lambda envoie un message d'entrée au connecteur. Ce message contient des données 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
```

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

Le connecteur Kinesis Firehose inclut les logiciels/licences tiers suivants :<a name="boto-3-licenses"></a>
+ [AWS SDK pour Python (Boto3)](https://pypi.org/project/boto3/)/Licence Apache 2.0
+ [botocore](https://pypi.org/project/botocore/)/Licence Apache 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/Licence PSF
+ [docutils](https://pypi.org/project/docutils/)/Licence BSD, licence GPL (General Public License) GNU, licence Python Software Foundation, domaine public
+ [jmespath](https://pypi.org/project/jmespath/)/Licence MIT
+ [s3transfer](https://pypi.org/project/s3transfer/)/Licence Apache 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/Licence MIT

Ce connecteur est publié dans le cadre du contrat de [licence logicielle Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Journal des modifications
<a name="kinesis-firehose-connector-changelog"></a>

Le tableau suivant décrit les modifications apportées à chaque version du connecteur.


| Version | Modifications | 
| --- | --- | 
| 5 | <a name="isolation-mode-changelog"></a>Ajout du paramètre `IsolationMode` pour configurer le mode de conteneurisation du connecteur. | 
| 4 | <a name="upgrade-runtime-py3.7"></a>Mise à niveau de l'environnement d'exécution Lambda vers Python 3.7, ce qui modifie les exigences d'exécution. | 
| 3 | Correctif permettant de réduire la journalisation excessive et d'autres correctifs de bogues mineurs.  | 
| 2 | Ajout du support pour l'envoi d'enregistrements de données par lots à Firehose à un intervalle spécifié. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/kinesis-firehose-connector.html)  | 
| 1 | Première version.  | 

<a name="one-conn-version"></a>Un groupe Greengrass ne peut contenir qu'une seule version du connecteur à la fois. Pour de plus amples informations sur la mise à niveau d'une version de connecteur, veuillez consulter [Mise à niveau des versions du connecteur](connectors.md#upgrade-connector-versions).

## Consultez aussi
<a name="kinesis-firehose-connector-see-also"></a>
+ [Intégrer à des services et protocoles à l'aide de connecteurs Greengrass](connectors.md)
+ [Mise en route avec les connecteurs Greengrass (console)](connectors-console.md)
+ [Démarrage avec les connecteurs Greengrass (CLI)](connectors-cli.md)
+ [Qu'est-ce qu'Amazon Kinesis Data Firehose ?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) dans le guide du *développeur Amazon Kinesis*