Azure Data Lake Storage

Mit dem Azure Data Lake Storage-Connector können Sie eine Verbindung zu Azure Data Lake Storage herstellen und SQL-Daten zum Abrufen und Aktualisieren der Azure Data Lake Storage-Daten verwenden.

Hinweise

Führen Sie vor der Verwendung des Azure Data Lake Storage-Connectors die folgenden Aufgaben aus:

  • In Ihrem Google Cloud-Projekt:
    • Prüfen Sie, ob eine Netzwerkverbindung eingerichtet ist. Informationen zu Netzwerkmustern finden Sie unter Netzwerkkonnektivität.
    • Weisen Sie dem Nutzer, der den Connector konfiguriert, die IAM-Rolle roles/connectors.admin zu.
    • Weisen Sie dem Dienstkonto, das Sie für den Connector verwenden möchten, die folgenden IAM-Rollen zu:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Ein Dienstkonto ist eine spezielle Art von Google-Konto, das einen nicht menschlichen Nutzer repräsentiert. Es muss authentifiziert und autorisiert werden, um Zugriff auf Daten in Google APIs zu erhalten. Wenn Sie kein Dienstkonto haben, müssen Sie eins erstellen. Weitere Informationen finden Sie unter Dienstkonto erstellen.

    • Aktivieren Sie die folgenden Dienste:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (Connectors API)

      Informationen zum Aktivieren von Diensten finden Sie unter Dienste aktivieren.

    Wenn diese Dienste oder Berechtigungen für Ihr Projekt zuvor nicht aktiviert wurden, werden Sie aufgefordert, sie beim Konfigurieren des Connectors zu aktivieren.

  • Informationen zum Erstellen eines Azure-Speicherkontos finden Sie unter Speicherkonto erstellen. Informationen zum Erstellen eines Containers in Azure finden Sie unter Container erstellen. Informationen zum Erstellen eines Verzeichnisses in Azure finden Sie unter Verzeichnis erstellen.

Connector konfigurieren

Für die Konfiguration des Connectors müssen Sie eine Verbindung zu Ihrer Datenquelle (Backend-System) erstellen. Eine Verbindung ist für eine Datenquelle spezifisch. Wenn Sie also viele Datenquellen haben, müssen Sie für jede Datenquelle eine separate Verbindung erstellen. So erstellen Sie eine Verbindung:

  1. Rufen Sie in der Cloud Console die Seite Integration Connectors > Verbindungen auf und wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Seite „Verbindungen“

  2. Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
  3. Wählen Sie im Abschnitt Standort den Standort für die Verbindung aus.
    1. Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.

      Unterstützte Regionen für Connectors:

      Eine Liste aller unterstützten Regionen finden Sie unter Standorte.

    2. Klicken Sie auf Weiter.
  4. Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
    1. Connector: Wählen Sie in der Drop-down-Liste der verfügbaren Connectors Azure Data Lake Storage aus.
    2. Connector-Version: Wählen Sie die Connector-Version aus der Drop-down-Liste der verfügbaren Versionen aus.
    3. Geben Sie im Feld Verbindungsname einen Namen für die Verbindungsinstanz ein.

      Verbindungsnamen müssen die folgenden Kriterien erfüllen:

      • Verbindungsnamen können Buchstaben, Ziffern oder Bindestriche enthalten.
      • Buchstaben müssen Kleinbuchstaben sein.
      • Verbindungsnamen müssen mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden.
      • Verbindungsnamen dürfen maximal 49 Zeichen haben.
    4. Geben Sie optional unter Beschreibung eine Beschreibung für die Verbindungsinstanz ein.
    5. Optional können Sie Cloud Logging aktivieren und dann eine Logebene auswählen. Die Logebene ist standardmäßig auf Error festgelegt.
    6. Dienstkonto: Wählen Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
    7. Optional: Konfigurieren Sie die Verbindungsknoteneinstellungen:

      • Mindestanzahl von Knoten: Geben Sie die Mindestanzahl von Verbindungsknoten ein.
      • Maximale Anzahl von Knoten: Geben Sie die maximale Anzahl von Verbindungsknoten ein.

      Ein Knoten ist eine Einheit (oder ein Replikat) einer Verbindung, die Transaktionen verarbeitet. Zur Verarbeitung von mehr Transaktionen für eine Verbindung sind mehr Knoten erforderlich. Umgekehrt sind weniger Knoten erforderlich, um weniger Transaktionen zu verarbeiten. Informationen zu den Auswirkungen der Knoten auf Ihre Connector-Preise finden Sie unter Preise für Verbindungsknoten. Wenn Sie keine Werte eingeben, ist die Mindestanzahl von Knoten standardmäßig auf 2 (für eine bessere Verfügbarkeit) und die maximale Knotenzahl auf 50 gesetzt.

    8. Konto: Mit dieser Eigenschaft wird der Name des Azure Data Lake Storage-Kontos angegeben.
    9. Directory (Verzeichnis): Mit dieser Eigenschaft wird der Stammpfad zum Auflisten von Dateien und Ordnern angegeben.
    10. Dateisystem: Mit dieser Eigenschaft wird der Name des Dateisystems angegeben, das in einem Gen 2-Speicherkonto verwendet wird. Beispiel: Der Name Ihres Azure-Blob-Containers.
    11. Chunk-Größe: Die Größe der Blöcke (in MB), die beim Hochladen großer Dateien verwendet werden.
    12. Unterverzeichnisse einbeziehen: Wählen Sie aus, ob die Pfade zu Unterverzeichnissen im ADLSGen2-Schema in der Ressourcenansicht aufgeführt werden sollen.
    13. Klicken Sie optional auf + Label hinzufügen, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
    14. Klicken Sie auf Weiter.
  5. Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
    1. Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.

      Die folgenden Authentifizierungstypen werden von der Azure Data Lake Storage-Verbindung unterstützt:

      • Shared Access Signature
      • Kontozugriffsschlüssel
    2. Informationen zum Konfigurieren dieser Authentifizierungstypen finden Sie unter Authentifizierung konfigurieren.

    3. Klicken Sie auf Next (Weiter).
  6. Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
  7. Klicken Sie auf Erstellen.

Beispiele für Verbindungskonfigurationen

In diesem Abschnitt finden Sie Beispielwerte für die verschiedenen Felder, die Sie beim Erstellen der Azure Data Lake Storage-Verbindung konfigurieren.

Verbindungstyp „Shared Access Signature“

Feldname Details
Standort us-central1
Connector azuredatalakestorage
Connector-Version 1
Verbindungsname adls-gen2-conn-public
Cloud Logging aktivieren Ja
Dienstkonto SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Konto google-cloud-dslgen3
Verzeichnis testdirectory1
Dateisystem testcontainer1
Unterverzeichnisse einschließen Nein
Mindestanzahl von Knoten 2
Maximale Anzahl von Knoten 50
Shared Access Signature SHARED_ACCESS_SIGNATURE
Secret-Version 1

Verbindungstyp für Kontozugriffsschlüssel

Feldname Details
Standort us-central1
Connector azuredatalakestorage
Connector-Version 1
Verbindungsname azure-data-lake-conn
Cloud Logging aktivieren Ja
Dienstkonto SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Konto google-cloud-dslgen3
Verzeichnis testdirectory1
Dateisystem testcontainer1
Unterverzeichnisse einschließen Nein
Mindestanzahl von Knoten 2
Maximale Anzahl von Knoten 50
Kontozugriffsschlüssel ACCOUNT_ACCESS_KEY
Secret-Version 1

Authentifizierung konfigurieren

Geben Sie die Details basierend auf der zu verwendenden Authentifizierung ein.

  • Shared Access Signature

    Wenn Sie die anonyme Anmeldung verwenden möchten, wählen Sie Nicht verfügbar aus.

    • Shared Access Signature: Secret Manager-Secret mit der Shared Access Signature.
  • Kontozugriffsschlüssel

    Wenn Sie die anonyme Anmeldung verwenden möchten, wählen Sie Nicht verfügbar aus.

    • Kontozugriffsschlüssel: Secret Manager-Secret mit dem Kontozugriffsschlüssel.

Entitäten, Vorgänge und Aktionen

Alle Integration Connectors bieten eine Abstraktionsebene für die Objekte der verbundenen Anwendung. Sie können nur über diese Abstraktion auf die Objekte einer Anwendung zugreifen. Die Abstraktion wird Ihnen als Entitäten, Vorgänge und Aktionen zur Verfügung gestellt.

  • Entität: Eine Entität kann als Objekt oder Sammlung von Attributen in der verbundenen Anwendung oder im verbundenen Dienst verstanden werden. Die Definition einer Entität unterscheidet sich von Connector zu Connector. Beispiel: In einem Datenbank-Connector sind Tabellen die Entitäten, in einem Dateiserver-Connector sind Ordner die Entitäten und in einem Nachrichtensystem-Connector sind Warteschlangen die Entitäten.

    Es ist jedoch möglich, dass ein Connector keine Entitäten unterstützt oder keine Entitäten enthält. In diesem Fall ist die Liste Entities leer.

  • Vorgang: Ein Vorgang ist die Aktivität, die Sie für eine Entität ausführen können. Sie können einen der folgenden Vorgänge für eine Entität ausführen:

    Durch Auswahl einer Entität aus der verfügbaren Liste wird eine Liste der Vorgänge generiert, die für die Entität verfügbar sind. Eine detaillierte Beschreibung der Vorgänge finden Sie in den Entitätsvorgängen der Connectors-Aufgabe. Wenn ein Connector jedoch keinen der Entitätsvorgänge unterstützt, werden diese nicht unterstützten Vorgänge nicht in der Liste Operations aufgeführt.

  • Aktion: Eine Aktion ist eine Funktion erster Klasse, die über die Connector-Benutzeroberfläche für die Integration verfügbar gemacht wird. Mit einer Aktion können Sie Änderungen an einer oder mehreren Entitäten vornehmen, die von Connector zu Connector unterschiedlich sind. Normalerweise hat eine Aktion einige Eingabeparameter und einen Ausgabeparameter. Es ist jedoch möglich, dass ein Connector keine Aktionen unterstützt. In diesem Fall ist die Actions-Liste leer.

Systemeinschränkungen

Der Azure Data Lake Storage-Connector kann 5 Transaktionen pro Sekunde und pro Knoten verarbeiten. Alle Transaktionen, die über dieses Limit hinausgehen, werden drosselt. Standardmäßig werden für eine Verbindung zwei Knoten (für eine bessere Verfügbarkeit) zugewiesen.

Informationen zu den Limits für Integration Connectors finden Sie unter Limits.

Aktionen

In diesem Abschnitt werden die vom Connector unterstützten Aktionen aufgeführt. Informationen zum Konfigurieren der Aktionen finden Sie unter Beispiele für Aktionen.

Aktion „DownloadFile“

Mit dieser Aktion können Sie den Inhalt eines bestimmten Blobs aus einem Verzeichnis oder Container herunterladen.

Eingabeparameter der Aktion „DownloadFile“

Parametername Datentyp Erforderlich Beschreibung
Pfad String Ja Der Pfad der Datei (einschließlich des Dateinamens), die heruntergeladen werden soll. Beispiele:
  • FILE_NAME
  • dir1/FILE_NAME
  • dir1/dir2/FILE_NAME
HasBytes Boolesch Nein Gibt an, ob Inhalte als Bytes (Base64-Format) heruntergeladen werden sollen.
  • Wenn Sie nicht textbasierte Dateien wie .pdf, .xls und .docx herunterladen möchten, müssen Sie „HasBytes“ auf true festlegen.
  • Wenn Sie eine Textdatei herunterladen möchten, können Sie „HasBytes“ auf true oder false festlegen. Wenn Sie den Wert auf true festlegen, werden die Textinhalte als Bytes (Base64-Format) heruntergeladen.
Der Standardwert für diesen Parameter ist false.

Ausgabeparameter der Aktion „DownloadFile“

Wenn die Aktion erfolgreich war, wird der Inhalt der Datei oder des Blobs zurückgegeben.

Ein Beispiel zum Konfigurieren der DownloadFile-Aktion finden Sie unter Beispiele für Aktionen.

Aktion „CreateFile“

Mit dieser Aktion können Sie einen Blob oder eine Datei in einem Container oder Verzeichnis erstellen.

Eingabeparameter der Aktion „CreateFile“

Parametername Datentyp Erforderlich Beschreibung
Pfad String Ja Der Pfad der Datei, die erstellt werden soll.

Ein Beispiel zum Konfigurieren der CreateFile-Aktion finden Sie unter Beispiele für Aktionen.

CopyFile-Aktion

Mit dieser Aktion können Sie den Inhalt einer Datei oder eines Blobs in eine andere Datei oder einen anderen Blob im selben Container oder Verzeichnis kopieren.

Eingabeparameter der CopyFile-Aktion

Parametername Datentyp Erforderlich Beschreibung
SourcePath String Ja Der Pfad der Datei, die kopiert werden soll.
DestinationPath String Ja Der Pfad der Datei, in die sie kopiert werden soll.

Ein Beispiel zum Konfigurieren der CopyFile-Aktion finden Sie unter Beispiele für Aktionen.

DeleteObject-Aktion

Mit dieser Aktion können Sie eine Datei oder einen Blob löschen.

Eingabeparameter der DeleteObject-Aktion

Parametername Datentyp Erforderlich Beschreibung
Rekursiv String Nein Legen Sie diesen Wert auf true fest, um den gesamten Inhalt des Ordners einschließlich aller Unterordner zu löschen.
Pfad String Ja Der Pfad der Datei oder des Ordners, der gelöscht werden soll.
DeleteType String Ja
  • Legen Sie diesen Parameter auf „FILESANDFOLDERS“ fest, um die im Pfadparameter angegebene Datei oder den angegebenen Ordner zu löschen.
  • Legen Sie diesen Parameter auf „FILES“ fest, um nur die Dateien im im Pfadparameter angegebenen Ordner zu löschen.

Ein Beispiel zum Konfigurieren der DeleteObject-Aktion finden Sie unter Beispiele für Aktionen.

LeaseBlob-Aktion

Mit dieser Aktion können Sie eine Sperre für einen Blob erstellen und verwalten.

Eingabeparameter der LeaseBlob-Aktion

Parametername Datentyp Erforderlich Beschreibung
Pfad String Ja Der Pfad der Datei.
LeaseAction String Ja Gibt die auszuführende Leasingaktion an.
LeaseDuration Ganzzahl Ja Gibt die Dauer des Leases an.

Ein Beispiel zum Konfigurieren der LeaseBlob-Aktion finden Sie unter Beispiele für Aktionen.

UploadFile-Aktion

Mit dieser Aktion können Nutzer den Inhalt in einen bestimmten Blob oder Container hochladen.

Eingabeparameter der UploadFile-Aktion

Parametername Datentyp Erforderlich Beschreibung
Pfad String Ja Der Pfad der hochzuladenden Datei.
HasBytes Boolesch Nein Ob Inhalte als Bytes hochgeladen werden sollen.
Inhalt String Ja Inhalte, die hochgeladen werden sollen.

Ein Beispiel zum Konfigurieren der UploadFile-Aktion finden Sie unter Beispiele für Aktionen.

RenameObject-Aktion

Mit dieser Aktion können Sie eine Datei oder einen Ordner umbenennen.

Eingabeparameter der Aktion „RenameObject“

Parametername Datentyp Erforderlich Beschreibung
Pfad String Ja Der Pfad, der umbenannt werden soll.
RenameTo String Ja Der neue Name der Datei oder des Ordners.

Ein Beispiel zum Konfigurieren der RenameObject-Aktion finden Sie unter Beispiele für Aktionen.

Beispiele für Aktionen

Beispiel: Datei herunterladen

In diesem Beispiel wird eine Binärdatei heruntergeladen.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion DownloadFile aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default Value ein:
    {
    "Path": "testdirectory1/test1.pdf",
    "HasBytes": true
    }
  4. Wenn die Aktion erfolgreich war, hat der Antwortparameter connectorOutputPayload der Aufgabe DownloadFile einen Wert, der in etwa so aussieht:

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

Beispiel: Datei hochladen

In diesem Beispiel werden Inhalte als Blob hochgeladen.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion UploadFile aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default Value ein:
    {
    "Path": "testblob4",
    "HasBytes": true,
    "Content": "abcdef\nabcdef"
    }
  4. Wenn die Aktion erfolgreich war, hat der Antwortparameter connectorOutputPayload der Aufgabe UploadFile einen Wert, der in etwa so aussieht:

    [{
    "Success": "true"
    }]

Beispiel: Datei erstellen

In diesem Beispiel wird eine Datei im angegebenen Verzeichnis erstellt.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion CreateFile aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default Value ein:
    {
    "path": "testdirectory1/testblob"
    }
  4. Wenn die Aktion erfolgreich war, hat der Antwortparameter connectorOutputPayload der Aufgabe CreateFile einen Wert, der in etwa so aussieht:

    [{
    "Success": "true"
    }]

Beispiel: Datei kopieren

In diesem Beispiel wird eine Datei von einem Speicherort an einen anderen kopiert.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion CopyFile aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default Value ein:
    {
    "SourcePath": "testdirectory1/testblob",
    "DestinationPath": "testblob"
    }
  4. Wenn die Aktion erfolgreich war, hat der Antwortparameter connectorOutputPayload der Aufgabe CopyFile einen Wert, der in etwa so aussieht:

    [{
    "Success": "true"
    }]

Beispiel: Blob löschen

In diesem Beispiel wird der angegebene Blob gelöscht.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion DeleteObject aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default Value ein:
    {
    "path": "testdirectory1/testblob"
    }
  4. Wenn die Aktion erfolgreich war, hat der Antwortparameter connectorOutputPayload der Aufgabe DeleteObject einen Wert, der in etwa so aussieht:

    [{
    "Success": "true"
    }]

Beispiel: Blob leasen

In diesem Beispiel wird das angegebene Blob geleast.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion LeaseBlob aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default Value ein:
    {
    "Path": "testblob2",
    "LeaseAction": "Acquire",
    "LeaseDuration": 60.0
    }
  4. Wenn die Aktion erfolgreich war, hat der Antwortparameter connectorOutputPayload der Aufgabe LeaseBlob einen Wert, der in etwa so aussieht:

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

Beispiel: Blob umbenennen

In diesem Beispiel wird ein Blob umbenannt.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion RenameObject aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default Value ein:
    {
    "Path": "testblob",
    "RenameTo": "testblob6"
    }
  4. Wenn die Aktion erfolgreich war, hat der Antwortparameter connectorOutputPayload der Aufgabe RenameObject einen Wert, der in etwa so aussieht:

    [{
    "Success": true
    }]

Beispiele für Entitätsvorgänge

In diesem Abschnitt wird beschrieben, wie Sie einige Entitätsvorgänge in diesem Connector ausführen.

Beispiel: Alle Einträge auflisten

In diesem Beispiel werden alle Einträge in der Entität Resource aufgelistet.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie in der Liste Entity die Option Resource aus.
  3. Wählen Sie den Vorgang List aus und klicken Sie auf Fertig.
  4. Optional können Sie im Bereich Aufgabeneingabe der Aufgabe Connectors einen Filter angeben, um den Ergebnissatz einzugrenzen. Geben Sie den Wert der Filterklausel immer in einfache Anführungszeichen (') ein.

Beispiel: Datensatz abrufen

In diesem Beispiel wird ein Datensatz mit der angegebenen ID aus der Resource-Entität abgerufen.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie in der Liste Entity die Option Resource aus.
  3. Wählen Sie den Vorgang Get aus und klicken Sie auf Fertig.
  4. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf EntityId und geben Sie dann testdirectory1/testblob1 in das Feld Standardwert ein.

    Hier ist testdirectory1/testblob1 eine eindeutige Datensatz-ID in der Entität Resource.

Azure Data Lake Storage-Verbindung in einer Integration verwenden

Nachdem Sie die Verbindung erstellt haben, ist sie sowohl in Apigee Integration als auch in Application Integration verfügbar. Sie können die Verbindung über die Connectors-Aufgabe in einer Integration verwenden.

  • Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Apigee Integration finden Sie unter Connectors-Aufgabe.
  • Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Application Integration finden Sie unter Connectors-Aufgabe.

Hilfe von der Google Cloud-Community erhalten

Sie können Ihre Fragen und Anregungen zu diesem Connector in der Google Cloud-Community unter Cloud-Foren posten.

Nächste Schritte