Konfiguration für Snowpipe Streaming Classic¶
Eingenschaften von Snowpipe Streaming (Klassische Architektur)¶
Konfigurieren Sie die API-Verbindungseinstellungen in einer profile.json-Datei. Die Eigenschaften werden unter diesem Thema beschrieben.
Wie im Java-Beispiel (GitHub) gezeigt, können Sie die Einstellungen aus profile.json laden, indem Sie den Dateipfad als Eingabe für die Variable PROFILE_PATH angeben.
Erforderliche Eigenschaften¶
authorization_typeKonfigurieren Sie die Authentifizierungs- und Autorisierungsmethode für den Benutzer. Verwenden Sie eine der folgenden Methoden:
JWT: Schlüsselpaar-Authentifizierung mit JSON Web Token (JWT). Dies ist die Standardmethode. Wennauthorization_typenicht konfiguriert ist, wird die StandardmethodeJWTverwendet. Konfigurieren Sie die folgendenprivate_keyfür die Schlüsselpaar-Authentifizierung:private_keyist der private Schlüssel zum Authentifizieren des Benutzers. Fügen Sie nur den Schlüssel hinzu, nicht Kopf- oder Fußzeile. Wenn der Schlüssel auf mehrere Zeilen aufgeteilt ist, entfernen Sie die Zeilenumbrüche.Sie können entweder einen unverschlüsselten Schlüssel bereitstellen oder einen verschlüsselten Schlüssel zusammen mit dem Parameter
snowflake.private.key.passphrase, damit Snowflake den Schlüssel entschlüsseln kann. Verwenden Sie diesen Parameter nur und nur dann, wenn dersnowflake.private.key-Parameterwert verschlüsselt ist.
OAuth: Snowflake OAuth. Diese Option ist nur bei Snowflake Ingest SDK Versionen 2.0.3 und höher verfügbar. Konfigurieren Sie die folgenden Parameter für Snowflake OAuth in der Dateiprofile.json:oauth_client_id: Client-ID der OAuth-Integration.oauth_client_secret: Client-Geheimnis der OAuth-Integration.oauth_refresh_token: Gültiges Aktualisierungstoken der OAuth-Integration.
Um die Token-Aktualisierung auf Snowflake/OKTA OAuth zu unterstützen, müssen Sie drei Parameter konfigurieren:
oauth_client_id,oauth_client_secretundoauth_refresh_token. Wenn Sie jedoch einen angepassten API-Endpunkt für OAuth verwenden, der diese Werte in der Token-Aktualisierungsanfrage nicht erfordert, können Sie die Felder für diese Parameter mit beliebigen Platzhaltern ausfüllen.
urlURL für den Zugriff auf Ihr Snowflake-Konto. Diese URL muss Ihren Kontobezeichner enthalten. Das Protokoll (
https://) und die Portnummer sind optional.urlist nicht erforderlich, wenn Sie bereits das Snowflake Ingest-SDK verwenden und die Eigenschaftenhost,schemeundportin der Dateiprofile.jsonfestgelegt haben.userAnmeldename des Benutzers für das Snowflake-Konto.
Optionale Eigenschaften¶
enable_iceberg_streamingSetzen Sie die Eigenschaft auf
true, um Snowpipe Streaming mit der von Snowflake verwalteten Apache Iceberg™-Tabelle zu aktivieren. Weitere Informationen dazu finden Sie unter Verwendung von Snowpipe Streaming Classic mit Apache Iceberg™-Tabellen.max_client_lagVerwenden Sie diese Eigenschaft, um die Datenflush-Latenz zu konfigurieren. Standardmäßig führt Snowpipe Streaming bei Standard-Snowflake-Tabellen (nicht-Apache Iceberg) alle 1 Sekunde einen Flush durch. Mit der Konfiguration max_client_lag können Sie dies außer Kraft setzen und die gewünschte Flush-Latenz von 1 Sekunde bis 10 Minuten einstellen. Weitere Informationen finden Sie unter Latenzempfehlungen für Snowpipe Streaming.
snowflake.private.key.passphrasePassphrase zum Entschlüsseln des privaten Schlüssels, wenn der Schlüssel verschlüsselt ist. Weitere Informationen dazu finden Sie unter Verwenden von Schlüsselpaar-Authentifizierung und Schlüsselrotation (unter diesem Thema).
roleZugriffssteuerungsrolle, die nach dem Herstellen der Verbindung zu Snowflake für die Sitzung verwendet werden soll.
Die Eigenschaft
roleist optional für doe Snowflake Ingest-SDK-Versionen 2.0.3 und höher. Sie ist für frühere Ingest SDK-Versionen erforderlich.
Beispiele¶
Ein einfaches Beispiel, das die Verwendung des Client-SDK zum Erstellen einer Snowpipe Streaming-Anwendung zeigt, finden Sie in dieser Java-Datei (GitHub).
Beispiele für Schnellstarts: