

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.

# Herstellen einer Verbindung mit Google Sheets
<a name="connecting-to-googlesheets"></a>

 Google Sheets ist eine Online-Tabellenkalkulationssoftware, mit der Sie große Datenmengen organisieren, benutzerdefinierte Berichte erstellen, Berechnungen automatisieren und mit anderen zusammenarbeiten können. Wenn Sie ein Google Sheets-Nutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Google Sheets-Konto herstellen. Anschließend können Sie Google Sheets als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Google Sheets und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen. 

**Topics**
+ [AWS Glue Unterstützung für Google Sheets](googlesheets-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](googlesheets-configuring-iam-permissions.md)
+ [Konfigurieren von Google Sheets](googlesheets-configuring.md)
+ [Konfigurieren von Google-Sheets-Verbindungen](googlesheets-configuring-connections.md)
+ [Aus Google-Sheets-Entitäten lesen](googlesheets-reading-from-entities.md)
+ [Verbindungsoptionen für Google Sheets](googlesheets-connection-options.md)
+ [OAuth Autorisierungscodefluss für Google Sheets einrichten](googlesheets-oauth-authorization.md)
+ [Einschränkungen für den Google-Tabellen-Connector](googlesheets-connector-limitations.md)

# AWS Glue Unterstützung für Google Sheets
<a name="googlesheets-support"></a>

AWS Glue unterstützt Google Sheets wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten aus Google Sheets abzufragen.

**Als Ziel unterstützt?**  
Nein.

**Unterstützte Versionen der Google-Sheets-API**  
 Google Sheets API v4 und Google Drive API v3 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="googlesheets-configuring-iam-permissions"></a>

 Die folgende Beispielrichtlinie beschreibt die erforderlichen AWS Berechtigungen für das Erstellen und Verwenden von Verbindungen. Wenn Sie eine neue Rolle erstellen, erstellen Sie eine Richtlinie, die Folgendes enthält: 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Sie können auch die folgenden verwalteten IAM-Richtlinien verwenden, um den Zugriff zuzulassen:
+  [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Gewährt Zugriff auf Ressourcen, die verschiedene AWS Glue Prozesse benötigen, um in Ihrem Namen ausgeführt zu werden. Zu diesen Ressourcen gehören AWS Glue Amazon S3, IAM, CloudWatch Logs und Amazon EC2. Wenn Sie die in dieser Richtlinie angegebene Benennungskonvention für Ressourcen einhalten, verfügen AWS Glue Prozesse über die erforderlichen Berechtigungen. Diese Richtlinie wird typischerweise mit Rollen verknüpft, die bei der Definition von Crawlern, Aufträgen und Entwicklungsendpunkten angegeben werden. 
+  [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Gewährt vollen Zugriff auf AWS Glue Ressourcen, wenn eine Identität, an die die Richtlinie angehängt ist, die AWS Managementkonsole verwendet. Wenn Sie die Namenskonvention für Ressourcen befolgen, die in dieser Richtlinie angegeben sind, haben Benutzer alle Konsolenfunktionalitäten. Diese Richtlinie wird in der Regel Benutzern der AWS Glue Konsole zugewiesen. 

# Konfigurieren von Google Sheets
<a name="googlesheets-configuring"></a>

Bevor Sie die Übertragung von Google Sheets verwenden AWS Glue können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="googlesheets-configuring-min-requirements"></a>
+ Sie haben ein Google-Sheets-Konto mit E-Mail und Passwort.
+  Ihr Google-Sheets-Konto ist für den API-Zugriff aktiviert. Die Nutzung der Google-Sheets-API ist ohne zusätzliche Kosten möglich. 
+  Mit Ihrem Google-Sheets-Konto können Sie verbundene Apps installieren. Wenn Sie keinen Zugriff auf diese Funktion haben, wenden Sie sich an Ihren Google-Sheets-Administrator. 

 Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Google Sheets-Konto herstellen. 

# Konfigurieren von Google-Sheets-Verbindungen
<a name="googlesheets-configuring-connections"></a>

Konfigurieren einer Google-Sheet-Verbindung:

1. Erstellen Sie in AWS Secrets Manager ein Secret mit den folgenden Details: 

   1.  Für den AuthorizationCode Zuschusstyp: 
      +  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

1. Erstellen Sie in AWS Glue Glue Studio eine Verbindung unter **Datenverbindungen**, indem Sie die folgenden Schritte ausführen: 

   1. Wählen Sie bei der Auswahl einer **Datenquelle** Google Sheets aus.

   1. Stellen Sie die Google-Sheets-Umgebung bereit.

      1.  Wählen Sie `secretName` die aus, in AWS Glue die Sie für diese Verbindung die Token einfügen möchten. 

      1.  Wählen Sie die Netzwerkoptionen aus, wenn Sie Ihr Netzwerk verwenden möchten. 

1.  Erteilen Sie der mit Ihrem AWS Glue Job verknüpften IAM-Rolle `secretName` Leserechte. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "secretsmanager:DescribeSecret",
           "secretsmanager:GetSecretValue",
           "secretsmanager:PutSecretValue",
           "ec2:CreateNetworkInterface",
           "ec2:DescribeNetworkInterfaces",
           "ec2:DeleteNetworkInterface"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

 **Gewährungstyp AUTHORIZATION\$1CODE** 

 Diese Art der Gewährung wird als „dreibeiniges“ angesehen, OAuth da sie darauf beruht, dass Benutzer zur Authentifizierung des Benutzers an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Er wird verwendet, wenn Verbindungen über die Konsole hergestellt werden. AWS Glue Die AWS Glue Konsole leitet den Nutzer zu Google Sheets weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Google Sheets-Instanz gewähren muss. 

 Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Google Sheets zu erstellen und beim Herstellen von Verbindungen über die AWS Glue Konsole ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben. In diesem Szenario werden sie weiterhin zu Google Sheets weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 

 Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 

 Weitere Informationen finden Sie in der [öffentlichen Google Sheets-Dokumentation zum Erstellen einer verbundenen App für den OAuth Autorisierungscodefluss](https://developers.google.com/workspace/guides/create-credentials). 

# Aus Google-Sheets-Entitäten lesen
<a name="googlesheets-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Google SpreadSheet , von dem Sie gerne lesen würden. Sie benötigen die SpreadSheet ID und den TabNamen der Tabelle. 

 **Google-Sheets-Entitäts- und Felddetails** 


| Entität | Datentyp | Unterstützte Operatoren | 
| --- | --- | --- | 
| Tabellenkalkulation | Zeichenfolge | n. v. (Filter wird nicht unterstützt) | 

 **Beispiel** 

```
googleSheets_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googlesheets",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "{SpreadSheetID}#{SheetTabName}",
        "API_VERSION": "v4"
    }
```

 **Partitionierung von Abfragen** 

 Nur für die Partitionierung auf Datensatzbasis kann `NUM_PARTITIONS` als zusätzliche Spark-Optionen bereitgestellt werden, wenn Sie Parallelität in Spark nutzen möchten. Mit diesem Parameter würde die ursprüngliche Abfrage in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können. 

 **Beispiel mit `NUM_PARTITIONS`** 

```
googlesheets_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googlesheets",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "{SpreadSheetID}#{SheetTabName}",
        "API_VERSION": "v4",
        "NUM_PARTITIONS": "10"
    }
```

# Verbindungsoptionen für Google Sheets
<a name="googlesheets-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Google Sheets aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. `SpreadSheet ID` und `sheetTabName` in Google Sheets. Beispiel: `{SpreadSheetID}#{SheetTabName}`. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen verwendet. Version der Google-Sheets-REST-API, die Sie verwenden möchten. 
+  `SELECTED_FIELDS` (Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Spalten, die Sie für das Objekt auswählen möchten. 
+  `FILTER_PREDICATE`(Zeichenfolge) – Standard: leer. Zum Lesen verwendet. Muss das Spark-SQL-Format aufweisen. 
+  `QUERY`(Zeichenfolge) – Standard: leer Zum Lesen verwendet. Vollständige Spark-SQL-Abfrage. 
+  `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. 

# OAuth Autorisierungscodefluss für Google Sheets einrichten
<a name="googlesheets-oauth-authorization"></a>

 **Voraussetzungen** 
+  Ein Google-Konto, in dem Sie sich anmelden können, um die Google-Sheets-App zu verwenden. In Ihrem Google-Konto enthält Google Sheets die Daten, die Sie übertragen möchten. 
+  Ein Google-Cloud-Platform-Konto und ein Google-Cloud-Projekt. Weitere Informationen finden Sie unter [Create Google Cloud Project](https://developers.google.com/workspace/guides/create-project). 

**So richten Sie Ihr Google-Konto ein und erhalten OAuth 2.0-Anmeldeinformationen:**

1.  Sobald das Google Cloud-Projekt eingerichtet ist, aktivieren Sie die Google Sheets API und Google Drive APIs im Projekt. Die Schritte zu ihrer Aktivierung finden Sie unter [Aktivieren und Deaktivieren APIs](https://support.google.com/googleapi/answer/6158841) in der API-Konsolen-Hilfe für die Google Cloud Platform. 

1.  Als Nächstes konfigurieren Sie einen OAuth Zustimmungsbildschirm für externe Nutzer. Weitere Informationen zum OAuth Einwilligungsbildschirm finden Sie in der Google Cloud Platform Console-Hilfe unter [Ihren OAuth Einwilligungsbildschirm einrichten](https://support.google.com/cloud/answer/10311615#). 

1.  Fügen Sie im OAuth Zustimmungsbildschirm die folgenden Bereiche hinzu: 
   +  [Der schreibgeschützte Bereich der Google-Sheets-API](https://www.googleapis.com/auth/spreadsheets.readonly) 
   +  [Der schreibgeschützte Bereich der Google-Drive-API](ttps://www.googleapis.com/auth/drive.readonly) 

    Weitere Informationen zu diesen Bereichen finden Sie unter [OAuth 2.0 Scopes for Google APIs in der Google Identity-Dokumentation](https://developers.google.com/identity/protocols/oauth2/scopes). 

1.  Generieren Sie OAuth 2.0-Client-ID und Secret. Die Schritte zum Erstellen dieser Client-ID finden Sie unter [Einrichtung von OAuth 2.0](https://support.google.com/cloud/answer/6158849?hl=en#zippy=) in der Google Cloud Platform Console-Hilfe. 

    Die OAuth 2.0-Client-ID muss über eine oder mehrere autorisierte Weiterleitungen verfügen URLs. 

    Weiterleitungen URLs haben das folgende Format: 
   + <aws-region>https://.console.aws.amazon. com/gluestudio/oauth 

1.  Notieren Sie sich die Client-ID und das Client-Geheimnis aus den Einstellungen für Ihre OAuth 2.0-Client-ID. 

# Einschränkungen für den Google-Tabellen-Connector
<a name="googlesheets-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Google-Tabellen-Connector:
+  Der Google-Tabellen-Connector unterstützt keine Filter. Daher kann eine filterbasierte Partitionierung nicht unterstützt werden. 
+  Bei der Partitionierung auf Datensatzbasis gibt es keine Möglichkeit, die genaue Anzahl von Datensätzen per SAAS zurückzugeben. Daher kann es Szenarien geben, in denen Dateien mit leeren Datensätzen erstellt werden.
+  Da der Google-Tabellen-Connector keine filterbasierte Partitionierung unterstützt, sind `partitionField`, `lowerbound` und `upperbound` keine gültigen Verbindungsoptionen. Wenn diese Optionen bereitgestellt werden, ist davon auszugehen, dass der AWS Glue Job fehlschlägt. 
+  Es ist wichtig, die erste Zeile der Tabelle als Kopfzeile festzulegen, um Probleme mit der Datenverarbeitung zu vermeiden. 
  +  Falls nicht angegeben, wird die Kopfzeile durch `Unnamed:1`, `Unnamed:2`, `Unnamed:3`... ersetzt, wenn die Tabelle Daten enthält, bei denen die erste Zeile leer ist. 
  +  Wenn die Kopfzeile angegeben wird, werden leere Spaltennamen durch `Unnamed:<number of column>` ersetzt. Wenn die Kopfzeile z. B. `['ColumnName1', 'ColumnName2', '', '', 'ColumnName5', 'ColumnName6']` ist, dann wird sie `['ColumnName1', 'ColumnName2', 'Unnamed:3', 'Unnamed:4', 'ColumnName5', 'ColumnName6'].`. 
+  Der Google-Tabellen-Connector unterstützt keine inkrementelle Übertragung. 
+  Der Google-Tabellen-Connector unterstützt nur den Datentyp „Zeichenfolge“. 
+  Doppelte Überschriften in einer Tabelle werden iterativ mit einem numerischen Suffix umbenannt. Die vom Benutzer angegebenen Kopfzeilennamen haben Vorrang beim Umbenennen der doppelten Kopfzeilen. Wenn die Kopfzeile beispielweise ["Name", "", "Name", null, "Unnamed:6", ""] ist, wird sie in diese Kopfzeile geändert: ["Name", "Unnamed:2", "Name1", "Unnamed:4", "Unnamed:6", "Unnamed:61"]. 
+  Der Google-Tabellen-Connector unterstützt keine Leerzeichen für einen Tabellennamen. 
+  Ein Ordnername darf die folgenden Sonderzeichen nicht enthalten: 
  + \$1
  + /