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.
Exporter les configurations pour les AWS Cloud destinations prises en charge
Les composants Greengrass définis par l'utilisateur sont StreamManagerClient
utilisés dans le SDK Stream Manager pour interagir avec le Stream Manager. Lorsqu'un composant crée un flux ou met à jour un flux, il transmet un MessageStreamDefinition
objet qui représente les propriétés du flux, y compris la définition de l'exportation. L'ExportDefinition
objet contient les configurations d'exportation définies pour le flux. Le gestionnaire de flux utilise ces configurations d'exportation pour déterminer où et comment exporter le flux.
Vous pouvez définir zéro ou plusieurs configurations d'exportation sur un flux, y compris plusieurs configurations d'exportation pour un seul type de destination. Par exemple, vous pouvez exporter un flux vers deux AWS IoT Analytics canaux et un flux de données Kinesis.
En cas d'échec des tentatives d'exportation, le gestionnaire de flux essaie continuellement d'exporter les données à des AWS Cloud intervalles allant jusqu'à cinq minutes. Le nombre de nouvelles tentatives n'est pas limité.
Note
StreamManagerClient
fournit également une destination cible que vous pouvez utiliser pour exporter des flux vers un serveur HTTP. Cette cible n'est destinée qu'à des fins de test. Il n'est pas stable ni pris en charge pour une utilisation dans des environnements de production.
AWS CloudDestinations prises en charge
Vous êtes responsable de la maintenance de ces AWS Cloud ressources.
Canaux AWS IoT Analytics
Le gestionnaire de flux prend en charge les exportations automatiques versAWS IoT Analytics. AWS IoT Analyticsvous permet d'effectuer une analyse avancée de vos données afin de prendre des décisions commerciales et d'améliorer les modèles d'apprentissage automatique. Pour plus d'informations, voir Qu'est-ce que c'est AWS IoT Analytics ? dans le guide de AWS IoT Analytics l'utilisateur.
Dans le SDK Stream Manager, vos composants Greengrass utilisent IoTAnalyticsConfig
le pour définir la configuration d'exportation pour ce type de destination. Pour plus d'informations, consultez la référence du SDK pour votre langue cible :
-
L'IoT AnalyticsConfig
dans le SDK Python -
L'IoT AnalyticsConfig
dans le SDK Java -
L'IoT AnalyticsConfig
dans le SDK Node.js
Prérequis
Cette destination d'exportation répond aux exigences suivantes :
-
Les canaux cibles entrants AWS IoT Analytics doivent se trouver dans le même appareil Compte AWS Région AWS que le périphérique principal de Greengrass.
-
Ils Autoriser les appareils principaux à interagir avec les AWS services doivent
iotanalytics:BatchPutMessage
autoriser les chaînes cibles. Par exemple :{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotanalytics:BatchPutMessage" ], "Resource": [ "arn:aws:iotanalytics:
region
:account-id
:channel/channel_1_name
", "arn:aws:iotanalytics:region
:account-id
:channel/channel_2_name
" ] } ] }Vous pouvez accorder un accès granulaire ou conditionnel aux ressources, par exemple en utilisant un schéma de
*
dénomination générique. Pour plus d'informations, consultez la section Ajout et suppression de politiques IAM dans le Guide de l'utilisateur IAM.
Exportation vers AWS IoT Analytics
Pour créer un flux exporté versAWS IoT Analytics, vos composants Greengrass créent un flux avec une définition d'exportation qui inclut un ou plusieurs IoTAnalyticsConfig
objets. Cet objet définit les paramètres d'exportation, tels que le canal cible, la taille du lot, l'intervalle entre les lots et la priorité.
Lorsque vos composants Greengrass reçoivent des données provenant d'appareils, ils ajoutent des messages contenant une quantité importante de données au flux cible.
Le gestionnaire de flux exporte ensuite les données en fonction des paramètres de lot et de la priorité définis dans les configurations d'exportation du flux.
Flux de données Amazon Kinesis
Le gestionnaire de flux prend en charge les exportations automatiques vers Amazon Kinesis Data Streams. Kinesis Data Streams est couramment utilisé pour agréger de gros volumes de données et les charger dans un entrepôt MapReduce de données ou un cluster. Pour plus d'informations, consultez Qu'est-ce qu'Amazon Kinesis Data Streams ? dans le manuel Amazon Kinesis Developer Guide.
Dans le SDK Stream Manager, vos composants Greengrass utilisent KinesisConfig
le pour définir la configuration d'exportation pour ce type de destination. Pour plus d'informations, consultez la référence du SDK pour votre langue cible :
-
KinesisConfig
dans le SDK Python -
KinesisConfig
dans le SDK Java -
KinesisConfig
dans le SDK Node.js
Prérequis
Cette destination d'exportation répond aux exigences suivantes :
-
Dans Kinesis Data Streams, les flux cibles doivent se trouver dans le Compte AWS même appareil que celui Région AWS de base de Greengrass.
-
Ils Autoriser les appareils principaux à interagir avec les AWS services doivent
kinesis:PutRecords
autoriser le ciblage des flux de données. Par exemple :{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecords" ], "Resource": [ "arn:aws:kinesis:
region
:account-id
:stream/stream_1_name
", "arn:aws:kinesis:region
:account-id
:stream/stream_2_name
" ] } ] }Vous pouvez accorder un accès granulaire ou conditionnel aux ressources, par exemple en utilisant un schéma de
*
dénomination générique. Pour plus d'informations, consultez la section Ajout et suppression de politiques IAM dans le Guide de l'utilisateur IAM.
Exportation vers Kinesis Data Streams
Pour créer un flux exporté vers Kinesis Data Streams, vos composants Greengrass créent un flux avec une définition d'exportation qui inclut un ou plusieurs objets. KinesisConfig
Cet objet définit les paramètres d'exportation, tels que le flux de données cible, la taille du lot, l'intervalle entre les lots et la priorité.
Lorsque vos composants Greengrass reçoivent des données provenant d'appareils, ils ajoutent des messages contenant une quantité importante de données au flux cible. Le gestionnaire de flux exporte ensuite les données en fonction des paramètres de lot et de la priorité définis dans les configurations d'exportation du flux.
Le gestionnaire de flux génère un UUID unique et aléatoire comme clé de partition pour chaque enregistrement chargé sur Amazon Kinesis.
AWS IoT SiteWisepropriétés des actifs
Le gestionnaire de flux prend en charge les exportations automatiques versAWS IoT SiteWise. AWS IoT SiteWisevous permet de collecter, d'organiser et d'analyser les données des équipements industriels à grande échelle. Pour plus d'informations, voir Qu'est-ce que c'est AWS IoT SiteWise ? dans le guide de AWS IoT SiteWise l'utilisateur.
Dans le SDK Stream Manager, vos composants Greengrass utilisent IoTSiteWiseConfig
le pour définir la configuration d'exportation pour ce type de destination. Pour plus d'informations, consultez la référence du SDK pour votre langue cible :
-
L'IoT SiteWiseConfig
dans le SDK Python -
L'IoT SiteWiseConfig
dans le SDK Java -
L'IoT SiteWiseConfig
dans le SDK Node.js
Note
AWSfournit également des AWS IoT SiteWise composants, qui offrent une solution prédéfinie que vous pouvez utiliser pour diffuser des données à partir de sources OPC-UA. Pour plus d’informations, consultez Collecteur IoT SiteWise OPC -UA.
Prérequis
Cette destination d'exportation répond aux exigences suivantes :
-
Les propriétés de l'actif cible AWS IoT SiteWise doivent être identiques Compte AWS à Région AWS celles du périphérique principal de Greengrass.
Note
Pour la liste de Région AWS s compatibles, voir AWS IoT SiteWise les AWS IoT SiteWisepoints de terminaison et les quotas dans la référence AWS générale.
-
Ils Autoriser les appareils principaux à interagir avec les AWS services doivent
iotsitewise:BatchPutAssetPropertyValue
autoriser le ciblage des propriétés des actifs. L'exemple de politique suivant utilise la clé deiotsitewise:assetHierarchyPath
condition pour accorder l'accès à une ressource racine cible et à ses enfants. Vous pouvez le supprimerCondition
de la politique pour autoriser l'accès à tous vos AWS IoT SiteWise actifs ou spécifier les ARN des actifs individuels.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/
root node asset ID
", "/root node asset ID
/*" ] } } } ] }Vous pouvez accorder un accès granulaire ou conditionnel aux ressources, par exemple en utilisant un schéma de
*
dénomination générique. Pour plus d'informations, consultez la section Ajout et suppression de politiques IAM dans le Guide de l'utilisateur IAM.Pour obtenir des informations de sécurité importantes, consultez la section BatchPutAssetPropertyValue autorisation dans le guide de AWS IoT SiteWise l'utilisateur.
Exportation vers AWS IoT SiteWise
Pour créer un flux exporté versAWS IoT SiteWise, vos composants Greengrass créent un flux avec une définition d'exportation qui inclut un ou plusieurs IoTSiteWiseConfig
objets. Cet objet définit les paramètres d'exportation, tels que la taille du lot, l'intervalle entre les lots et la priorité.
Lorsque vos composants Greengrass reçoivent des données sur les propriétés des actifs depuis des appareils, ils ajoutent des messages contenant ces données au flux cible. Les messages sont des PutAssetPropertyValueEntry
objets sérialisés en JSON qui contiennent des valeurs de propriété pour une ou plusieurs propriétés d'actifs. Pour plus d'informations, voir Ajouter un message pour les destinations AWS IoT SiteWise d'exportation.
Note
Lorsque vous envoyez des données àAWS IoT SiteWise, celles-ci doivent répondre aux exigences de l'BatchPutAssetPropertyValue
action. Pour plus d'informations, consultez BatchPutAssetPropertyValue dans la Référence d'API AWS IoT SiteWise.
Le gestionnaire de flux exporte ensuite les données en fonction des paramètres de lot et de la priorité définis dans les configurations d'exportation du flux.
Vous pouvez ajuster les paramètres de votre gestionnaire de flux et la logique des composants Greengrass pour concevoir votre stratégie d'exportation. Par exemple :
-
Pour les exportations en temps quasi réel, définissez des paramètres de taille de lot et d'intervalle faibles et ajoutez les données au flux dès leur réception.
-
Pour optimiser le traitement par lots, atténuer les contraintes de bande passante ou minimiser les coûts, vos composants Greengrass peuvent regrouper timestamp-quality-value les points de données (TQV) reçus pour une propriété d'actif unique avant d'ajouter les données au flux. L'une des stratégies consiste à regrouper les entrées pour un maximum de 10 combinaisons propriétés-actifs différentes, ou alias de propriété, dans un seul message au lieu d'envoyer plusieurs entrées pour la même propriété. Cela permet au gestionnaire de flux de rester dans les limites AWS IoT SiteWisedes quotas.
Objets Amazon S3
Le gestionnaire de flux prend en charge les exportations automatiques vers Amazon S3. Vous pouvez utiliser Amazon S3 pour stocker et récupérer de grandes quantités de données. Pour plus d'informations, consultez Qu'est-ce qu'Amazon S3 ? dans le guide du développeur d'Amazon Simple Storage Service.
Dans le SDK Stream Manager, vos composants Greengrass utilisent S3ExportTaskExecutorConfig
le pour définir la configuration d'exportation pour ce type de destination. Pour plus d'informations, consultez la référence du SDK pour votre langue cible :
-
S3 ExportTaskExecutorConfig
dans le SDK Python -
S3 ExportTaskExecutorConfig
dans le SDK Java -
S3 ExportTaskExecutorConfig
dans le SDK Node.js
Prérequis
Cette destination d'exportation répond aux exigences suivantes :
-
Les compartiments Amazon S3 cibles doivent se trouver dans le même emplacement Compte AWS que le périphérique principal de Greengrass.
-
Si une fonction Lambda exécutée en mode conteneur Greengrass écrit des fichiers d'entrée dans un répertoire de fichiers d'entrée, vous devez monter le répertoire en tant que volume dans le conteneur avec des autorisations d'écriture. Cela garantit que les fichiers sont écrits dans le système de fichiers racine et visibles par le composant du gestionnaire de flux, qui s'exécute en dehors du conteneur.
-
Si un composant de conteneur Docker écrit des fichiers d'entrée dans un répertoire de fichiers d'entrée, vous devez monter le répertoire en tant que volume dans le conteneur avec des autorisations d'écriture. Cela garantit que les fichiers sont écrits dans le système de fichiers racine et visibles par le composant du gestionnaire de flux, qui s'exécute en dehors du conteneur.
-
Ils Autoriser les appareils principaux à interagir avec les AWS services doivent accorder les autorisations suivantes aux compartiments cibles. Par exemple :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::
bucket-1-name
/*", "arn:aws:s3:::bucket-2-name
/*" ] } ] }Vous pouvez accorder un accès granulaire ou conditionnel aux ressources, par exemple en utilisant un schéma de
*
dénomination générique. Pour plus d'informations, consultez la section Ajout et suppression de politiques IAM dans le Guide de l'utilisateur IAM.
Exportation vers Amazon S3
Pour créer un flux exporté vers Amazon S3, vos composants Greengrass utilisent l'S3ExportTaskExecutorConfig
objet pour configurer la politique d'exportation. La politique définit les paramètres d'exportation, tels que le seuil et la priorité du téléchargement en plusieurs parties. Pour les exportations Amazon S3, le gestionnaire de flux télécharge les données qu'il lit à partir de fichiers locaux sur l'appareil principal. Pour lancer un téléchargement, vos composants Greengrass ajoutent une tâche d'exportation au flux cible. La tâche d'exportation contient des informations sur le fichier d'entrée et l'objet Amazon S3 cible. Le gestionnaire de flux exécute les tâches dans l'ordre dans lequel elles sont ajoutées au flux.
Note
Le compartiment cible doit déjà exister dans votreCompte AWS. Si aucun objet correspondant à la clé spécifiée n'existe, le gestionnaire de flux le crée pour vous.
Le gestionnaire de flux utilise la propriété de seuil de téléchargement en plusieurs parties, le paramètre de taille de pièce minimale et la taille du fichier d'entrée pour déterminer le mode de téléchargement des données. Le seuil de téléchargement partitionné doit être supérieur ou égal à la taille de pièce minimale. Si vous souhaitez télécharger des données en parallèle, vous pouvez créer plusieurs flux.
Les clés qui spécifient vos objets Amazon S3 cibles peuvent inclure des DateTimeFormatter chaînes Java!{timestamp:
espaces réservés. Vous pouvez utiliser ces espaces réservés d'horodatage pour partitionner les données dans Amazon S3 en fonction de l'heure à laquelle les données du fichier d'entrée ont été téléchargées. Par exemple, le nom de clé suivant correspond à une valeur telle quevalue
}my-key/2020/12/31/data.txt
.
my-key/!{timestamp:YYYY}/!{timestamp:MM}/!{timestamp:dd}/data.txt
Note
Si vous souhaitez surveiller l'état d'exportation d'un flux, créez d'abord un flux d'état, puis configurez le flux d'exportation pour l'utiliser. Pour plus d’informations, consultez Surveiller les tâches d'exportation.
Gérer les données d'entrée
Vous pouvez créer du code que les applications IoT utilisent pour gérer le cycle de vie des données d'entrée. L'exemple de flux de travail suivant montre comment vous pouvez utiliser les composants Greengrass pour gérer ces données.
-
Un processus local reçoit des données provenant d'appareils ou de périphériques, puis écrit les données dans des fichiers situés dans un répertoire du périphérique principal. Il s'agit des fichiers d'entrée pour le gestionnaire de flux.
-
Un composant Greengrass analyse le répertoire et ajoute une tâche d'exportation au flux cible lorsqu'un nouveau fichier est créé. La tâche est un
S3ExportTaskDefinition
objet sérialisé en JSON qui spécifie l'URL du fichier d'entrée, le compartiment et la clé Amazon S3 cibles, ainsi que les métadonnées utilisateur facultatives. -
Le gestionnaire de flux lit le fichier d'entrée et exporte les données vers Amazon S3 dans l'ordre des tâches ajoutées. Le compartiment cible doit déjà exister dans votreCompte AWS. Si aucun objet correspondant à la clé spécifiée n'existe, le gestionnaire de flux le crée pour vous.
-
Le composant Greengrass lit les messages d'un flux d'état pour surveiller le statut de l'exportation. Une fois les tâches d'exportation terminées, le composant Greengrass peut supprimer les fichiers d'entrée correspondants. Pour plus d’informations, consultez Surveiller les tâches d'exportation.
Surveiller les tâches d'exportation
Vous pouvez créer du code que les applications IoT utilisent pour surveiller le statut de vos exportations Amazon S3. Vos composants Greengrass doivent créer un flux d'état, puis configurer le flux d'exportation pour écrire des mises à jour de statut dans le flux d'état. Un seul flux de statut peut recevoir des mises à jour de statut provenant de plusieurs flux exportés vers Amazon S3.
Créez d'abord un flux à utiliser comme flux d'état. Vous pouvez configurer la taille et les politiques de rétention du flux afin de contrôler la durée de vie des messages d'état. Par exemple :
-
Définissez
Persistence
cetteMemory
option si vous ne souhaitez pas enregistrer les messages d'état. -
Réglé
StrategyOnFull
sur pourOverwriteOldestData
que les nouveaux messages d'état ne soient pas perdus.
Créez ou mettez à jour le flux d'exportation pour utiliser le flux d'état. Spécifiquement, définissez la propriété de configuration d'état de la configuration S3ExportTaskExecutorConfig
d'exportation du flux. Ce paramètre indique au gestionnaire de flux d'écrire des messages d'état concernant les tâches d'exportation dans le flux d'état. Dans l'StatusConfig
objet, spécifiez le nom du flux d'état et le niveau de verbosité. Les valeurs prises en charge suivantes vont de la moins détaillée (ERROR
) à la plus détaillée (). TRACE
L’argument par défaut est INFO
.
-
ERROR
-
WARN
-
INFO
-
DEBUG
-
TRACE
L'exemple de flux de travail suivant montre comment les composants Greengrass peuvent utiliser un flux d'état pour surveiller le statut des exportations.
-
Comme décrit dans le flux de travail précédent, un composant Greengrass ajoute une tâche d'exportation à un flux configuré pour écrire des messages d'état concernant les tâches d'exportation dans un flux de statut. L'opération d'ajout renvoie un numéro de séquence qui représente l'ID de tâche.
-
Un composant Greengrass lit les messages de manière séquentielle à partir du flux d'état, puis filtre les messages en fonction du nom du flux et de l'ID de tâche ou en fonction d'une propriété de tâche d'exportation du contexte du message. Par exemple, le composant Greengrass peut filtrer en fonction de l'URL du fichier d'entrée de la tâche d'exportation, qui est représentée par l'
S3ExportTaskDefinition
objet dans le contexte du message.Les codes d'état suivants indiquent qu'une tâche d'exportation est terminée :
-
Success
. Le téléchargement a été effectué avec succès. -
Failure
. Le gestionnaire de flux a rencontré une erreur. Par exemple, le bucket spécifié n'existe pas. Une fois le problème résolu, vous pouvez à nouveau ajouter la tâche d'exportation au flux. -
Canceled
. La tâche a été arrêtée car le flux ou la définition d'exportation a été supprimé ou parce que la période time-to-live (TTL) de la tâche a expiré.
Note
La tâche peut également avoir le statut
InProgress
ouWarning
. Le gestionnaire de flux émet des avertissements lorsqu'un événement renvoie une erreur qui n'affecte pas l'exécution de la tâche. Par exemple, l'échec du nettoyage d'un téléchargement partiel renvoie un avertissement. -
-
Une fois les tâches d'exportation terminées, le composant Greengrass peut supprimer les fichiers d'entrée correspondants.
L'exemple suivant montre comment un composant Greengrass peut lire et traiter les messages d'état.