Laden Sie Dateien von AzOS mit Azcopy auf Azure Data Lake Gen2 hoch

Im folgenden Artikel habe ich versucht, TPC-H-Daten zu erstellen. Da ich die Datei jedoch mit Azcopy von CentOS hochgeladen habe, werde ich die Methode beschreiben. Erstellen Sie eine Testumgebung mit TPC-H (Synapse SQL Pool)

1. Erstellen eines Speicherkontos und eines Containers

Erstellen Sie zunächst ein Speicherkonto und einen Container zum Hochladen.

1-1. Wählen Sie im Azure-Portal ein Speicherkonto aus

image.png

1-2. Hinzufügen eines Speicherkontos

image.png

1-3. Fügen Sie die erforderlichen Informationen auf der Registerkarte Basis hinzu

In diesem Beispiel werden standardmäßig alle außer "Ressourcengruppe", "Speicherkontoname" und "Replikation" angegeben.

1-4. Wählen Sie die erforderlichen Informationen auf der Registerkarte Netzwerk aus

In den Netzwerkeinstellungen habe ich es dieses Mal erstellt, ohne die Standardeinstellungen zu ändern. image.png

1-5. Datenschutz auswählen

Diesmal ist nichts eingestellt. image.png

1-6. Wählen Sie auf der Registerkarte Details Data Lake Storage Gen2 aus

image.png

1-7 Erstellen Sie ein Speicherkonto, indem Sie es überprüfen und erstellen

image.png

Klicken Sie auf die Schaltfläche Erstellen, um ein Speicherkonto zu erstellen.

1-8. Erstellen eines Containers

Erstellen Sie nach dem Erstellen des Speicherkontos einen Container aus dem erstellten Speicherkonto. image.png Wählen Sie "+ Container" aus dem Bildschirm unten. image.png Ich habe einen Container namens "Azcopytest" erstellt. image.png

2. IAM-Einstellungen (Storage Account Access Control)

Für den Zugriff auf Blob sind IAM-Einstellungen erforderlich. Zusätzlich wird eine Azkopie unter Verwendung der hier festgelegten IAM-Informationen durchgeführt. Wenn diese Einstellung nicht vorgenommen wird, tritt während der Azkopie ein Fehler wie "403 Diese Anforderung ist nicht berechtigt, diesen Vorgang mit dieser Berechtigung auszuführen" auf, und eine Azkopie ist nicht möglich.

2-1. Wählen Sie das zuvor erstellte Speicherkonto aus

image.png

2-2. Rollenzuweisung von Access Control (IAM) hinzugefügt

image.png

Wählen Sie für die Rolle die erforderlichen Berechtigungen aus, z. B. "Storage BLOB Data Co-Creator", und geben Sie den Benutzer an, der IAM zuweisen soll. image.png

3. Azcopy unter CentOS eingeführt

Laden Sie zuerst azcopy mit wget herunter.

$ wget https://azcopyvnext.azureedge.net/release20200818/azcopy_linux_amd64_10.6.0.tar.gz

Entpacken Sie nach dem Herunterladen und wechseln Sie in das erstellte Verzeichnis.

$ tar xvfx azcopy_linux_amd64_10.6.0.tar.gz
$ cd azcopy_linux_amd64_10.6.0

4. Melden Sie sich mit azcopy an

Sie müssen sich mit azcopy anmelden, bevor Sie die Datei mit azcopy hochladen.

4-1. Bestätigung der Mieter-ID

Bestätigen Sie die Mandanten-ID, da Sie die Mandanten-ID eingeben müssen, wenn Sie sich mit azcopy anmelden. Die Mandanten-ID kann von Azure AD bestätigt werden. image.png

Sie können dies nach dem Bildschirmübergang unter "Mandanteninformationen" überprüfen. image.png

4-2. Melden Sie sich mit Azcopy an

Melden Sie sich wie folgt von CentOS aus an.

$ ./azcopy login --tenant-id "<Mieter-ID>"

Wenn Sie es ausführen, wird ein Browser geöffnet und Sie werden aufgefordert, den Code über die angegebene URL einzugeben. Öffnen Sie daher den Browser und geben Sie den Code ein. image.png

Wenn Sie die angegebene URL im Browser eingeben, wird der folgende Bildschirm angezeigt. Geben Sie also den Code ein. image.png

Wenn die Anmeldung erfolgreich ist, wird die Meldung "erfolgreich" wie unten gezeigt ausgegeben. image.png

4. Mit Azcopy auf BLOB hochladen

Mit dem Kopierbefehl von azcopy auf Blob hochladen.

$ ./azcopy copy "Lokaler Dateiname" "https://<Name des Speicherkontos>.blob.core.windows.net/<Containername>"

Wenn Sie mehrere Dateien hochladen möchten, können Sie auch "*" usw. angeben.

$ ./azcopy copy "Lokales Verzeichnis/*" "https://<Name des Speicherkontos>.blob.core.windows.net/<Containername>"

5. Bonus

Nach Abschluss des Uploads können Sie die Daten mithilfe von PolyBase usw. in den Azure Syanpase Analytics SQL-Pool laden. Die Methode ist in einem anderen Artikel enthalten. Wenn Sie möchten, lesen Sie sie bitte. Ich habe versucht, den Synapse SQL-Pool mit PolyBase zu füllen

Recommended Posts

Laden Sie Dateien von AzOS mit Azcopy auf Azure Data Lake Gen2 hoch
[Hinweis] Von S3 herunterladen, auf S3 hochladen
Aktualisieren Sie MySQL mit Docker von 5.7 auf 8.0