

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 Smartsheet
<a name="connecting-to-smartsheet"></a>

Smartsheet è un prodotto SaaS per la gestione del lavoro e la collaborazione. In sostanza, Smartsheet consente agli utenti di usare oggetti simili a fogli di calcolo per creare, archiviare e utilizzare i dati aziendali.

**Topics**
+ [AWS Glue supporto per Smartsheet](smartsheet-support.md)
+ [Policy contenenti le operazioni API per creare e utilizzare le connessioni](smartsheet-configuring-iam-permissions.md)
+ [Configurazione di Smartsheet](smartsheet-configuring.md)
+ [Configurazione delle connessioni di Smartsheet](smartsheet-configuring-connections.md)
+ [Lettura da entità Smartsheet](smartsheet-reading-from-entities.md)
+ [Opzioni di connessione di Smartsheet](smartsheet-connection-options.md)
+ [Creazione di un account Smartsheet](smartsheet-create-account.md)
+ [Limitazioni](smartsheet-connector-limitations.md)

# AWS Glue supporto per Smartsheet
<a name="smartsheet-support"></a>

AWS Glue supporta Smartsheet come segue:

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

**Supportato come destinazione?**  
No.

**Versioni dell'API Smartsheet supportate**  
 v2.0 

# Policy contenenti le operazioni API per creare e utilizzare le connessioni
<a name="smartsheet-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": "*"
    }
  ]
}
```

------

In alternativa, se non desideri utilizzare il metodo precedente, utilizza le seguenti policy IAM:
+  [ 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 politica 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 Smartsheet
<a name="smartsheet-configuring"></a>

Prima di poter AWS Glue utilizzare il trasferimento da Smartsheet, devi soddisfare i seguenti requisiti:

## Requisiti minimi
<a name="smartsheet-configuring-min-requirements"></a>
+ Avere un account Smartsheet con e-mail e password. Per ulteriori informazioni sulla creazione di account, consultare [Creazione di un account Smartsheet](smartsheet-create-account.md). 
+ L'account Smartsheet dispone dell'accesso all'API con una licenza valida.
+ L'account Smartsheet ha un piano **tariffario Pro** per entità `Sheets` e un piano tariffario Enterprise con un componente di segnalazione di eventi per entità `Events`.

Se soddisfi questi requisiti, sei pronto per connetterti AWS Glue al tuo account Smartsheet. Per le connessioni tipiche, non è necessario fare nient'altro in Smartsheet.

# Configurazione delle connessioni di Smartsheet
<a name="smartsheet-configuring-connections"></a>

 Smartsheet supporta il tipo di `AUTHORIZATION_CODE` concessione per OAuth2. 

Questo tipo di concessione è considerato `OAuth` “a tre gambe” in quanto si basa sul reindirizzamento degli utenti al server di autorizzazione di terzi per l'autenticazione. Gli utenti possono scegliere di creare la propria app connessa in Smartsheet e fornire il proprio ID cliente e il segreto del client quando creano connessioni tramite la AWS Glue console. In questo scenario, verranno comunque reindirizzati a Smartsheet 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 la documentazione pubblica di Smartsheet sulla creazione di un'app connessa per il flusso OAuth AUTHORIZATION\$1CODE, consulta Smartsheet. APIs](https://smartsheet.redoc.ly/#section/OAuth-Walkthrough) 

Per configurare una connessione a Smartsheet:

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

   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. 
**Nota**  
È necessario creare un segreto per ogni connessione in AWS Glue.

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

   1. In **Tipo di connessione**, selezionare Smartsheet.

   1. Fornire il `instanceUrl` di Smartsheet a cui si desidera connettersi.

   1. Seleziona il ruolo IAM per il quale AWS Glue può assumere e dispone delle autorizzazioni per le seguenti azioni: 

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

****  

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

------

   1. Seleziona quello `secretName` che desideri utilizzare per questa connessione per AWS Glue 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. 

# Lettura da entità Smartsheet
<a name="smartsheet-reading-from-entities"></a>

 **Prerequisiti** 

Un oggetto di `Smartsheet` da cui si desidera leggere. Consultare la tabella delle entità supportate qui di seguito per verificare quelle disponibili. 

 **Entità supportate** 


| Entità | Può essere Filtrato | Supporta Limite | Supporta Ordina per | Supporta Seleziona \$1 | Supporta Partizionamento | 
| --- | --- | --- | --- | --- | --- | 
| Foglio di elenco | Sì  | Sì | No | Sì | No | 
| Metadati di righe | Sì  | Sì | No | Sì | No | 
| Metadati del foglio | No | No | No | Sì | No | 
| Dati nel foglio | Sì  | Sì | Sì | Sì | No | 
| Event | Sì  | Sì | No | Sì | No | 

 **Esempio** 

```
Smartsheet_read = glueContext.create_dynamic_frame.from_options(
    connection_type="smartsheet",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "list-sheets",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://api.smartsheet.com"
    })
```

 **Dettagli dell'entità e del campo di Smartsheet** 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/smartsheet-reading-from-entities.html)

**Entità con metadati dinamici:**

Per l'entità seguente, Smartsheet fornisce un endpoint per recuperare dinamicamente i metadati, consentendo di acquisire il supporto dell'operatore a livello di tipo di dati.


| Entità |  Tipo di dati  | Operatori supportati | 
| --- | --- | --- | 
|  Dati nel foglio  |  Stringa  | N/A | 
| Dati nel foglio |  Long  | "=" | 
| Dati nel foglio | Numero intero | N/A | 
| Dati nel foglio | DateTime | > | 

 **Esempio** 

```
Smartsheet_read = glueContext.create_dynamic_frame.from_options(
    connection_type="smartsheet",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "list-sheets",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://api.smartsheet.com"
    }
```

# Opzioni di connessione di Smartsheet
<a name="smartsheet-connection-options"></a>

Di seguito sono riportate le opzioni di connessione per Smartsheet:
+ `ENTITY_NAME` (stringa): (obbligatorio) utilizzato per lettura/scrittura. Il nome dell'oggetto in Smartsheet. 
+ `API_VERSION`(String): (obbligatorio) utilizzato per la lettura/scrittura. Versione dell'API Rest di Smartsheet da utilizzare. Ad esempio: v2.0. 
+ `INSTANCE_URL`(String): (obbligatorio) utilizzato per la lettura. URL dell'istanza Smartsheet.
+ `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. 

# Creazione di un account Smartsheet
<a name="smartsheet-create-account"></a>

1. Registrarsi per creare un account Smartsheet accedendo alla [Pagina di iscrizione a Smartsheet](https://app.smartsheet.com/home). 

1. Scegliere **Creane uno** per creare un nuovo account o accedere utilizzando l'account Google, Microsoft o Apple registrato.

1.   Inserire l'indirizzo e-mail di lavoro quando richiesto.   

1.   Scegliere **Continua** e, se necessario, verificare la propria identità.  

1. Aprire l'e-mail di conferma di Smartsheet e scegliere il link di conferma per verificare l'account. 

   Per impostazione predefinita, si attiverà l'abbonamento al piano di prova. 

1. Nell'angolo in basso a sinistra, scegliere l'icona **Account** e scegliere **Aggiungi licenze/Aggiorna** per aggiornare il piano tariffario.
**Nota**  
È obbligatorio per accedere a **Segnalazione eventi**, che è un componente aggiuntivo del piano **Enterprise**.

1. Nel piano **Enterprise**, scegliere **Contattaci** per richiedere un upgrade dell'account al team di supporto.

1. Nel modulo di richiesta di assistenza, fornire i dettagli richiesti e i requisiti per aggiornare il piano.

   Questo completa l'aggiornamento al piano **Enterprise**.

**Creazione delle credenziali di `OAuth2.0`**

1. Dopo aver aggiornato il piano tariffario dell'account per accedere agli **Strumenti per sviluppatori**, accedere a [Sviluppatori Smartsheet](https://developers.smartsheet.com/). 

   L'utente riceverà un'e-mail di attivazione.

1. Aprire l'e-mail di attivazione da Smartsheet e scegliere il link di attivazione per attivare gli strumenti per sviluppatori sull'account. 

   Lo strumento per sviluppatori consente di creare l'app.

1. Aprire la home page dell'account Smartsheet e scegliere **Account** per verificare l'accesso.

1. Scegliere **Strumenti per sviluppatori** dall'elenco dei servizi e inserire i dettagli del **Profilo dello sviluppatore**.

1. Scegliere **Crea nuova app**.

1. Inserire i seguenti dettagli nel modulo di registrazione dell'app:
   + **Nome**: il nome dell'app.
   + **Descrizione**: descrizione dell'app.
   + **URL**: URL che consente di avviare l'app o l'URL della pagina di destinazione.
   + **Contatto/Supporto**: informazioni di contatto per il team di assistenza.
   + **URL di reindirizzamento**: URL (noto anche come URL di callback) all'interno dell'applicazione che riceverà le credenziali [OAuth 2.0](https://.console.aws.amazon.com/appflow/oauth). 

1. Scegli **Save** (Salva).

   Smartsheet assegna un ID client e un segreto del client all'app. Registrare questi valori per le fasi successive. È anche possibile cercarli di nuovo più avanti nella sezione **Strumenti per sviluppatori**.

# Limitazioni
<a name="smartsheet-connector-limitations"></a>

Smartsheet non supporta il partizionamento basato su campi o su record.