Einführung in die Unterstützung von unstrukturierten Daten¶
Unstrukturierte Daten sind Informationen, die nicht in ein vordefiniertes Datenmodell oder Schema passen. Unstrukturierte Daten sind in der Regel textlastig, z. B. Antworten auf Formulare oder Konversation in sozialen Medien, sie umfassen aber auch Bilder, Videos und Audiodaten. Branchenspezifische Dateitypen wie VCF (Genomik), KDF (Halbleiter) oder HDF5 (Luftfahrt) sind in dieser Kategorie enthalten.
Snowflake unterstützt die folgenden Aktionen:
Sicherer Zugriff auf Datendateien in einem Cloudspeicher
Freigeben von Dateizugriffs-URLs für Mitarbeiter und Partner
Laden der Dateizugriffs-URLs und anderer Datei-Metadaten in Snowflake-Tabellen
Unter diesem Thema werden die wichtigsten Konzepte vorgestellt und Anleitungen für den Zugriff auf Datendateien mit unstrukturierten Daten und deren gemeinsame Nutzung gegeben.
Unter diesem Thema:
Unterstützung von Cloudspeicherdiensten¶
Sowohl externe Stagingbereiche (externer Cloudspeicher) als auch interne (d. h. Snowflake) Stagingbereich unterstützen unstrukturierte Daten.
- Externe Stagingbereiche
Speichern Sie Dateien in einem externen Cloudspeicher: Amazon S3, Google Cloud Storage oder einer der unterstützten Microsoft Azure-Cloudspeicherdienste:
Blob-Speicher
Data Lake Storage Gen2
General Purpose v1
General Purpose v2
Verfügbare URL-Typen für Zugriff auf Dateien¶
Die folgenden Typen von URLs sind für den Zugriff auf Dateien im Cloudspeicher verfügbar:
- Bereichs-URL
Kodierte URL, die temporären Zugriff auf eine Stagingdatei erlaubt, ohne dass Berechtigungen für den Stagingbereich erteilt werden müssen.
Die URL läuft ab, wenn der Zeitraum für persistent gespeicherte Abfrageergebnisse endet (d. h. der Ergebnis-Cache läuft ab). Dieser Zeitraum beträgt derzeit 24 Stunden.
- Datei-URL
URL, die die Datenbank, das Schema, den Stagingbereich und den Dateipfad zu einer Menge von Dateien identifiziert. Eine Rolle, die über ausreichende Berechtigungen für den Stagingbereich verfügt, kann auf die Dateien zugreifen.
- Vorsignierte URL
Einfache HTTPS-URL für den Zugriff auf eine Datei über einen Webbrowser. Mit dieser URL kann ein Benutzer unter Verwendung eines vorsignierten Zugriffstokens temporär auf eine Datei zugreifen. Die Ablaufzeit des Zugriffstokens ist konfigurierbar.
In der folgenden Tabelle sind die wichtigsten Merkmale dieser URL-Typen beschrieben:
Bereichs-URL |
Datei-URL |
Vorsignierte URL |
|
---|---|---|---|
Anwendungsfälle |
Empfohlen für Dateiadministratoren, um bestimmten Rollen im selben Konto einen eingeschränkten Zugriff auf Datendateien zu gewähren. Ermöglicht den Zugriff auf die Dateien über eine Ansicht, die Bereichs-URLs abruft. Nur Rollen, die über Berechtigungen für die Ansicht verfügen, können auf die Dateien zugreifen. Ideal zur Verwendung in kundenspezifischen Anwendungen zum Bereitstellen von unstrukturierten Daten für andere Konten über eine Freigabe oder zum Herunterladen und zur Ad-hoc-Analyse unstrukturierter Daten über Snowsight. |
Permanente URL zu einer Datei in einem Stagingbereich. Um eine Datei herunterzuladen oder darauf zuzugreifen, senden die Benutzer die Datei-URL zusammen mit dem Autorisierungstoken in einer GET-Anforderung an den REST-API-Endpunkt. Ideal für kundenspezifische Anwendungen, die Zugriff auf unstrukturierte Datendateien benötigen. |
Wird verwendet, um Dateien herunterzuladen oder darauf zuzugreifen, ohne sich in Snowflake zu authentifizieren oder ein Autorisierungstoken zu übergeben. Vorsignierte URLs sind offen, d. h. jeder Benutzer oder jede Anwendung kann direkt auf die Dateien zugreifen oder sie herunterladen. Ideal für Business-Intelligence-Anwendungen oder Berichtstools, die den unstrukturierten Dateiinhalt anzeigen müssen. |
Generierung |
Fragen Sie die Funktion BUILD_SCOPED_FILE_URL ab. |
Fragen Sie die Verzeichnistabelle des Stagingbereichs ab, der auf die Stagingdateien verweist, oder rufen Sie die Funktion BUILD_STAGE_FILE_URL auf. |
Fragen Sie die Funktion GET_PRESIGNED_URL ab. |
Verwendung |
Die folgenden Optionen sind verfügbar:
|
Die folgenden Optionen sind verfügbar:
|
Die folgenden Optionen sind verfügbar:
|
Unstrukturierte Datendateien können von Datenverbrauchern über Spaltenwerte dieses Typs in sicheren, von Datenanbietern freigegebenen Ansichten aufgerufen werden. |
Unstrukturierte Datendateien können von Datenverbrauchern nicht über Spaltenwerte dieses Typs in sicheren, von Datenanbietern freigegebenen Ansichten aufgerufen werden. |
Unstrukturierte Datendateien können von Datenverbrauchern über Spaltenwerte dieses Typs in sicheren, von Datenanbietern freigegebenen Ansichten aufgerufen werden. |
|
Autorisierung |
Nur der Benutzer, der eine Bereichs-URL generiert, kann mit der URL auf die referenzierte Datei zugreifen. |
Die im GET-REST-API-Aufruf angegebene Rolle muss über ausreichende Berechtigungen für den Stagingbereich verfügen: USAGE (externer Stagingbereich) oder READ (interner Stagingbereich). |
Jede Person, die im Besitz der vorsignierten URL ist, kann auf die referenzierte Datei zugreifen, solange das Token gültig ist. |
Ablauf |
Der Ablaufzeitraum für den Cache der Abfrageergebnisse (derzeit 24 Stunden). |
Permanent. |
Die im Argument |
Serverseitige Verschlüsselung nur für Stagingbereiche¶
Zur Unterstützung des Dateizugriffs mit vorsignierten URLs erstellen Sie benannte interne oder externe Stagingbereich mit serverseitiger Verschlüsselung anstelle der clientseitigen Verschlüsselung. Wenn die Dateien in einem Stagingbereich clientseitig verschlüsselt sind, können Benutzer die Stagingdateien nur lesen, wenn sie Zugriff auf den Verschlüsselungsschlüssel haben.
Bemerkung
Derzeit ist die Erstellung interner Stagingbereiche mit serverseitiger Verschlüsselung auf die folgenden Snowflake-Clientversionen beschränkt:
JDBC-Treiber v3.12.11 (oder höher)
Verzeichnistabellen¶
Verzeichnistabellen speichern einen Katalog von Stagingdateien im Cloudspeicher. Rollen mit den erforderlichen Berechtigungen können eine Verzeichnistabelle abfragen, um die Datei-URLs für den Zugriff auf die Stagingdateien abzurufen.
Weitere Details dazu finden Sie unter Verzeichnistabellen.
SQL-Funktionen¶
Die folgenden Dateifunktionen sind für den Zugriff auf Datendateien vorgesehen:
SQL-Funktion |
Beschreibung |
---|---|
Gibt die URL für einen benannten externen oder internen Stagingbereich zurück, wobei der Name des Stagingbereichs als Eingabe verwendet wird. |
|
Extrahiert den Pfad einer Stagingdatei relativ zu ihrem Speicherort im Stagingbereich, wobei der Name des Stagingbereichs und der absolute Dateipfad im Cloudspeicher als Eingaben verwendet werden. |
|
Gibt den absoluten Pfad einer Stagingdatei zurück, wobei der Name des Stagingbereichs und der Pfad der Datei relativ zu ihrem Speicherort im Stagingbereich als Eingaben verwendet werden. |
|
Generiert eine vorsignierte URL, die auf eine Stagingdatei verweist, wobei der Name des Stagingbereichs und der relative Dateipfad als Eingaben verwendet werden. Greifen Sie mit der Funktion auf Dateien in einem externen Stagingbereich zu. |
|
Generiert eine Snowflake-gehostete Bereichs-URL, die auf eine Stagingdatei verweist, wobei der Name des Stagingbereichs und der relative Dateipfad als Eingaben verwendet werden. |
|
Generiert eine Snowflake-gehostete Datei-URL, die auf eine Stagingdatei verweist, wobei der Name des Stagingbereichs und der relative Dateipfad als Eingaben verwendet werden. |
Herunterladen von Stagingdateien in Snowsight¶
Benutzer können in der Ergebnistabelle eines Snowsight-Arbeitsblatts auf eine generierte vorsignierte, Bereichs- oder Datei-URL klicken und die referenzierte Datei herunterladen.
Melden Sie sich bei Snowsight, der Snowflake-Weboberfläche, an.
Klicken Sie auf Worksheets » My Worksheets (oder öffnen Sie ein lokales Arbeitsblatt unter Recent oder in Folders) » <Name_des_Arbeitsblatts>
Rückgabe einer vorsignierten, Bereichs- oder Datei-URL in einer Abfrage unter Verwendung von einer der unterstützten Methoden.
Klicken Sie auf die URL in der Ergebnistabelle. Snowsight lädt die Datei herunter, auf die die URL verweist.