

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Connessione a Google Sheets
<a name="connecting-to-googlesheets"></a>

 Google Sheets è un software per fogli di calcolo online che ti consente di organizzare grandi quantità di dati, creare report personalizzati, automatizzare i calcoli e collaborare con altri. Se sei un utente di Google Sheets, puoi AWS Glue connetterti al tuo account Google Sheets. Puoi usare Google Sheets come origine dati nei tuoi processi ETL. Esegui questi processi per trasferire dati tra Fogli Google e AWS servizi o altre applicazioni supportate. 

**Topics**
+ [AWS Glue supporto per Google Sheets](googlesheets-support.md)
+ [Policy contenenti le operazioni API per creare e utilizzare le connessioni](googlesheets-configuring-iam-permissions.md)
+ [Configurazione di Google Sheets](googlesheets-configuring.md)
+ [Configurazione delle connessioni di Google Sheets](googlesheets-configuring-connections.md)
+ [Lettura da entità di Google Sheets](googlesheets-reading-from-entities.md)
+ [Opzioni di connessione di Google Sheets](googlesheets-connection-options.md)
+ [Configura il OAuth flusso del codice di autorizzazione per Google Sheets](googlesheets-oauth-authorization.md)
+ [Limitazioni per il connettore di Google Sheets](googlesheets-connector-limitations.md)

# AWS Glue supporto per Google Sheets
<a name="googlesheets-support"></a>

AWS Glue supporta Google Sheets come segue:

**Supportato come origine?**  
Sì. Puoi utilizzare i lavori AWS Glue ETL per interrogare i dati da Google Sheets.

**Supportato come destinazione?**  
No.

**Versioni dell'API di Google Sheets supportate**  
 API di Google Sheets v4 e API di Google Drive v3 

# Policy contenenti le operazioni API per creare e utilizzare le connessioni
<a name="googlesheets-configuring-iam-permissions"></a>

 La seguente politica di esempio descrive le AWS autorizzazioni richieste per la creazione e l'utilizzo delle connessioni. Se si sta creando un nuovo ruolo, creare una policy che contenga quanto segue: 

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

****  

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

------

È anche possibile utilizzare le seguenti policy IAM per autorizzare l'accesso:
+  [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Garantisce l'accesso alle risorse che diversi AWS Glue processi richiedono per l'esecuzione per conto dell'utente. Queste risorse includono Amazon S3 AWS Glue, IAM, CloudWatch Logs e Amazon EC2. Se segui la convenzione di denominazione delle risorse specificata in questa politica, AWS Glue i processi dispongono delle autorizzazioni necessarie. Questa policy è in genere collegata ai ruoli specificati quando si definiscono crawler, processi ed endpoint di sviluppo. 
+  [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Concede l'accesso completo alle AWS Glue risorse quando un'identità a cui è allegata la policy utilizza la AWS console di gestione. Se si segue la convenzione per la denominazione per le risorse specificate nella policy, gli utenti hanno la piena funzionalità della console. Questa policy è in genere associata agli utenti della AWS Glue console. 

# Configurazione di Google Sheets
<a name="googlesheets-configuring"></a>

Prima di poter AWS Glue utilizzare il trasferimento da Fogli Google, devi soddisfare questi requisiti:

## Requisiti minimi
<a name="googlesheets-configuring-min-requirements"></a>
+ Hai un account Google Sheets con e-mail e password.
+  Il tuo account di Google Sheets è abilitato all'accesso tramite API. Tutti gli utilizzi dell'API di Google Sheets sono disponibili senza costi aggiuntivi. 
+  Il tuo account Google Sheets ti consente di installare app connesse. Se non hai accesso a questa funzionalità, contatta l'amministratore di Google Sheets. 

 Se soddisfi questi requisiti, sei pronto per connetterti AWS Glue al tuo account Google Sheets. 

# Configurazione delle connessioni di Google Sheets
<a name="googlesheets-configuring-connections"></a>

Per configurare una connessione a Google Sheet:

1. In AWS Secrets Manager, crea un segreto con i seguenti dettagli: 

   1.  Per il tipo di AuthorizationCode sovvenzione: 
      +  Per le app connesse gestite dal cliente: il segreto deve contenere l'app connessa Consumer Secret con `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` come chiave. 

1. In AWS Glue Glue Studio, crea una connessione in **Connessioni dati** seguendo i passaggi seguenti: 

   1. Quando selezioni una **origine dati**, seleziona Fogli Google.

   1. Fornisci l'ambiente di Google Sheets.

      1.  Seleziona quella `secretName` che desideri utilizzare per questa connessione AWS Glue per inserire i token. 

      1.  Selezionare le opzioni di rete se si desidera utilizzare la propria rete. 

1.  Concedi il permesso di lettura `secretName` al ruolo IAM associato al tuo AWS Glue lavoro. 

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

****  

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

------

 **Tipo di concessione AUTHORIZATION\$1CODE** 

 Questo tipo di concessione è considerato «a tre gambe» in OAuth quanto si basa sul reindirizzamento degli utenti al server di autorizzazione di terze parti per autenticare l'utente. Viene utilizzato durante la creazione di connessioni tramite la console. AWS Glue La AWS Glue Console reindirizzerà l'utente a Google Sheets, dove l'utente deve effettuare il login e consentire AWS Glue le autorizzazioni richieste per accedere alla propria istanza di Google Sheets. 

 Gli utenti possono scegliere di creare la propria app connessa in Google Sheets e fornire il proprio ID cliente e il segreto del client durante la creazione di connessioni tramite la AWS Glue Console. In questo scenario, verranno comunque reindirizzati a Google Sheets per effettuare il login e autorizzare l'accesso AWS Glue alle proprie risorse. 

 Questo tipo di concessione genera un token di aggiornamento e un token di accesso. Il token di accesso dura poco tempo e può essere aggiornato automaticamente senza l'interazione dell'utente utilizzando il token di aggiornamento. 

 Per ulteriori informazioni, consulta la [documentazione pubblica di Google Sheets sulla creazione di un'app connessa per il flusso del codice di autorizzazione. OAuth ](https://developers.google.com/workspace/guides/create-credentials) 

# Lettura da entità di Google Sheets
<a name="googlesheets-reading-from-entities"></a>

 **Prerequisiti** 
+  Un Google da SpreadSheet cui vorresti leggere. Avrai bisogno dell' SpreadSheet ID e del tabName del foglio di calcolo. 

 **Dettagli sull'entità e sul campo di Google Sheets:** 


| Entità | Tipo di dati | Operatori supportati | 
| --- | --- | --- | 
| Foglio di calcolo | Stringa | N/A (il filtro non è supportato) | 

 **Esempio** 

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

 **Query di partizionamento** 

 Solo per Record Base Partitioning, se desideri utilizzare la concorrenza in Spark, `NUM_PARTITIONS` può essere fornito come opzioni aggiuntive. Con questo parametro, la query originale viene suddivisa in `NUM_PARTITIONS` query secondarie che possono essere eseguite contemporaneamente dalle attività Spark. 

 **Esempio con `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"
    }
```

# Opzioni di connessione di Google Sheets
<a name="googlesheets-connection-options"></a>

Le seguenti sono le opzioni di connessione per Google Sheets:
+  `ENTITY_NAME`(String): (obbligatorio) utilizzato per la lettura. `SpreadSheet ID` e `sheetTabName` in Google Sheets. Esempio: `{SpreadSheetID}#{SheetTabName}`. 
+  `API_VERSION`(String): (obbligatorio) utilizzato per la lettura. La versione dell'API Rest di Google Sheets che desideri utilizzare. 
+  `SELECTED_FIELDS`(List<String>): predefinito: vuoto (SELECT \$1). Utilizzato per la lettura. Colonne da selezionare per l'oggetto. 
+  `FILTER_PREDICATE`(Stringa): predefinito: vuoto. Utilizzato per la lettura. Dev'essere in formato Spark SQL. 
+  `QUERY`(Stringa): predefinito: vuoto. Utilizzato per la lettura. Query Spark SQL completa. 
+  `NUM_PARTITIONS`(Integer): predefinito: 1. Utilizzato per la lettura. Numero di partizioni da leggere. 

# Configura il OAuth flusso del codice di autorizzazione per Google Sheets
<a name="googlesheets-oauth-authorization"></a>

 **Prerequisiti** 
+  Un account di Google a cui puoi accedere per utilizzare l'app Google Sheets. Nel tuo account Google, Google Sheets contiene i dati che desideri trasferire. 
+  Un account Google Cloud Platform e un progetto Google Cloud. Per maggiori dettagli, vedi [Crea un progetto di Google Cloud](https://developers.google.com/workspace/guides/create-project). 

**Per configurare il tuo account Google e ottenere le credenziali OAuth 2.0:**

1.  Una volta configurato il progetto Google Cloud, abilita l'API Google Sheets e Google Drive APIs nel progetto. Per i passaggi per abilitarli, consulta [Abilita e disabilita APIs](https://support.google.com/googleapi/answer/6158841) nella guida della console API per Google Cloud Platform. 

1.  Quindi, configura una schermata di OAuth consenso per gli utenti esterni. Per ulteriori informazioni sulla schermata di OAuth consenso, consulta [Configurazione della schermata di OAuth consenso](https://support.google.com/cloud/answer/10311615#) nella Guida della console di Google Cloud Platform. 

1.  Nella schermata di OAuth consenso, aggiungi i seguenti ambiti: 
   +  [L'ambito di sola lettura dell'API di Google Sheets](https://www.googleapis.com/auth/spreadsheets.readonly) 
   +  [L'ambito di sola lettura dell'API di Google Drive](ttps://www.googleapis.com/auth/drive.readonly) 

    Per ulteriori informazioni su questi ambiti, consulta [OAuth 2.0 Scopes for Google APIs nella documentazione di Google](https://developers.google.com/identity/protocols/oauth2/scopes) Identity. 

1.  Genera ID client OAuth 2.0 e segreto. Per i passaggi per creare questo ID cliente, consulta [Configurazione OAuth 2.0](https://support.google.com/cloud/answer/6158849?hl=en#zippy=) nella guida della console di Google Cloud Platform. 

    L'ID client OAuth 2.0 deve avere uno o più URLs reindirizzamenti autorizzati. 

    I reindirizzamenti URLs hanno il seguente formato: 
   + <aws-region>https://.console.aws.amazon. com/gluestudio/oauth 

1.  Annota l'ID client e il segreto del client nelle impostazioni per il tuo ID client OAuth 2.0. 

# Limitazioni per il connettore di Google Sheets
<a name="googlesheets-connector-limitations"></a>

Di seguito sono riportate le limitazioni per il connettore di Google Sheets.
+  Il connettore Google Sheets non supporta Filtri. Pertanto, il partizionamento basato sui filtri non può essere supportato. 
+  In Record Base Partitioning, non è prevista la restituzione del conteggio esatto dei record da parte di SAAS. Di conseguenza, possono verificarsi scenari in cui vengono creati file con record vuoti.
+  Poiché il connettore Google Sheets non supporta il partizionamento basato su filtri, `partitionField`, `lowerbound` e `upperbound` non sono opzioni di connessione valide. Se vengono fornite queste opzioni, il AWS Glue processo dovrebbe fallire. 
+  È essenziale designare la prima riga del foglio come riga di intestazione per evitare problemi di elaborazione dei dati. 
  +  Se non viene fornita, la riga di intestazione verrà sostituita con `Unnamed:1`, `Unnamed:2`, `Unnamed:3`... se il foglio contiene dati con la prima riga vuota. 
  +  Se viene fornita la riga di intestazione, i nomi delle colonne vuote verranno sostituiti con `Unnamed:<number of column>`. Ad esempio, se la riga di intestazione è `['ColumnName1', 'ColumnName2', '', '', 'ColumnName5', 'ColumnName6']`, allora diventerà `['ColumnName1', 'ColumnName2', 'Unnamed:3', 'Unnamed:4', 'ColumnName5', 'ColumnName6'].` 
+  Il connettore di Google Sheets non supporta il trasferimento incrementale. 
+  Il connettore di Google Sheets supporta solo il tipo di dati String. 
+  Le intestazioni duplicate in un foglio verranno rinominate in modo iterativo con un suffisso numerico. I nomi delle intestazioni forniti dall'utente avranno la precedenza durante la ridenominazione delle intestazioni duplicate. Ad esempio, se la riga di intestazione è ["Name”, “Name”, null, “Unnamed:6", “”], cambierà in: ["Name”, “Unnamed:2", “Name1", “Unnamed:4", “Unnamed:6", “Unnamed:61"]. 
+  Il connettore di Google Sheets non supporta gli spazi per un tabName. 
+  Il nome di una cartella non può contenere i seguenti caratteri speciali: 
  + \$1
  + /