Erstellen eines Azure-Stagingbereichs

Ein Stagingbereich gibt an, wo Datendateien gespeichert (d. h. „bereitgestellt“) werden, damit die Daten in den Dateien in eine Tabelle geladen werden können.

Unter diesem Thema:

Daten können direkt aus Dateien in einen bestimmten Azure-Container oder in einen Azure-„Ordner“-Pfad (d. h. Schlüsselwertpräfix) geladen werden. Wenn der Pfad mit / endet, werden alle Objekte im entsprechenden Azure-Ordner geladen.

Externe Stagingbereiche

Zusätzlich zum direkten Laden aus Dateien in Azure-Container unterstützt Snowflake die Erstellung benannter externer Stagingbereiche, die alle erforderlichen Informationen für die Bereitstellung von Dateien kapseln. Dazu gehören:

  • Der Azure-Container, in dem die Dateien bereitgestellt werden.

  • Das benannte Speicherintegrationsobjekt oder die Azure-Anmeldeinformationen für den Container (falls er geschützt ist).

  • Ein Verschlüsselungsschlüssel (wenn die Dateien im Container verschlüsselt wurden).

Benannte externe Stagingbereiche sind optional, werden aber empfohlen, wenn Sie planen, Daten regelmäßig vom gleichen Ort zu laden. Eine Anleitung zum Erstellen eines externen Stagingbereichs finden Sie unter Erstellen eines externen Stagingbereichs weiter unten.

Erstellen eines externen Stagingbereichs

Sie können einen benannten externen Stagingbereich entweder mit SQL oder über die Weboberfläche erstellen:

Bemerkung

Sie müssen eine Rolle verwenden, der die USAGE-Berechtigung für die Datenbank und das Schema, in denen der Stagingbereich gespeichert ist, sowie die CREATE STAGE-Berechtigung für das Schema erteilt wurden oder die diese Berechtigungen geerbt hat.

Weitere Informationen zu CREATE STAGE finden Sie unter Anforderungen an die Zugriffssteuerung.

Erstellen eines externen Stagingbereichs mit SQL

Verwenden Sie den Befehl CREATE STAGE, um einen externen Stagingbereich zu erstellen.

Im folgenden Beispiel wird ein externer Stagingbereich mit dem Namen my_azure_stage erstellt. Die CREATE-Anweisung enthält die Speicherintegration azure_int, die in Konfigurieren eines Azure-Containers zum Laden von Daten erstellt wurde, um auf den Azure-Container container1 im Konto myaccount zuzugreifen.

Die Datendateien werden im Pfad load/files/ gespeichert. Der Stagingbereich verweist auf ein benanntes Dateiformatobjekt namens my_csv_format, das die Daten in den im Pfad gespeicherten Dateien beschreibt:

CREATE STAGE my_azure_stage
  STORAGE_INTEGRATION = azure_int
  URL = 'azure://myaccount.blob.core.windows.net/mycontainer/load/files/'
  FILE_FORMAT = my_csv_format;
Copy

Bemerkung

Verwenden Sie den Endpunkt blob.core.windows.net für alle unterstützten Typen von Azure-Blob-Speicherkonten, einschließlich Data Lake Storage Gen2.

Bemerkung

Durch die Angabe eines benannten Dateiformatobjekts (oder einzelner Dateiformatoptionen) für den Stagingbereich ist es nicht erforderlich, später die gleichen Dateiformatoptionen im COPY-Befehl anzugeben, der zum Laden von Daten aus dem Stagingbereich verwendet wird. Weitere Informationen zu Dateiformatobjekten und -optionen finden Sie unter CREATE FILE FORMAT.

Erstellen eines externen Stagingbereichs mit Snowsight

Um mit Snowsight einen benannten externen Stagingbereich zu erstellen, gehen Sie wie folgt vor:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie im Navigationsmenü die Option Data » Databases aus.

  3. Wählen Sie die Datenbank und das Schema aus, in denen Sie einen Stagingbereich erstellen möchten.

  4. Wählen Sie Create » Stage aus.

  5. Wählen Sie den unterstützten Cloudspeicherdienst aus, in dem Ihre Dateien gespeichert sind.

  6. Geben Sie einen Stage Name ein.

  7. Geben Sie die URL Ihres externen Cloudspeicherortes ein.

  8. Wenn Ihr externer Speicher nicht öffentlich ist, aktivieren Sie Authentication, und geben Sie Ihre Daten ein. Weitere Informationen dazu finden Sie unter CREATE STAGE.

  9. Optional können Sie Directory table deaktivieren. Verzeichnistabellen ermöglichen das Anzeigen von Dateien im Stagingbereich, erfordern jedoch ein Warehouse und sind daher mit Kosten verbunden. Sie können diese Option vorerst deaktivieren und eine Verzeichnistabelle später aktivieren.

    Wenn Sie Directory table aktivieren, wählen Sie optional Enable auto-refresh aus, und wählen Sie die Ereignisbenachrichtigung oder Benachrichtigungsintegration aus, um die Verzeichnistabelle automatisch zu aktualisieren, wenn Dateien hinzugefügt oder entfernt werden. Weitere Informationen dazu finden Sie unter Automatisiertes Aktualisieren der Metadaten von Verzeichnistabellen.

  10. Wenn Ihre Dateien verschlüsselt sind, aktivieren Sie Encryption, und geben Sie Ihre Daten ein.

  11. Erweitern Sie optional SQL Preview (SQL-Vorschau), um eine generierte SQL-Anweisung anzuzeigen. Um für Ihren Stagingbereich zusätzliche Optionen wie AUTO_REFRESH festzulegen, können Sie die SQL-Vorschau in einem Arbeitsblatt öffnen.

  12. Wählen Sie Create aus.

Erstellen eines externen Stagingbereichs mit der klassischen Konsole

Wählen Sie Databases Registerkarte „Datenbanken“ » <DB-Name> » Stages aus.

Nächstes Thema: Kopieren von Daten aus einem Azure-Stagingbereich