

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.

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

**Avertissement**  <a name="connectors-extended-life-phase-warning"></a>
Ce connecteur est passé à la *phase de durée de vie prolongée* et AWS IoT Greengrass ne publiera pas de mises à jour fournissant des fonctionnalités, des améliorations aux fonctionnalités existantes, des correctifs de sécurité ou des corrections de bogues. Pour de plus amples informations, veuillez consulter [AWS IoT Greengrass Version 1 politique de maintenance](maintenance-policy.md).

Le connecteur IoT Analytics envoie les données des appareils locaux à AWS IoT Analytics. Vous pouvez utiliser ce connecteur comme hub central pour collecter des données à partir de capteurs situés sur le périphérique principal de Greengrass et à partir d'appareils [clients connectés](what-is-gg.md#greengrass-devices). Le connecteur envoie les données aux AWS IoT Analytics canaux de la région actuelle Compte AWS et de la région. Il peut envoyer des données vers un canal de destination par défaut et des canaux spécifiés dynamiquement.

**Note**  
AWS IoT Analytics est un service entièrement géré qui vous permet de collecter, de stocker, de traiter et d'interroger des données IoT. Dans AWS IoT Analytics, les données peuvent être analysées et traitées ultérieurement. Par exemple, elles peuvent être utilisées pour former des modèles ML pour surveiller l'état des machines ou pour tester de nouvelles stratégies de modélisation. Pour plus d'informations, voir [Qu'est-ce que c'est AWS IoT Analytics ?](https://docs.aws.amazon.com/iotanalytics/latest/userguide/welcome.html) dans le *guide de AWS IoT Analytics l'utilisateur*.

Le connecteur accepte les données formatées et non formatées sur [les rubriques d'entrée MQTT](#iot-analytics-connector-data-input). Il prend en charge deux rubriques prédéfinies où le canal de destination est spécifié en ligne. Il peut également recevoir des messages sur des rubriques définies par le client qui sont [configurées dans les abonnements](connectors.md#connectors-inputs-outputs). Cela peut être utilisé pour acheminer des messages depuis des appareils clients qui publient vers des sujets fixes ou pour gérer des données non structurées ou dépendantes de la pile provenant d'appareils aux ressources limitées.

Ce connecteur utilise l'[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 pour envoyer des données (sous forme de chaîne JSON ou codée en base64) au canal de destination. Le connecteur peut traiter les données brutes dans un format conforme aux exigences de l'API. Le connecteur met en tampon les messages d'entrée dans des files d'attente par canal et traite les lots de façon asynchrone. Il fournit des paramètres qui vous permettent de contrôler le comportement de traitement par lots et de mise en file d'attente, et de limiter la consommation de mémoire. Par exemple, vous pouvez configurer la taille maximale de la file d'attente, l'intervalle des lots, la taille de la mémoire et le nombre de canaux actifs.

Ce connecteur possède les versions suivantes.


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

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

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

Ce connecteur possède les critères suivants :

------
#### [ Version 3 - 4 ]
+ <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="conn-iot-analytics-req-regions"></a>Ce connecteur ne peut être utilisé que dans les régions Amazon Web Services où [AWS IoT Greengrass](https://docs.aws.amazon.com/general/latest/gr/greengrass.html)les deux [AWS IoT Analytics](https://docs.aws.amazon.com/general/latest/gr/iot-analytics.html)sont pris en charge.
+ <a name="conn-iot-analytics-req-ita-config"></a>Toutes les AWS IoT Analytics entités et tous les flux de travail associés sont créés et configurés. Les entités comprennent les canaux, le pipeline, les banques de données et les ensembles de données. Pour plus d'informations, consultez les procédures [AWS CLI](https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html) ou [console](https://docs.aws.amazon.com/iotanalytics/latest/userguide/quickstart.html) dans le *Guide de l'utilisateur AWS IoT Analytics *.
**Note**  
Les AWS IoT Analytics chaînes de destination doivent utiliser le même compte et se trouver dans Région AWS le même connecteur.
+ <a name="conn-iot-analytics-req-iam-policy"></a>Le [rôle de groupe Greengrass](group-role.md) est configuré pour autoriser l'`iotanalytics:BatchPutMessage`action sur les canaux de destination, comme illustré dans l'exemple de politique IAM suivant. Les chaînes doivent se trouver dans la région actuelle Compte AWS .

------
#### [ 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>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 1 - 2 ]
+ <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="conn-iot-analytics-req-regions"></a>Ce connecteur ne peut être utilisé que dans les régions Amazon Web Services où [AWS IoT Greengrass](https://docs.aws.amazon.com/general/latest/gr/greengrass.html)les deux [AWS IoT Analytics](https://docs.aws.amazon.com/general/latest/gr/iot-analytics.html)sont pris en charge.
+ <a name="conn-iot-analytics-req-ita-config"></a>Toutes les AWS IoT Analytics entités et tous les flux de travail associés sont créés et configurés. Les entités comprennent les canaux, le pipeline, les banques de données et les ensembles de données. Pour plus d'informations, consultez les procédures [AWS CLI](https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html) ou [console](https://docs.aws.amazon.com/iotanalytics/latest/userguide/quickstart.html) dans le *Guide de l'utilisateur AWS IoT Analytics *.
**Note**  
Les AWS IoT Analytics chaînes de destination doivent utiliser le même compte et se trouver dans Région AWS le même connecteur.
+ <a name="conn-iot-analytics-req-iam-policy"></a>Le [rôle de groupe Greengrass](group-role.md) est configuré pour autoriser l'`iotanalytics:BatchPutMessage`action sur les canaux de destination, comme illustré dans l'exemple de politique IAM suivant. Les chaînes doivent se trouver dans la région actuelle Compte AWS .

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

------

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

`MemorySize`  
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]+$`

`PublishRegion`  
Le dans Région AWS lequel vos AWS IoT Analytics chaînes sont créées. Utilisez la même région que le connecteur.  
Cela doit également correspondre à la région pour les canaux qui sont spécifiés dans le [rôle de groupe](#iot-analytics-connector-req).
Nom d'affichage dans la AWS IoT console : **Région de publication**  
Nécessaire : `false`  
Type : `string`  
Modèle valide : `^$|([a-z]{2}-[a-z]+-\\d{1})`

`PublishInterval`  
Intervalle (en secondes) pendant lequel un lot de données reçues est publié sur AWS IoT Analytics.  
Nom d'affichage dans la AWS IoT console : **Intervalle de publication**  
Nécessaire : `false`  
Type : `string`  
Valeur par défaut : `1`  
Modèle valide : `$|^[0-9]+$`

`IotAnalyticsMaxActiveChannels`  
Nombre maximal de AWS IoT Analytics canaux que le connecteur surveille activement. Ce nombre doit être supérieur à 0 et au moins égal au nombre de canaux que le connecteur publiera à un moment donné.  
Vous pouvez utiliser ce paramètre pour restreindre la consommation de mémoire en limitant le nombre total de files d'attente que le connecteur peut gérer à un moment donné. Une file d'attente est supprimée lorsque tous les messages en file d'attente sont envoyés.  
Nom affiché dans la AWS IoT console : **Nombre maximum de canaux actifs**  
Nécessaire : `false`  
Type : `string`  
Valeur par défaut : `50`  
Modèle valide : `^$|^[1-9][0-9]*$`

`IotAnalyticsQueueDropBehavior`  
Comportement pour supprimer des messages d'une file d'attente de canal lorsque la file d'attente est pleine.  
Nom affiché dans la AWS IoT console : **comportement de suppression des files d'attente**  
Nécessaire : `false`  
Type : `string`  
Valeurs valides : `DROP_NEWEST` ou `DROP_OLDEST`  
Valeur par défaut : `DROP_NEWEST`  
Modèle valide : `^DROP_NEWEST$|^DROP_OLDEST$`

`IotAnalyticsQueueSizePerChannel`  
Nombre maximal de messages à conserver en mémoire (par canal) avant que les messages soient soumis ou abandonnés. Ce nombre doit être supérieur à 0.  
Nom affiché dans la AWS IoT console : **taille maximale de la file d'attente par canal**  
Nécessaire : `false`  
Type : `string`  
Valeur par défaut : `2048`  
Modèle valide : `^$|^[1-9][0-9]*$`

`IotAnalyticsBatchSizePerChannel`  
Nombre maximal de messages à envoyer à un AWS IoT Analytics canal dans le cadre d'une demande par lot. Ce nombre doit être supérieur à 0.  
Nom affiché dans la AWS IoT console : **nombre maximum de messages à traiter par lot par canal**  
Nécessaire : `false`  
Type : `string`  
Valeur par défaut : `5`  
Modèle valide : `^$|^[1-9][0-9]*$`

`IotAnalyticsDefaultChannelName`  
Nom du AWS IoT Analytics canal utilisé par ce connecteur pour les messages envoyés à un sujet d'entrée défini par le client.  
Nom affiché dans la AWS IoT console : **nom du canal par défaut**  
Nécessaire : `false`  
Type : `string`  
Modèle valide : `^[a-zA-Z0-9_]$`

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

### Exemple de création de connecteur (AWS CLI)
<a name="iot-analytics-connector-create"></a>

La commande CLI suivante crée `ConnectorDefinition` une version initiale contenant le connecteur 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"
            }
        }
    ]
}'
```

**Note**  
La fonction Lambda de ce connecteur a un cycle de [vie](lambda-functions.md#lambda-lifecycle) prolongé.

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="iot-analytics-connector-data-input"></a>

Ce connecteur accepte les données sur des rubriques MQTT prédéfinies et définies par le client. Les éditeurs peuvent être des appareils clients, des fonctions Lambda ou d'autres connecteurs.

Rubriques prédéfinies  
Le connecteur prend en charge deux rubriques MQTT structurées qui permettent aux éditeurs de spécifier le nom du canal en ligne.  
+ Un [message formaté](#iot-analytics-connector-data-input-json) sur la rubrique `iotanalytics/channels/+/messages/put`. Les données IoT dans ces messages d'entrée doivent se présenter sous la forme d'un fichier JSON ou d'une chaîne encodée en base64.
+ Un message non formaté sur la rubrique `iotanalytics/channels/+/messages/binary/put`. Les messages d'entrée reçus sur cette rubrique sont traités comme des données binaires et peuvent contenir n'importe quel type de données.

  Pour publier dans des rubriques prédéfinies, remplacez le caractère générique `+` par le nom du canal. Par exemple :

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

Rubriques définies par le client  
Le connecteur prend en charge la syntaxe de rubrique `#`, ce qui lui permet d'accepter les messages d'entrée sur n'importe quelle rubrique MQTT que vous configurez dans un abonnement. Nous vous recommandons de spécifier un chemin de rubrique au lieu d'utiliser uniquement le `#` caractère générique dans vos abonnements. Ces messages sont envoyés au canal par défaut que vous spécifiez pour le connecteur.  
Les messages d'entrée sur les rubriques définies par le client sont traités comme des données binaires. Ils peuvent utiliser n'importe quel format de message et peuvent contenir n'importe quel type de données. Vous pouvez utiliser les rubriques définies par le client pour acheminer les messages à partir des appareils qui publient dans des rubriques fixes. Vous pouvez également les utiliser pour accepter des données d'entrée provenant de périphériques clients qui ne peuvent pas les traiter dans un message formaté à envoyer au connecteur.  
Pour plus d'informations sur les abonnements et les rubriques MQTT, consultez [Entrées et sorties](connectors.md#connectors-inputs-outputs).

Le rôle de groupe doit autoriser l'action `iotanalytics:BatchPutMessage` sur tous les canaux de destination. Pour de plus amples informations, veuillez consulter [Exigences](#iot-analytics-connector-req).

**Filtre de rubriques :** `iotanalytics/channels/+/messages/put`  <a name="iot-analytics-connector-data-input-json"></a>
Utilisez cette rubrique pour envoyer des messages formatés au connecteur et spécifier dynamiquement un canal de destination. Cette rubrique vous permet également de spécifier un ID qui est renvoyé dans la réponse. Le connecteur vérifie que IDs chaque message de la `BatchPutMessage` demande sortante à laquelle il est envoyé est unique. AWS IoT Analytics Un message qui a un ID dupliqué est abandonné.  
Les données d'entrée envoyées à cette rubrique doivent utiliser le format de message suivant.    
**Propriétés des messages**    
`request`  
Données à envoyer au canal spécifié.  
Nécessaire : `true`  
Type : `object` qui inclut les propriétés suivantes :    
`message`  
Données de l'appareil ou du capteur au format JSON ou sous forme de chaîne encodée en base64.  
Nécessaire : `true`  
Type : `string`  
`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 omettez cette propriété, le connecteur génère un ID.  
Nécessaire : `false`  
Type : `string`  
Modèle valide : `.*`  
**Exemple d'entrée**  

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

**Filtre de rubriques :** `iotanalytics/channels/+/messages/binary/put`  
Utilisez cette rubrique pour envoyer des messages non formatés au connecteur et spécifier dynamiquement un canal de destination.  
Les données du connecteur n'analysent pas les messages d'entrée reçus dans cette rubrique. Elles sont traitées comme des données binaires. Avant d'envoyer les messages à AWS IoT Analytics, le connecteur les code et les formate conformément aux exigences de `BatchPutMessage` l'API :  
+ Le connecteur en base64 code les données brutes et inclut la charge utile codée dans une demande `BatchPutMessage` sortante.
+ Le connecteur génère et attribue un ID à chaque message d'entrée.
**Note**  
La réponse du connecteur n'inclut pas de corrélation d'ID pour ces messages d'entrée.  
**Propriétés des messages**  
Aucune.

**Filtre de rubriques :** `#`  
Utilisez cette rubrique pour envoyer n'importe quel format de message au canal par défaut. Cela est particulièrement utile lorsque vos appareils clients publient sur des sujets fixes ou lorsque vous souhaitez envoyer des données vers le canal par défaut depuis des appareils clients qui ne peuvent pas traiter les données dans le [format de message pris en charge par](#iot-analytics-connector-data-input-json) le connecteur.  
Vous définissez la syntaxe de rubrique dans l'abonnement que vous créez pour connecter ce connecteur à la source de données. Nous vous recommandons de spécifier un chemin de rubrique au lieu d'utiliser uniquement le `#` caractère générique dans vos abonnements.  
Les données du connecteur n'analysent pas les messages qui sont publiés dans cette rubrique d'entrée. Tous les messages d'entrée sont traités comme des données binaires. Avant d'envoyer les messages à AWS IoT Analytics, le connecteur les code et les formate conformément aux exigences de `BatchPutMessage` l'API :  
+ Le connecteur en base64 code les données brutes et inclut la charge utile codée dans une demande `BatchPutMessage` sortante.
+ Le connecteur génère et attribue un ID à chaque message d'entrée.
**Note**  
La réponse du connecteur n'inclut pas de corrélation d'ID pour ces messages d'entrée.  
**Propriétés des messages**  
Aucune.

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

Ce connecteur publie des informations d'état sous forme de données de sortie dans une rubrique MQTT. Ces informations contiennent la réponse renvoyée par AWS IoT Analytics pour chaque message d'entrée qu'elle reçoit et auquel elle est envoyée AWS IoT Analytics.

<a name="topic-filter"></a>**Filtre de rubrique dans l'abonnement**  
`iotanalytics/messages/put/status`

**Exemple de sortie : réussite**  

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

**Exemple de sortie : échec**  

```
{
    "response" : {
        "status" : "fail",
        "error" : "ResourceNotFoundException",
        "error_message" : "A resource with the specified name could not be found."
    },
    "id" : "req123"
}
```
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 file d'attente des canaux pour la publication en fonction du paramètre `IotAnalyticsQueueDropBehavior`.

## Exemple d'utilisation
<a name="iot-analytics-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](#iot-analytics-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](#iot-analytics-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 principal 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 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](#iot-analytics-connector-param).

   1. Ajoutez des abonnements qui permettent au connecteur de recevoir des [données d'entrée](#iot-analytics-connector-data-input) et d'envoyer des [données de sortie](#iot-analytics-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="iot-analytics-connector-usage-example"></a>

L'exemple suivant de fonction Lambda envoie un message d'entrée au connecteur.

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

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

Ce connecteur est soumis aux limites suivantes.
+ Toutes les limites imposées par le AWS SDK pour Python (Boto3) pour l' 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)action.
+ Tous les quotas imposés par l' AWS IoT Analytics [ BatchPutMessage](https://docs.aws.amazon.com/iotanalytics/latest/userguide/api.html#cli-iotanalytics-batchputmessage)API. Pour plus d'informations, consultez la section [Quotas de service](https://docs.aws.amazon.com/general/latest/gr/iot-analytics.html#limits_iot_analytics) pour AWS IoT Analytics dans le *Références générales AWS*.
  + 100 000 messages par seconde par canal.
  + 100 messages par lot.
  + 128 Ko par message.

  Cette API utilise des noms de canaux (et non de canaux ARNs), de sorte que l'envoi de données vers des canaux entre régions ou entre comptes n'est pas pris en charge.
+ Tous les quotas imposés par le AWS IoT Greengrass Core. Pour plus d'informations, consultez la section [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/greengrass.html#limits_greengrass) pour le AWS IoT Greengrass noyau dans le *Références générales AWS*.

  Les quotas suivants peuvent être plus particulièrement applicables :
  + La taille maximale des messages envoyés par un appareil est de 128 Ko.
  + La taille maximale de la file d'attente des messages du routeur principal Greengrass est de 2,5 Mo.
  + La longueur maximale d'une chaîne de rubrique est de 256 octets de caractères codés UTF-8.

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

Le connecteur IoT Analytics 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="iot-analytics-connector-changelog"></a>

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


| Version | Modifications | 
| --- | --- | 
| 4 | Ajoute le `IsolationMode` paramètre permettant de configurer le mode de conteneurisation du connecteur. | 
| 3 | <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. | 
| 2 | Correctif pour réduire la journalisation excessive. | 
| 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="iot-analytics-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 que c'est AWS IoT Analytics ?](https://docs.aws.amazon.com/iotanalytics/latest/userguide/welcome.html) dans le *guide de AWS IoT Analytics l'utilisateur*