Azure Data Lake Storage

Le connecteur Azure Data Lake Storage vous permet de vous connecter à Azure Data Lake Storage et d'utiliser SQL pour récupérer et mettre à jour des données Azure Data Lake Storage.

Avant de commencer

Avant d'utiliser le connecteur Azure Data Lake Storage, effectuez les tâches suivantes :

  • Dans votre projet Google Cloud :
    • Assurez-vous que la connectivité réseau est configurée. Pour en savoir plus sur les schémas de réseau, consultez Connectivité réseau.
    • Attribuez le rôle IAM roles/connectors.admin à l'utilisateur qui configure le connecteur.
    • Attribuez les rôles IAM suivants au compte de service que vous souhaitez utiliser pour le connecteur :
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Un compte de service est un type spécial de compte Google destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données des API Google. Si vous ne possédez pas de compte de service, vous devez en créer un. Pour plus d'informations, consultez Créer un compte de service.

    • Activez les services suivants :
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Pour savoir comment activer des services, consultez Activer des services.

    Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer au moment de configurer le connecteur.

  • Pour savoir comment créer un compte de stockage Azure, consultez Créer un compte de stockage Azure. Pour en savoir plus sur la création d'un conteneur dans Azure, consultez Créez un conteneur. Pour savoir comment créer un répertoire dans Azure, consultez Créer un répertoire.

Configurer le connecteur

Une connexion est propre à une source de données. Cela signifie que si vous disposez de nombreuses sources de données, vous devez créer une connexion distincte pour chacune d'elles. Pour créer une connexion, procédez comme suit :

  1. Dans la console Cloud, accédez à la page Connecteurs d'intégration > Connexions, puis sélectionnez ou créez un projet Google Cloud.

    Accéder à la page "Connexions"

  2. Cliquez sur + Créer pour ouvrir la page Créer une connexion.
  3. Dans la section Emplacement, choisissez l'emplacement de la connexion.
    1. Région : sélectionnez un emplacement dans la liste déroulante.

      Les régions disponibles pour les connecteurs sont les suivantes :

      Pour obtenir la liste de toutes les régions disponibles, consultez Emplacements.

    2. Cliquez sur Suivant.
  4. Dans la section Détails de connexion, procédez comme suit :
    1. Connecteur : sélectionnez Azure Data Lake Storage dans la liste déroulante des connecteurs disponibles.
    2. Version du connecteur : sélectionnez la version du connecteur dans la liste déroulante des versions disponibles.
    3. Dans le champ Nom de connexion, indiquez le nom de l'instance de connexion.

      Les noms de connexion doivent répondre aux critères suivants :

      • Ils peuvent contenir des lettres, des chiffres ou des traits d'union.
      • Les lettres doivent être en minuscules.
      • Ils doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
      • Ils ne peuvent pas dépasser 49 caractères.
    4. (Facultatif) Saisissez une description de l'instance de connexion.
    5. (Facultatif) Activez Cloud Logging, puis sélectionnez un niveau de journalisation. Par défaut, le niveau de journalisation est défini sur Error.
    6. Compte de service : sélectionnez un compte de service disposant des rôles requis.
    7. (Facultatif) Configurez les paramètres de nœuds de connexion :

      • Nombre minimal de nœuds : saisissez le nombre minimal de nœuds de connexion.
      • Nombre maximal de nœuds : saisissez le nombre maximal de nœuds de connexion.

      Un nœud est une unité (ou instance répliquée) de connexion qui traite des transactions. Pour traiter davantage de transactions pour une connexion, vous devez disposer de plus de nœuds. À l'inverse, moins de nœuds sont nécessaires si une connexion traite moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez Tarifs des nœuds de connexion. Si vous ne saisissez aucune valeur, le nombre minimal de nœuds est défini par défaut sur 2 (pour améliorer la disponibilité) et le nombre maximal de nœuds sur 50.

    8. Compte : cette propriété spécifie le nom du compte Azure Data Lake Storage.
    9. Répertoire : cette propriété spécifie le chemin d'accès racine pour lister les fichiers et les dossiers.
    10. Système de fichiers : cette propriété spécifie le nom du système de fichiers qui sera utilisé dans un compte de stockage de 2e génération. Par exemple, le nom de votre conteneur de blobs Azure.
    11. Taille des fragments : taille des fragments (en Mo) à utiliser lors de l'importation de fichiers volumineux.
    12. Inclure les sous-répertoires : indiquez si les chemins d'accès aux sous-répertoires doivent être listés dans la vue "Ressources" du schéma ADLSGen2.
    13. (Facultatif) Cliquez sur + Ajouter une étiquette pour ajouter une étiquette à la connexion sous la forme d'une paire clé/valeur.
    14. Cliquez sur Suivant.
  5. Dans la section Authentification, saisissez les informations d'authentification.
    1. Sélectionnez un type d'authentification, puis saisissez les informations appropriées.

      Les types d'authentification suivants sont compatibles avec la connexion Azure Data Lake Storage :

      • Signature d'accès partagé
      • Clé d'accès au compte
    2. Pour savoir comment configurer ces types d'authentification, consultez Configurer l'authentification.

    3. Cliquez sur Suivant.
  6. Vérifier : vérifiez vos informations de connexion et d'authentification.
  7. Cliquez sur Créer.

Exemples de configuration de connexion

Cette section présente des exemples de valeurs pour les différents champs que vous configurez lorsque vous créez la connexion Azure Data Lake Storage.

Type de connexion avec une signature d'accès partagé

Nom du champ Détails
Emplacement us-central1
Connecteur azuredatalakestorage
Version du connecteur 1
Nom de connexion adls-gen2-conn-public
Activer Cloud Logging Oui
Compte de service SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Compte google-cloud-dslgen3
Répertoire testdirectory1
Système de fichiers testcontainer1
Inclure les sous-répertoires Non
Nombre minimal de nœuds 2
Nombre maximal de nœuds 50
Signature d'accès partagé SIGNATURE_ACCÈS_PARTAGÉ
Version du secret 1

Type de connexion avec une clé d'accès au compte

Nom du champ Détails
Emplacement us-central1
Connecteur azuredatalakestorage
Version du connecteur 1
Nom de connexion azure-data-lake-conn
Activer Cloud Logging Oui
Compte de service SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Compte google-cloud-dslgen3
Répertoire testdirectory1
Système de fichiers testcontainer1
Inclure les sous-répertoires Non
Nombre minimal de nœuds 2
Nombre maximal de nœuds 50
Clé d'accès au compte CLÉ_ACCÈS_COMPTE
Version du secret 1

Configurer l'authentification

Saisissez les informations en fonction de l'authentification que vous souhaitez utiliser.

  • Signature d'accès partagé

    Si vous souhaitez utiliser la connexion anonyme, sélectionnez Non disponible.

    • Signature d'accès partagé : secret Secret Manager contenant la signature d'accès partagé.
  • Clé d'accès au compte

    Si vous souhaitez utiliser la connexion anonyme, sélectionnez Non disponible.

    • Clé d'accès au compte : secret Secret Manager contenant la clé d'accès au compte.

Entités, opérations et actions

Tous les connecteurs Integration Connectors fournissent une couche d'abstraction pour les objets de l'application connectée. Vous ne pouvez accéder aux objets d'une application que par le biais de cette abstraction. L'abstraction vous est présentée en tant qu'entités, opérations et actions.

  • Entité : une entité peut être considérée comme un objet ou un ensemble de propriétés dans l'application ou le service connectés. La définition d'une entité diffère d'un connecteur à l'autre. Par exemple, dans un connecteur de base de données, les tables sont les entités, alors que dans un connecteur de serveur de fichiers, ce sont les dossiers, et dans un connecteur de système de messagerie, ce sont les files d'attente.

    Toutefois, il est possible qu'un connecteur n'accepte ou ne possède aucune entité. Dans ce cas, la liste Entities est vide.

  • Opération : une opération est l'activité que vous pouvez effectuer sur une entité. Voici les opérations possibles :

    Lorsque vous sélectionnez une entité dans la liste proposée, cela génère une liste d'opérations disponibles pour l'entité. Pour obtenir une description détaillée des opérations, consultez les opérations d'entité de la tâche "Connecteurs". Cependant, si un connecteur n'accepte pas l'une des opérations d'entité, cette opération non compatible ne figure pas dans la liste Operations.

  • Action : une action est une fonction de première classe mise à la disposition de l'intégration par le biais de l'interface du connecteur. Une action vous permet de modifier une ou plusieurs entités, et varie d'un connecteur à l'autre. Normalement, une action comporte des paramètres d'entrée et un paramètre de sortie. Toutefois, il est possible qu'un connecteur n'accepte aucune action, auquel cas la liste Actions est vide.

Limites du système

Le connecteur Azure Data Lake Storage peut traiter cinq transactions par seconde et par nœud, et limite les transactions au-delà de ce seuil. Par défaut, Integration Connectors alloue deux nœuds (pour améliorer la disponibilité) à une connexion.

Pour en savoir plus sur les limites applicables à Integration Connectors, consultez Limites.

Actions

Dans cette section, vous trouverez la liste des actions prises en charge par le connecteur. Pour savoir comment configurer les actions, consultez Exemples d'actions.

Action DownloadFile

Cette action permet de télécharger le contenu d'un blob spécifique à partir d'un répertoire ou d'un conteneur.

Paramètres d'entrée de l'action DownloadFile

Nom du paramètre Type de données Obligatoire Description
Path STRING Oui Chemin d'accès au fichier (y compris le nom du fichier) à télécharger. Exemples :
  • FILE_NAME
  • dir1/FILE_NAME
  • dir1/dir2/FILE_NAME
HasBytes BOOLEAN Non Indique si le contenu doit être téléchargé sous forme d'octets (format Base64).
  • Pour télécharger des fichiers non textuels tels que .pdf, .xls et .docx, vous devez définir HasBytes sur true.
  • Pour télécharger un fichier texte, vous pouvez définir HasBytes sur true ou false. Si vous définissez la valeur sur true, le contenu textuel est téléchargé sous forme d'octets (format Base64).
La valeur par défaut de ce champ est false.

Paramètres de sortie de l'action DownloadFile

Si l'action aboutit, le contenu du fichier ou du blob est renvoyé.

Pour savoir comment configurer l'action DownloadFile, consultez Exemples d'actions.

Action CreateFile

Cette action permet de créer un blob ou un fichier dans un conteneur ou un répertoire.

Paramètres d'entrée de l'action CreateFile

Nom du paramètre Type de données Obligatoire Description
Path STRING Oui Chemin d'accès au fichier qui sera créé.

Pour savoir comment configurer l'action CreateFile, consultez Exemples d'actions.

Action CopyFile

Cette action permet de copier le contenu d'un fichier ou d'un blob vers un autre fichier ou blob dans le même conteneur ou répertoire.

Paramètres d'entrée de l'action CopyFile

Nom du paramètre Type de données Obligatoire Description
SourcePath STRING Oui Chemin d'accès au fichier qui sera copié.
DestinationPath STRING Oui Chemin d'accès dans lequel le fichier sera copié.

Pour savoir comment configurer l'action CopyFile, consultez Exemples d'actions.

Action DeleteObject

Cette action permet de supprimer un fichier ou un blob.

Paramètres d'entrée de l'action DeleteObject

Nom du paramètre Type de données Obligatoire Description
Recursive STRING Non Définissez cette valeur sur true pour supprimer tout le contenu du dossier, y compris les sous-dossiers.
Path STRING Oui Chemin d'accès au fichier ou au dossier à supprimer.
DeleteType STRING Oui
  • Définissez ce paramètre sur FILESANDFOLDERS pour supprimer le fichier ou le dossier spécifié dans le paramètre "Path".
  • Définissez ce paramètre sur FILES pour ne supprimer que les fichiers du dossier spécifié dans le paramètre "Path".

Pour savoir comment configurer l'action DeleteObject, consultez Exemples d'actions.

Action LeaseBlob

Cette action permet de créer et de gérer un verrou sur un blob.

Paramètres d'entrée de l'action LeaseBlob

Nom du paramètre Type de données Obligatoire Description
Path STRING Oui Chemin d'accès au fichier.
LeaseAction STRING Oui Spécifie l'action de bail à exécuter.
LeaseDuration INTEGER Oui Spécifie la durée du bail.

Pour savoir comment configurer l'action LeaseBlob, consultez Exemples d'actions.

Action UploadFile

Cette action permet aux utilisateurs d'importer le contenu dans un blob ou un conteneur spécifique.

Paramètres d'entrée de l'action UploadFile

Nom du paramètre Type de données Obligatoire Description
Path STRING Oui Chemin d'accès au fichier à importer.
HasBytes BOOLEAN Non Indique si le contenu doit être importé sous la forme d'octets.
Content STRING Oui Contenu à importer.

Pour savoir comment configurer l'action UploadFile, consultez Exemples d'actions.

Action RenameObject

Cette action permet de renommer un fichier ou un dossier.

Paramètres d'entrée de l'action RenameObject

Nom du paramètre Type de données Obligatoire Description
Path STRING Oui Chemin d'accès à l'objet à renommer.
RenameTo STRING Oui Nouveau nom du fichier ou du dossier.

Pour savoir comment configurer l'action RenameObject, consultez Exemples d'actions.

Exemples d'actions

Exemple : Télécharger un fichier

Cet exemple télécharge un fichier binaire.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action DownloadFile, puis cliquez sur OK.
  3. Dans la section Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value :
    {
    "Path": "testdirectory1/test1.pdf",
    "HasBytes": true
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche DownloadFile aura une valeur semblable à la suivante :

    [{
    "Success": "True",
    "ContentBytes": "UEsDBBQABgAIAAAAIQCj77sdZQEAAFIFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooA"
    }]

Exemple : Importer un fichier

Cet exemple importe du contenu en tant que blob.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action UploadFile, puis cliquez sur OK.
  3. Dans la section Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value :
    {
    "Path": "testblob4",
    "HasBytes": true,
    "Content": "abcdef\nabcdef"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche UploadFile aura une valeur semblable à la suivante :

    [{
    "Success": "true"
    }]

Exemple : Créer un fichier

Cet exemple crée un fichier dans le répertoire spécifié.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action CreateFile, puis cliquez sur OK.
  3. Dans la section Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value :
    {
    "path": "testdirectory1/testblob"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche CreateFile aura une valeur semblable à la suivante :

    [{
    "Success": "true"
    }]

Exemple : Copier un fichier

Cet exemple copie un fichier d'un emplacement vers un autre.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action CopyFile, puis cliquez sur OK.
  3. Dans la section Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value :
    {
    "SourcePath": "testdirectory1/testblob",
    "DestinationPath": "testblob"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche CopyFile aura une valeur semblable à la suivante :

    [{
    "Success": "true"
    }]

Exemple : Supprimer un blob

Cet exemple supprime le blob spécifié.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action DeleteObject, puis cliquez sur OK.
  3. Dans la section Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value :
    {
    "path": "testdirectory1/testblob"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche DeleteObject aura une valeur semblable à la suivante :

    [{
    "Success": "true"
    }]

Exemple : Louer un blob

Cet exemple loue le blob spécifié.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action LeaseBlob, puis cliquez sur OK.
  3. Dans la section Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value :
    {
    "Path": "testblob2",
    "LeaseAction": "Acquire",
    "LeaseDuration": 60.0
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche LeaseBlob aura une valeur semblable à la suivante :

    [{
    "LeaseId": "7aae9ca2-f015-41b6-9bdf-5fd3401fc493",
    "Success": "true"
    }]

Exemple : Renommer un blob

Cet exemple renomme un blob.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action RenameObject, puis cliquez sur OK.
  3. Dans la section Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value :
    {
    "Path": "testblob",
    "RenameTo": "testblob6"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche RenameObject aura une valeur semblable à la suivante :

    [{
    "Success": true
    }]

Exemples d'opérations d'entité

Cette section explique comment effectuer certaines opérations d'entité dans ce connecteur.

Exemple : Lister tous les enregistrements

Cet exemple liste tous les enregistrements de l'entité Resource.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Resource dans la liste Entity.
  3. Sélectionnez l'opération List, puis cliquez sur OK.
  4. (Facultatif) Dans la section Entrée de la tâche de la tâche Connecteurs, vous pouvez filtrer votre ensemble de résultats en spécifiant une clause de filtre. Indiquez toujours la valeur de la clause de filtre entre guillemets simples (').

Exemple : Récupérer un enregistrement

Cet exemple récupère un enregistrement ayant l'ID spécifié à partir de l'entité Resource.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Resource dans la liste Entity.
  3. Sélectionnez l'opération Get, puis cliquez sur OK.
  4. Dans la section Entrée de la tâche de la tâche Connecteurs, cliquez sur EntityId, puis saisissez testdirectory1/testblob1 dans le champ Valeur par défaut.

    Ici, testdirectory1/testblob1 est un ID d'enregistrement unique dans l'entité Resource.

Utiliser la connexion Azure Data Lake Storage dans une intégration

Une fois la connexion créée, elle devient disponible dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration au moyen de la tâche "Connecteurs".

  • Pour savoir comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez Tâche "Connecteurs".
  • Pour savoir comment créer et utiliser la tâche "Connecteurs" dans Application Integration, consultez Tâche "Connecteurs".

Demander de l'aide à la communauté Google Cloud

Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.

Étapes suivantes