

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Snowflake-Verbindungen
<a name="aws-glue-programming-etl-connect-snowflake-home"></a>

In AWS Glue 4.0 und späteren Versionen können Sie Glue for Spark verwenden, um aus Tabellen in Snowflake zu lesen und in AWS Tabellen zu schreiben. Sie können aus Snowflake mit einer SQL-Abfrage lesen. Sie können mit einer von drei Methoden eine Verbindung zu Snowflake herstellen: Standardauthentifizierung (mit Benutzername und Passwort), OAuth Authentifizierung oder Schlüsselpaar-Authentifizierung. Sie können auf Snowflake-Anmeldeinformationen verweisen, die AWS Secrets Manager über die AWS Glue Data-Verbindungen gespeichert sind. Snowflake-Anmeldeinformationen für Datenverbindung für AWS Glue for Spark werden getrennt von Data Catalog Snowflake-Anmeldeinformationen für Crawler gespeichert. Sie müssen einen `SNOWFLAKE`-Verbindungstyp auswählen und keinen `JDBC`-Verbindungstyp, der für die Verbindung mit Snowflake konfiguriert ist.

Weitere Informationen zu Snowflake finden Sie auf der [Snowflake-Website](https://www.snowflake.com/). Weitere Informationen zu Snowflake finden Sie unter [Snowflake Data Warehouse auf](https://aws.amazon.com/financial-services/partner-solutions/snowflake/) Amazon Web Services. AWS

## Konfiguration von Snowflake-Verbindungen
<a name="aws-glue-programming-etl-connect-snowflake-configure"></a>

Es gibt keine AWS Voraussetzungen für die Verbindung zu Snowflake-Datenbanken, die über das Internet verfügbar sind.

Optional können Sie die folgende Konfiguration durchführen, um Ihre Verbindungsdaten mit AWS Glue zu verwalten.

**Um Ihre Verbindungsdaten mit AWS Glue zu verwalten**

1. Erstellen Sie in AWS Secrets Manager ein Geheimnis mit Ihren Snowflake-Anmeldeinformationen. Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html#create_secret_cli) verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen {{secretName}} für den nächsten Schritt bei. 
   + Zur OAuth Authentifizierung:
     + Erstellen Sie bei der Auswahl von **Schlüssel/Wert-Paaren** ein Paar für {{snowflakeUser}} mit dem Schlüssel `sfUser`
     + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für mit dem Schlüssel {{OAUTH\_CLIENT\_SECRET}} `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`
   + Für die Schlüsselpaar-Authentifizierung:
     + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für mit dem Schlüssel {{snowflakeUser}} `sfUser`
     + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für mit dem Schlüssel {{private key}} `pem_private_key`
   + Für die Standardauthentifizierung:
     + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für {{snowflakeUser}} mit dem Schlüssel `USERNAME`
     + Wenn Sie **Schlüssel/Wert-Paare** auswählen, erstellen Sie ein Paar für mit dem Schlüssel {{snowflakePassword}} `PASSWORD`
   + Bei der Auswahl von **Schlüssel/Wert-Paaren** können Sie Ihrem Snowflake-Warehouse den Schlüssel `sfWarehouse` bereitstellen.
   + Bei der Auswahl von **Schlüssel/Wert-Paaren** können Sie zusätzliche Snowflake-Verbindungseigenschaften angeben, indem Sie die entsprechenden Spark-Eigenschaftsnamen als Schlüssel verwenden. Folgende sind unterstützte Eigenschaften:
     + `sfDatabase`: Name der Snowflake-Datenbank
     + `sfSchema`: Name des Snowflake-Schemas
     + `sfRole`: Name der Snowflake-Rolle

1. Erstellen Sie in der AWS Glue Studio-Konsole eine Verbindung, indem Sie **Datenverbindungen** und dann **Verbindung erstellen** wählen. Befolgen Sie die Schritte im Verbindungsassistenten, um den Vorgang abzuschließen: 
   + Wählen Sie bei der Auswahl einer **Datenquelle** die Option „Snowflake“ und dann **Weiter** aus.
   + Geben Sie die Verbindungsdetails wie Host und Port ein. Geben Sie bei der Auswahl der **Snowflake-URL** des Hosts die URL der Snowflake-Instance an. Die URL verwendet einen Hostnamen im Format `{{account_identifier}}.snowflakecomputing.com`. Das URL-Format kann jedoch je nach Ihrem Snowflake-Kontotyp variieren (z. B. Azure oder von Snowflake gehostet). AWS
   + Wählen Sie bei der Auswahl der IAM-Servicerolle eine Option aus dem Dropdown-Menü. Dies ist die IAM-Rolle Ihres Kontos, die für den Zugriff auf AWS Secrets Manager und die Zuweisung von IP-Adressen verwendet wird, wenn VPC angegeben ist.
   + Geben Sie bei der Auswahl eines **AWS Geheimnisses Folgendes** an. {{secretName}}

1. Legen Sie im nächsten Schritt des Assistenten die Eigenschaften für Ihre Snowflake-Verbindung fest. 

1. Überprüfen Sie im letzten Schritt des Assistenten Ihre Einstellungen und schließen Sie dann den Vorgang ab, um Ihre Verbindung herzustellen.

Für Snowflake, das auf AWS einer Amazon VPC gehostet wird, benötigen Sie möglicherweise Folgendes:
+ Sie benötigen eine entsprechende Amazon-VPC-Konfiguration für Snowflake. Weitere Informationen zur Konfiguration Ihrer Amazon VPC finden Sie unter [AWS PrivateLink & Snowflake](https://docs.snowflake.com/en/user-guide/admin-security-privatelink) in der Snowflake-Dokumentation.
+ Sie benötigen eine entsprechende Amazon VPC-Konfiguration für AWS Glue. [Konfiguration von VPC-Endpunkten mit Schnittstelle (AWS PrivateLink) für AWS Glue (AWS PrivateLink)](vpc-interface-endpoints.md).
+ Sie müssen eine AWS Glue Data Catalog-Verbindung erstellen, die Amazon VPC-Verbindungsinformationen bereitstellt (zusätzlich zur ID eines AWS Secrets Manager Secrets, das Ihre Snowflake-Sicherheitsanmeldedaten definiert). Ihre URL ändert sich bei der Verwendung AWS PrivateLink, wie in der Snowflake-Dokumentation beschrieben, die in einem vorherigen Artikel verlinkt wurde.
+ Sie müssen in Ihrer Auftragskonfiguration die Verbindung zum Datenkatalog als **zusätzliche Netzwerkverbindung** einschließen.

## Lesen aus Snowflake-Tabellen
<a name="aws-glue-programming-etl-connect-snowflake-read"></a>

**Voraussetzungen:** Eine Snowflake-Tabelle, aus der Sie gerne lesen möchten. Sie benötigen den Namen der Snowflake-Tabelle,. {{tableName}} Wenn Ihr Snowflake-Benutzer keinen Standard-Namespace festgelegt hat, benötigen Sie den Snowflake-Datenbanknamen und den Schemanamen. {{databaseName}} {{schemaName}} Wenn Ihr Snowflake-Benutzer kein Standard-Warehouse-Set hat, benötigen Sie außerdem einen Warehouse-Namen. {{warehouseName}} Um auszuwählen, mit welcher **zusätzlichen Netzwerkverbindung eine Verbindung** hergestellt werden soll, wird der `connectionName` Parameter verwendet.

```
snowflake_read = glueContext.create_dynamic_frame.from_options(
  connection_type="snowflake",
  connection_options={
        "connectionName": "{{connectionName}}",
        "dbtable": "{{tableName}}",
        "sfDatabase": "{{databaseName}}",
        "sfSchema": "{{schemaName}}",
        "sfWarehouse": "{{warehouseName}}",
    }
)
```

 Darüber hinaus können Sie die Parameter `autopushdown` und `query` verwenden, um einen Teil einer Snowflake-Tabelle zu lesen. Dies kann wesentlich effizienter sein als das Filtern Ihrer Ergebnisse, nachdem diese in Spark geladen wurden. Stellen Sie sich ein Beispiel vor, bei dem alle Verkäufe in derselben Tabelle gespeichert sind, Sie jedoch nur die Verkäufe eines bestimmten Geschäfts an Feiertagen analysieren müssen. Wenn diese Informationen in der Tabelle gespeichert sind, können Sie mithilfe des Prädikat-Pushdowns die Ergebnisse wie folgt abrufen:

```
snowflake_node = glueContext.create_dynamic_frame.from_options(
    connection_type="snowflake",
    connection_options={
        "autopushdown": "on",
        "query": "select * from sales where store='1' and IsHoliday='TRUE'",
        "connectionName": "snowflake-glue-conn",
        "sfDatabase": "{{databaseName}}",
        "sfSchema": "{{schemaName}}",
        "sfWarehouse": "{{warehouseName}}",
    }
)
```

## Schreiben in Snowflake-Tabellen
<a name="aws-glue-programming-etl-connect-snowflake-write"></a>

**Voraussetzungen:** Eine Snowflake-Datenbank, in die Sie schreiben möchten. Sie benötigen einen aktuellen oder gewünschten Tabellennamen,{{tableName}}. Wenn Ihr Snowflake-Benutzer keinen Standard-Namespace festgelegt hat, benötigen Sie den Snowflake-Datenbanknamen und den Schemanamen. {{databaseName}} {{schemaName}} Wenn Ihr Snowflake-Benutzer kein Standard-Warehouse-Set hat, benötigen Sie außerdem einen Warehouse-Namen. {{warehouseName}} Um auszuwählen, mit welcher **zusätzlichen Netzwerkverbindung eine Verbindung** hergestellt werden soll, wird der `connectionName` Parameter verwendet.

```
glueContext.write_dynamic_frame.from_options(
    connection_type="snowflake",
    connection_options={
        "connectionName": "{{connectionName}}",
        "dbtable": "{{tableName}}",
        "sfDatabase": "{{databaseName}}",
        "sfSchema": "{{schemaName}}",
        "sfWarehouse": "{{warehouseName}}",
    },
)
```

## Referenz zur Snowflake-Verbindungsoption
<a name="aws-glue-programming-etl-connect-snowflake-reference"></a>

Der Snowflake-Verbindungstyp akzeptiert die folgenden Verbindungsoptionen:

Sie können einige der Parameter in diesem Abschnitt aus einer AWS Glue-Verbindung (`sfUrl`,`sfUser`,`sfPassword`) abrufen. In diesem Fall müssen Sie sie nicht angeben. Sie können dies tun, indem Sie den Parameter `connectionName` angeben.

Mithilfe des `secretId` Parameters können Sie Verbindungsparameter aus AWS Secrets Manager Geheimnissen abrufen. Bei Verwendung von Secrets Manager können die folgenden Spark-Eigenschaften automatisch abgerufen werden, sofern sie im Geheimnis enthalten sind:
+ `sfUser` (mit dem Schlüssel `USERNAME` oder`sfUser`)
+ `sfPassword`(mit Schlüssel `PASSWORD` oder `sfPassword` bei Verwendung der Standardauthentifizierung)
+ `sfWarehouse` (mit dem Schlüssel `sfWarehouse`)
+ `sfDatabase` (mit dem Schlüssel `sfDatabase`)
+ `sfSchema` (mit dem Schlüssel `sfSchema`)
+ `sfRole` (mit dem Schlüssel `sfRole`)
+ `pem_private_key`(mit Schlüssel`pem_private_key`, bei Verwendung der Schlüsselpaar-Authentifizierung)
+ `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`(bei Verwendung der Authentifizierung OAuth )

**Prioritätsreihenfolge:** Wenn dieselbe Eigenschaft an mehreren Stellen angegeben ist, verwendet AWS Glue die folgende Prioritätsreihenfolge (vom höchsten zum niedrigsten):

1. Explizit angegebene Verbindungsoptionen in Ihrem Auftragscode

1. Eigenschaften der Klebeverbindung

1. AWS Secrets Manager geheime Werte (`secretId`wenn angegeben)

1. Snowflake-Benutzerstandardwerte

Die folgenden Parameter werden im Allgemeinen beim Herstellen einer Verbindung mit Snowflake verwendet.
+ `sfDatabase` – Erforderlich, wenn in Snowflake kein Benutzerstandard festgelegt ist. Wird für Lesen/Schreiben verwendet. Die Datenbank, die nach dem Herstellen der Verbindung für die Sitzung verwendet werden soll.
+ `sfSchema` – Erforderlich, wenn in Snowflake kein Benutzerstandard festgelegt ist. Wird für Lesen/Schreiben verwendet. Das Schema, das für die Sitzung nach dem Herstellen der Verbindung verwendet werden soll.
+ `sfWarehouse` – Erforderlich, wenn in Snowflake kein Benutzerstandard festgelegt ist. Wird für Lesen/Schreiben verwendet. Das standardmäßige virtuelle Warehouse, das für die Sitzung nach dem Herstellen der Verbindung verwendet wird.
+ `sfRole` – Erforderlich, wenn in Snowflake kein Benutzerstandard festgelegt ist. Wird für Lesen/Schreiben verwendet. Die Standardsicherheitsrolle, die nach dem Herstellen der Verbindung für die Sitzung verwendet wird.
+ `sfUrl` – (Erforderlich) Wird zum Lesen/Schreiben verwendet. Gibt den Hostnamen für Ihr Konto im folgenden Format an: `{{account_identifier}}.snowflakecomputing.com`. Weitere Informationen zu Konto-IDs finden Sie unter [Kontobezeichner](https://docs.snowflake.com/en/user-guide/admin-account-identifier) in der Snowflake-Dokumentation.
+ `sfUser` – (Erforderlich) Wird zum Lesen/Schreiben verwendet. Anmeldename für den Snowflake-Benutzer.
+ `sfPassword`— (Erforderlich bei Verwendung der Basisauthentifizierung) Wird für Lesen/Schreiben verwendet. Passwort für den Snowflake-Benutzer.
+ `dbtable` – Erforderlich beim Arbeiten mit vollständigen Tabellen. Wird für Lesen/Schreiben verwendet. Der Name der zu lesenden Tabelle bzw. der Tabelle, in die Daten geschrieben werden. Beim Lesen werden alle Spalten und Datensätze abgerufen.
+ `pem_private_key`— (Erforderlich bei Verwendung der Schlüsselpaar-Authentifizierung) Wird für Lesen/Schreiben verwendet. Eine unverschlüsselte, b64-kodierte Private-Key-Zeichenfolge. Der private Schlüssel für den Snowflake-Benutzer. Es ist üblich, dies aus einer PEM-Datei zu kopieren. Weitere Informationen finden Sie unter [Schlüsselpaar-Authentifizierung und Schlüsselpaar-Rotation](https://docs.snowflake.com/en/user-guide/key-pair-auth) in der Snowflake-Dokumentation.
+ `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`— (Erforderlich bei Verwendung der OAuth Authentifizierung) Wird sowohl für Lese- als auch für Schreibvorgänge verwendet. Dieser Wert entspricht dem OAUTH\_CLIENT\_SECRET, das über die Snowflake-Sicherheitsintegration abgerufen werden kann, die so konfiguriert ist, dass sie die basierte Authentifizierung für Ihr Konto aktiviert. OAuth [Weitere Informationen finden Sie in der Dokumentation zur Einrichtung der OAuth Snowflake-Sicherheitsintegration — Snowflake für benutzerdefinierte Clients konfigurieren. OAuth ](https://docs.snowflake.com/en/user-guide/oauth-custom)
+ `query` – Beim Lesen mit einer Abfrage erforderlich. Wird zum Lesen verwendet. Die genaue Abfrage (`SELECT`-Anweisung), die ausgeführt werden soll

Die folgenden Optionen werden zum Konfigurieren spezifischer Verhaltensweisen während des Verbindungsvorgangs mit Snowflake verwendet.
+ `preactions` – Wird zum Lesen/Schreiben verwendet. Gültige Werte: Durch Semikolons getrennte Liste von SQL-Anweisungen als Zeichenfolge. SQL-Anweisungen werden ausgeführt, bevor Daten zwischen AWS Glue und Snowflake übertragen werden. Wenn eine Anweisung `%s` enthält, wird `%s` durch den Tabellennamen ersetzt, auf den für die Operation verwiesen wird.
+ `postactions` – Wird zum Lesen/Schreiben verwendet. SQL-Anweisungen werden ausgeführt, nachdem Daten zwischen AWS Glue und Snowflake übertragen wurden. Wenn eine Anweisung `%s` enthält, wird `%s` durch den Tabellennamen ersetzt, auf den für die Operation verwiesen wird.
+ `autopushdown` – Standardwert: `"on"`. Zulässige Werte: `"on"`, `"off"`. Dieser Parameter steuert, ob das automatische Abfrage-Pushdown aktiviert ist. Wenn Pushdown aktiviert ist, wird bei der Ausführung einer Abfrage auf Spark ein Teil der Abfrage auf den Snowflake-Server „heruntergeschoben“, wenn dies möglich ist. Dies verbessert die Leistung einiger Abfragen. Informationen darüber, ob Ihre Abfrage per Pushdown verschoben werden kann, finden Sie unter [Pushdown](https://docs.snowflake.com/en/user-guide/spark-connector-use#pushdown) in der Snowflake-Dokumentation.

Darüber hinaus werden einige der auf dem Snowflake Spark-Konnektor verfügbaren Optionen möglicherweise in AWS Glue unterstützt. Weitere Informationen zu den Optionen, die im Snowflake-Spark-Konnektor verfügbar sind, finden Sie unter [Festlegen von Konfigurationsoptionen für den Konnektor](https://docs.snowflake.com/en/user-guide/spark-connector-use#setting-configuration-options-for-the-connector) in der Snowflake-Dokumentation. 

## Snowflake-Authentifizierungsmethoden
<a name="aws-glue-programming-etl-connect-snowflake-authentication"></a>

AWS Glue unterstützt die folgenden Authentifizierungsmethoden für die Verbindung mit Snowflake:
+ **Standardauthentifizierung:** Geben Sie die Parameter an`sfUser`. `sfPassword`
+ **Schlüsselpaar-Authentifizierung:** Geben Sie die Parameter an`sfUser`. `pem_private_key` Bei Verwendung der Schlüsselpaar-Authentifizierung ist der `sfPassword`-Parameter nicht erforderlich.
+ **OAuth Authentifizierung:** Der Snowflake-Connector unterstützt den Gewährungstyp AUTHORIZATION\_CODE, um Zugriff auf Ihre Snowflake-Daten anzufordern. Dieser Gewährungstyp wird als „3-beinig OAuth“ bezeichnet, da er die Weiterleitung von Benutzern zu einem Autorisierungsserver eines Drittanbieters beinhaltet, auf dem sie sich authentifizieren und den Zugriff genehmigen können. Diese Methode wird verwendet, wenn eine Verbindung über die AWS Glue Console hergestellt wird. 
  + **Voraussetzung:** Um diese Authentifizierungsmethode zu verwenden, stellen Sie sicher, dass die folgende Einrichtung abgeschlossen ist: 
    + **Konfigurieren Sie Snowflake OAuth für einen benutzerdefinierten Client**, indem Sie der offiziellen Snowflake-Dokumentation folgen: Snowflake für benutzerdefinierte Clients [konfigurieren](https://docs.snowflake.com/en/user-guide/oauth-custom). OAuth 
    + Geben Sie bei **der Erstellung der Snowflake-Sicherheitsintegration den richtigen Umleitungs-URI** ein. Beispiel: Wenn Sie die Verbindung in der DUB-Region (eu-west-1) herstellen, sollte Ihre Weiterleitungs-URI wie folgt lauten: `https://eu-west-1.console.aws.amazon.com/gluestudio/oauth` 
    + Bewahren Sie nach dem Erstellen der Sicherheitsintegration die folgenden Informationen für die Erstellung der Glue-Verbindung auf: 
      + OAUTH\_CLIENT\_ID: Dieser Wert sollte auf der Seite zur Erstellung der Glue-Verbindung als Benutzer-verwaltete Client-Anwendungs-Client-ID angegeben werden.
      + OAUTH\_CLIENT\_SECRET: Dieser Wert sollte in dem für die Verbindung verwendeten Secret unter dem Schlüssel AWS USER\_MANAGED\_CLIENT\_APPLICATION\_CLIENT\_SECRET gespeichert werden.
  + OAuth Bereiche — (Optional) Definiert die spezifischen Berechtigungen oder Zugriffsebenen, die vom Snowflake-Konto angefordert werden. Beispielsweise kann ein Bereich den Zugriff auf eine bestimmte Ressource oder einen bestimmten Vorgang einschränken.
    + Dieser Wert kann im folgenden Format angegeben werden: `session:role:Snowflake_Role_Name`
    + Beispiel: `session:role:ANALYST_ROLE`
  + Autorisierungscode-URL — (Erforderlich) Der Endpunkt, an den der Benutzer weitergeleitet wird, um sich anzumelden und die Autorisierung zu erteilen.
    + Beispiel: `https://host/oauth/authorize`
  + Autorisierungstoken-URL — (Erforderlich) Der Endpunkt, der zum Austausch des Autorisierungscodes gegen ein Zugriffstoken verwendet wird.
    + Beispiel: `https://host/oauth/token-request`
  + Client-ID der benutzerverwalteten Client-Anwendung — (Erforderlich) Die eindeutige Kennung für Ihre registrierte OAuth Client-Anwendung in Snowflake
  + AWS Secret — (Erforderlich) Bezieht sich auf ein AWS Secrets Manager Manager-Geheimnis, das die folgenden Schlüssel-Wert-Paare enthält:
    + sfUser — Der Snowflake-Benutzername
    + USER\_MANAGED\_CLIENT\_APPLICATION\_CLIENT\_SECRET — Der geheime Client-Schlüssel, der der Client-Anwendung zugeordnet ist OAuth 

Alle drei Authentifizierungsmethoden werden vollständig unterstützt und können mit einer beliebigen Kombination von Verbindungsoptionen, Glue-Verbindungen oder AWS Secrets Manager Geheimnissen konfiguriert werden.

## Einschränkungen des Snowflake-Konnektors
<a name="aws-glue-programming-etl-connect-snowflake-limitations"></a>

Die Verbindung zu Snowflake mit AWS Glue for Spark unterliegt den folgenden Einschränkungen. 
+ Dieser Konnektor unterstützt keine Auftragslesezeichen. Weitere Informationen zu Auftragslesezeichen finden Sie unter [Verfolgen von verarbeiteten Daten mit Auftragslesezeichen](monitor-continuations.md).
+ Dieser Konnektor unterstützt keine Snowflake-Lese- und Schreibvorgänge durch Tabellen im AWS Glue-Datenkatalog mit den Methoden `create_dynamic_frame.from_catalog` und`write_dynamic_frame.from_catalog`.
+ Dieser Konnektor unterstützt Standardauthentifizierung, Schlüsselpaar-Authentifizierung und Authentifizierung. OAuth Andere Authentifizierungsmethoden (wie SAML) werden derzeit nicht unterstützt.
+ Dieser Konnektor wird in Streaming-Aufträgen nicht unterstützt.
+ Dieser Konnektor unterstützt anweisungsbasierte `SELECT`-Abfragen beim Abrufen von Informationen (wie z. B. mit dem `query`-Parameter). Andere Arten von Abfragen (z. B. `SHOW`, `DESC` oder DML-Anweisungen) werden nicht unterstützt.
+ Snowflake begrenzt die Größe des über Snowflake-Clients übermittelten Abfragetextes (d. h. SQL-Anweisungen) auf 1 MB pro Anweisung. Weitere Einzelheiten finden Sie unter [Beschränkungen der Abfragetextgröße](https://docs.snowflake.com/en/user-guide/query-size-limits).