

# Leitura de entidades do Freshdesk
<a name="freshdesk-reading-from-entities"></a>

**Pré-requisito**

Um objeto do Freshdesk do qual você deseja ler. Você precisará do nome do objeto.

**Entidades compatíveis com a fonte de Sync**:


| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \* | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | 
| Agentes | Sim | Sim | Não | Sim | Sim | 
| Horário comercial | Não | Sim | Não | Sim | Sim | 
| Empresa | Sim | Sim | Não | Sim | Sim | 
| Contatos | Sim | Sim | Não | Sim | Sim | 
| Conversas | Não | Sim | Não | Sim | Não | 
| Configurações de e-mail | Não | Sim | Não | Sim | Não | 
| Caixas de entrada de e-mail | Sim | Sim | Sim | Sim | Não | 
| Categorias do fórum | Não | Sim | Não | Sim | Não | 
| Fóruns | Não | Sim | Não | Sim | Não | 
| Grupos | Não | Sim | Não | Sim | Não | 
| Produtos | Não | Sim | Não | Sim | Não | 
| Perfis | Não | Sim | Não | Sim | Não | 
| Classificação de satisfação | Sim | Sim | Não | Sim | Não | 
| Habilidades | Não | Sim | Não | Sim | Não | 
| Soluções | Sim | Sim | Não | Sim | Não | 
| Pesquisas | Não | Sim | Não | Sim | Não | 
| Tíquetes | Sim | Sim | Sim | Sim | Sim | 
| Registros de tempo | Sim | Sim | Não | Sim | Não | 
| Tópicos | Não | Sim | Não | Sim | Não | 
| Comentários do tópico | Não | Sim | Não | Sim | Não | 

**Entidades compatíveis com a fonte de ASYNC**:


| Entidade | Versão da API | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \* | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | --- | 
| Empresas | v2 | Não | Não | Não | Não | Não | 
| Contatos | v2 | Não | Não | Não | Não | Não | 

**Exemplo:**

```
freshdesk_read = glueContext.create_dynamic_frame.from_options(
    connection_type="freshdesk",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v2"
    }
```

**Detalhes de entidades e campos do Slack**


| Entidade | Campo | 
| --- | --- | 
| Agentes | https://developers.freshdesk.com/api/\#list\_all\_agents | 
| Horário comercial | https://developers.freshdesk.com/api/\#list\_all\_business\_hours | 
| Comentários | https://developers.freshdesk.com/api/\#comment\_attributess | 
| Empresa | https://developers.freshdesk.com/api/\#companies | 
| Contatos | https://developers.freshdesk.com/api/\#list\_all\_contacts | 
| Conversas | https://developers.freshdesk.com/api/\#list\_all\_ticket\_notes | 
| Configurações de e-mail | https://developers.freshdesk.com/api/\#list\_all\_email\_configs | 
| Caixas de entrada de e-mail | https://developers.freshdesk.com/api/\#list\_all\_email\_mailboxes | 
| Categorias do fórum | https://developers.freshdesk.com/api/\#category\_attributes | 
| Fóruns | https://developers.freshdesk.com/api/\#forum\_attributes | 
| Grupos | https://developers.freshdesk.com/api/\#list\_all\_groups | 
| Produtos | https://developers.freshdesk.com/api/\#list\_all\_products | 
| Perfis | https://developers.freshdesk.com/api/\#list\_all\_roles | 
| Classificação de satisfação | https://developers.freshdesk.com/api/\#view\_all\_satisfaction\_ratingss | 
| Habilidades | https://developers.freshdesk.com/api/\#list\_all\_skills | 
| Soluções | https://developers.freshdesk.com/api/\#solution\_content | 
| Pesquisas | https://developers.freshdesk.com/api/\#list\_all\_survey | 
| Tíquetes | https://developers.freshdesk.com/api/\#list\_all\_tickets | 
| Registros de tempo | https://developers.freshdesk.com/api/\#list\_all\_time\_entries | 
| Tópicos | https://developers.freshdesk.com/api/\#topic\_attributes | 

## Particionamento de consultas
<a name="freshdesk-reading-partitioning-queries"></a>

**Particionamento baseado em filtro**:

É possível fornecer as opções adicionais do Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` e `NUM_PARTITIONS` se quiser utilizar a simultaneidade no Spark. Com esses parâmetros, a consulta original seria dividida em `NUM_PARTITIONS` subconsultas, que poderiam ser executadas pelas tarefas do Spark simultaneamente.
+ `PARTITION_FIELD`: o nome do campo a ser usado para particionar a consulta.
+ `LOWER_BOUND`: um valor limite inferior **inclusivo** do campo de partição escolhido.

  No campo Datetime, aceitamos o formato de carimbo de data/hora do Spark usado em consultas SQL do Spark.

  Exemplos de valores válidos:

  ```
  "2024-09-30T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: um valor limite superior **exclusivo** do campo de partição escolhido.
+ `NUM_PARTITIONS`: o número de partições.

Exemplo:

```
freshDesk_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshdesk",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v2",
         "PARTITION_FIELD": "Created_Time"
         "LOWER_BOUND": " 2024-10-27T23:16:08Z“
         "UPPER_BOUND": " 2024-10-27T23:16:08Z"
         "NUM_PARTITIONS": "10"
     }
```