

# Asana 엔터티에서 읽기
<a name="asana-reading-from-entities"></a>

 **사전 조건** 

읽으려는 Asana 객체입니다. 사용 가능한 엔터티를 확인하려면 아래 지원되는 엔터티 테이블을 참조하세요.

 **소스에 대해 지원되는 엔터티** 


| 개체 | 필터링 가능 | 제한 지원 | 정렬 기준 지원 | Select \$1 지원 | 분할 지원 | 
| --- | --- | --- | --- | --- | --- | 
|  워크스페이스  | 아니요 | 예 | 아니요 | 예 | 아니요 | 
| 태그 | 아니요 | 예 | 아니요 | 예 | 아니요 | 
| User | 아니요 | 예 | 아니요 | 예 | 아니요 | 
|  Portfolio  | 아니요 | 예 | 아니요 | 예 | 아니요 | 
| Team | 아니요 | 예 | 아니요 | 예 | 아니요 | 
| Project | 예 | 예 | 아니요 | 예 | 아니요 | 
| Section | 아니요 | 예 | 아니요 | 예 | 아니요 | 
| Task  | 예 | 아니요 | 아니요 | 예 | 예 | 
| Goal | 예 | 예 | 아니요 | 예 | 아니요 | 
|  AuditLogEvent  | 예 | 예 | 아니요 | 예 | 아니요 | 
|  Status Update  | 예 | 예 | 아니요 | 예 | 아니요 | 
|  Custom Field  | 아니요 | 예 | 아니요 | 예 | 아니요 | 
|  Project Brief  | 예 | 아니요 | 아니요 | 예 | 예 | 

 **예제** 

```
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"
    }
```

 **Asana 엔터티 및 필드 세부 정보** 
+ [Workspace](https://developers.asana.com/docs/workspaces)
+ [태그](https://developers.asana.com/docs/tags)
+ [User](https://developers.asana.com/docs/users)
+ [Portfolio](https://developers.asana.com/docs/portfolios)
+ [Team](https://developers.asana.com/docs/teams)
+ [Project](https://developers.asana.com/docs/get-all-projects-in-a-workspace)
+ [Section](https://developers.asana.com/docs/get-sections-in-a-project)
+ [Task](https://developers.asana.com/docs/search-tasks-in-a-workspace) 
+ [Goal](https://developers.asana.com/docs/get-goals)
+ [AuditLogEvent](https://developers.asana.com/docs/audit-log-api)
+ [Status Update](https://developers.asana.com/reference/status-updates)
+ [Custom Field](https://developers.asana.com/reference/custom-fields)
+ [Project Brief](https://developers.asana.com/reference/project-briefs)

 **분할 쿼리** 

Spark에서 동시성을 활용하려는 경우 추가 Spark 옵션(`PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND`, `NUM_PARTITIONS`)을 제공할 수 있습니다. 이러한 파라미터를 사용하면 Spark 태스크에서 동시에 실행할 수 있는 `NUM_PARTITIONS`개의 하위 쿼리로 원본 쿼리가 분할됩니다.
+ `PARTITION_FIELD`: 쿼리 분할에 사용할 필드의 이름입니다.
+ `LOWER_BOUND`: 선택한 파티션 필드의 하한 값(경계 포함).

  날짜의 경우 Spark SQL 쿼리에 사용된 Spark 날짜 형식을 허용합니다. 유효한 값의 예제: `2024-06-07T13:30:00.134Z`.
+ `UPPER_BOUND`: 선택한 파티션 필드의 상한 값(경계 제외).
+ `NUM_PARTITIONS`: 파티션 수.

 엔터티 수준의 분할 필드 지원 세부 정보는 다음 표에 캡처되어 있습니다.


| 엔터티 이름 | 분할 필드 | 데이터 형식 | 
| --- | --- | --- | 
| Task |  created\$1at  | DateTime | 
| Task |  modified\$1at  | DateTime | 

 **예제** 

```
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"
    }
```