

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à.

# Lettura dalle entità di Asana
<a name="asana-reading-from-entities"></a>

 **Prerequisiti** 

Un oggetto di Asana da cui desideri leggere. Consulta la tabella delle entità supportate qui di seguito per verificare quelle disponibili. 

 **Entità supportate come origine** 


| Entità | Può essere Filtrato | Supporta Limite | Supporta Ordina per | Supporta Seleziona \* | Supporta Partizionamento | 
| --- | --- | --- | --- | --- | --- | 
| Workspace | No | Sì | No | Sì | No | 
| Tag | No | Sì | No | Sì | No | 
| Utente | No | Sì | No | Sì | No | 
| Portfolio | No | Sì | No | Sì | No | 
| Team | No | Sì | No | Sì | No | 
| Progetto | Sì  | Sì | No | Sì | No | 
| Sezione | No | Sì | No | Sì | No | 
| Operazione  | Sì | No | No | Sì | Sì | 
| Obiettivo | Sì  | Sì | No | Sì | No | 
| AuditLogEvent | Sì | Sì | No | Sì | No | 
| Aggiornamento di stato | Sì  | Sì | No | Sì | No | 
| Campo personalizzato | No | Sì | No | Sì | No | 
| Breve descrizione del progetto | Sì | No | No | Sì | Sì | 

 **Esempio** 

```
read_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Asana",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "task/workspace:xxxx",
        "API_VERSION": "1.0",
        "PARTITION_FIELD": "created_at",
        "LOWER_BOUND": "2024-02-05T14:09:30.115Z",
        "UPPER_BOUND": "2024-06-07T13:30:00.134Z",
        "NUM_PARTITIONS": "3"
    }
```

 **Dettagli dell'entità e del campo di Asana** 
+ [Workspace](https://developers.asana.com/docs/workspaces)
+ [Tag](https://developers.asana.com/docs/tags)
+ [Utente](https://developers.asana.com/docs/users)
+ [Portfolio](https://developers.asana.com/docs/portfolios)
+ [Team](https://developers.asana.com/docs/teams)
+ [Progetto](https://developers.asana.com/docs/get-all-projects-in-a-workspace)
+ [Sezione](https://developers.asana.com/docs/get-sections-in-a-project)
+ [Attività](https://developers.asana.com/docs/search-tasks-in-a-workspace) 
+ [Obiettivo](https://developers.asana.com/docs/get-goals)
+ [AuditLogEvent](https://developers.asana.com/docs/audit-log-api)
+ [Aggiornamento di stato](https://developers.asana.com/reference/status-updates)
+ [Campo personalizzato](https://developers.asana.com/reference/custom-fields)
+ [Breve descrizione del progetto](https://developers.asana.com/reference/project-briefs)

 **Query di partizionamento** 

Se si desidera utilizzare la simultaneità in Spark, possono essere fornite opzioni Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND`, `NUM_PARTITIONS` aggiuntive. Con questi parametri, la query originale viene suddivisa in `NUM_PARTITIONS` query secondarie che possono essere eseguite contemporaneamente dalle attività Spark. 
+ `PARTITION_FIELD`: il nome del campo da utilizzare per partizionare la query. 
+ `LOWER_BOUND`: un valore limite inferiore inclusivo del campo di partizione scelto. 

  Per la data, accettiamo il formato di data di Spark utilizzato nelle query di Spark SQL. Esempio di valori validi: `2024-06-07T13:30:00.134Z`. 
+ `UPPER_BOUND`: un valore limite superiore esclusivo del campo di partizione scelto. 
+ `NUM_PARTITIONS`: numero di partizioni. 

 I dettagli di supporto del campo di partizionamento per entità sono riportati nella tabella seguente. 


| Nome entità | Campo di partizionamento | Tipo di dati | 
| --- | --- | --- | 
| Operazione | created\_at | DateTime | 
| Operazione | modified\_at | DateTime | 

 **Esempio** 

```
read_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Asana",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "task/workspace:xxxx",
        "API_VERSION": "1.0",
        "PARTITION_FIELD": "created_at",
        "LOWER_BOUND": "2024-02-05T14:09:30.115Z",
        "UPPER_BOUND": "2024-06-07T13:30:00.134Z",
        "NUM_PARTITIONS": "3"
    }
```