- Kategorien:
BUILD_SCOPED_FILE_URL¶
Generiert eine bereichsbezogene Snowflake-Datei-URL, die auf eine Stagingdatei verweist, wobei der Name des Stagingbereichs und der relative Dateipfad als Eingaben verwendet werden.
Eine Bereichs-URL ist verschlüsselt und erlaubt den Zugriff auf eine bestimmte Datei für einen begrenzten Zeitraum. Die in der Ausgabe enthaltene Bereichs-URL ist für den Aufrufer so lange gültig, bis der Zeitraum für persistent gespeicherte Abfrageergebnisse endet (bis der Ergebnis-Cache abläuft). Dieser Zeitraum beträgt derzeit 24 Stunden.
Rufen Sie diese SQL-Funktion in einer Abfrage oder Ansicht auf. Sie können diese SQL-Funktion auch verwenden, um eine Bereichs-URL an eine benutzerdefinierte Funktion (UDF) oder eine gespeicherte Prozedur zu übergeben.
Syntax¶
Argumente¶
stage_nameName des internen oder externen Stagingbereichs, in dem die Datei gespeichert ist.
Bemerkung
Wenn der Stagingbereichsname Leerzeichen oder Sonderzeichen enthält, muss er in einfache Anführungszeichen eingeschlossen werden (z. B.
'@"my stage"'für einen Stagingbereich mit dem Namen"my stage").relative_file_pathPfad und Dateiname der Datei relativ zu ihrem Speicherort im Stagingbereich.
use_privatelink_host_for_business_criticalGibt an, ob
privatelinkder URL für Business Critical-Konten vorangestellt werden soll.TRUEstelltprivatelinkder URL direkt vor dem Hostnamen voran; zum Beispielprivatelink.snowflakecomputing.com.Bemerkung
Snowflake stellt
privatelinkder URL voran, unabhängig davon, ob Sie private Konnektivität aktiviert haben.FALSEsetzt die Standard-Verhaltensweise außer Kraft und fügtprivatelinknicht zur URL hinzu.
Standard: TRUE
Rückgabewerte¶
Die Funktion gibt eine Bereichs-URL im folgenden Format zurück:
Wobei:
account_identifierHostname des Snowflake-Kontos für Ihren Stagingbereich. Der Hostname beginnt mit einem von Snowflake bereitgestellten Konto-Locator und endet mit der Snowflake-Domäne (
snowflakecomputing.com):account_locator.snowflakecomputing.comWeitere Details dazu finden Sie unter Kontobezeichner.
query_idAbfrage-ID des BUILD_SCOPED_FILE_URL-Aufrufs, der die Bereichs-URL generiert hat.
encoded_file_pathKodierter Pfad zu den Dateien, auf die mit der Bereichs-URL zugegriffen werden soll.
Nutzungshinweise¶
Die für den Aufruf dieser SQL-Funktion erforderlichen Berechtigungen hängen von der Art des Aufrufs ab:
SQL-Operation
Erforderliche Berechtigungen
Abfrage
USAGE (externer Stagingbereich) oder READ (interner Stagingbereich)
Spaltendefinition in einer Ansicht
Der Eigentümer der Ansicht (d. h. die Rolle mit OWNERSHIP-Berechtigung für die Ansicht) muss über die Berechtigung für den Stagingbereich verfügen: USAGE (externer Stagingbereich) oder READ (interner Stagingbereich).
Eine Rolle, die die Ansicht abfragt, benötigt nur die SELECT-Berechtigung für die Ansicht.
Gespeicherte Prozeduren
Der Eigentümer der gespeicherten Prozedur (d. h. die Rolle mit OWNERSHIP-Berechtigung für die Ansicht) muss über die Berechtigung für den Stagingbereich verfügen: USAGE (externer Stagingbereich) oder READ (interner Stagingbereich).
Eine Rolle, die die gespeicherte Prozedur abfragt, benötigt nur die USAGE-Berechtigung für die gespeicherte Prozedur.
UDF
Der Eigentümer der UDF (d. h. die Rolle mit OWNERSHIP-Berechtigung für die UDF) muss über die Berechtigung für den Stagingbereich verfügen: USAGE (externer Stagingbereich) oder READ (interner Stagingbereich).
Eine Rolle, die die UDF abfragt, benötigt nur die USAGE-Berechtigung für die UDF.
Ein HTTP-Client, der eine Bereichs-URL an die REST-API sendet, muss so konfiguriert sein, dass er Umleitungen zulässt.
Bei einem Zugriff auf eine Bereichs-URL zeigt der Abfrageverlauf an, dass die interne Funktion GET_SCOPED_FILE aufgerufen wurde.
Wenn aus einem internen Stagingbereich heruntergeladene Dateien beschädigt sind, überprüfen Sie mit dem Ersteller des Stagingbereichs, ob
ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE')für den Stagingbereich eingestellt ist.
Beispiele¶
Abrufen einer Bereichs-URL für eine Bilddatei im Bitmap-Format in einem externen Stagingbereich:
Erstellen Sie eine sichere Ansicht, die die Ergebnisse eines BUILD_SCOPED_FILE_URL-Funktionsaufrufs für eine bestimmte Zielgruppe filtert. Im folgenden Beispiel werden bei Abfrage der sicheren Ansicht nur die Dateien im Stagingbereichs-Dateipfad zurückgegeben, die die Zeichenfolge acct1 enthalten: