Accéder au contenu principal Passer au contenu complémentaire

Extraire un document JSON à l'aide de filtres avancés

Configurez le tDynamoDBInput pour utiliser un filtre avancé afin de lire un document JSON à partir de DynamoDB et utilisez un tLogRow pour écrire en sortie ce document dans le Studio Talend.

Procédure

  1. Double-cliquez sur le tDynamoDBInput pour ouvrir sa vue Component.

    Exemple

  2. Cliquez sur le bouton ... à côté de Edit schema pour ouvrir l'éditeur du schéma.

    Exemple

  3. Cliquez deux fois sur le bouton + pour ajouter deux lignes, chacune représentant une colonne de données d'exemple. Dans la colonne Column, nommez ces colonnes DeliveryId et EventPayload, respectivement.
  4. Dans la ligne de la colonne DeliveryId, cochez la case de la colonne Key pour utiliser cette colonne DeliveryID comme clé de partition de la table DynamoDB. Une table DynamoDB requiert une colonne de clé de partition.
  5. Dans la colonne DB Type, sélectionnez JSON pour la colonne EventPayload, colonne dans laquelle les documents JSON sont stockés.
  6. Dans les champs Access Key et Secret Key, saisissez les informations d'authentification de votre compte AWS à utiliser pour accéder à votre base de données DynamoDB.
  7. Dans la liste déroulante Region, sélectionnez la même région que dans les étapes précédentes pour le tDynamoDBOutput.
  8. Dans la liste Action, sélectionnez Scan.
  9. Dans le champ Table Name, saisissez le nom de la table DynamoDB à créer par le tDynamoDBOutput.
  10. Cochez la case Use filter expression et la case Use advanced filter expression.
  11. Dans le champ Advanced filter expression, saisissez le filtre à utiliser pour sélectionner les documents JSON.

    Exemple

    "EventPayload.customerOrderNumber.deliveryCode = :value"

    La partie à gauche du signe égal reflète la structure au sein d'un document JSON des données d'exemple, dans la colonne EventPayload. L'objectif est d'utiliser la valeur de l'élément deliveryCode pour filtrer le document à lire.

    Vous devez définir le paramètre fictif :value dans la table Value mapping.

  12. Sous la table Value mapping, cliquez sur le bouton + pour ajouter une ligne et :
    1. dans la colonne value, saisissez la valeur de l'élément JSON à utiliser en tant que filtre.

      Exemple

      Dans cet exemple, cet élément est deliveryCode et vous devez extraire le document JSON dans lequel la valeur de l'élément deliveryCode est 261. Comme cette valeur est de type String, saisissez 261 entre guillemets doubles.

      Si cette valeur est de type Integer, n'utilisez pas de guillemet double.

    2. Dans la colonne Placeholder, saisissez le nom du paramètre fictif (placeholder) à définir, entre guillemets doubles. Dans cet exemple, saisissez ":value", comme dans Advanced filter expression.
      Le nom d'un paramètre fictif doit commencer par le caractère deux-points (:).
  13. Double-cliquez sur le tLogRow pour ouvrir sa vue Component et sélectionnez le bouton radio Table pour afficher les données extraites dans une table dans le Studio Talend.
  14. Appuyez sur les touches Ctrl+S afin de sauvegarder le Job et appuyez sur F6 pour l'exécuter.

Résultats

Cela fait, le document JSON récupéré s'affiche dans la console de la vue Run du Studio Talend.
Dans la table DynamoDB créée, vous pouvez voir les deux documents JSON d'exemple.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.