

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

 **Pré-requisitos** 
+  Um objeto do Slack do qual você deseja ler. 

 **Entidades compatíveis** 


| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \* | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | 
| conversas | Sim | Sim | Não | Sim | Sim | 

 **Exemplo** 

```
slack_read = glueContext.create_dynamic_frame.from_options(
    connection_type="slack",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversations/C058W38R5J8"
    }
)
```

 **Detalhes das entidades e dos campos do Slack** 


| Entidade | Campo | Tipo de dado | Operadores com suporte | 
| --- | --- | --- | --- | 
| conversas | anexos | Lista | NA | 
| conversas | bot\_id | String | NA | 
| conversas | blocks | Lista | NA | 
| conversas | client\_msg\_id | String | NA | 
| conversas | is\_starred | Booleano | NA | 
| conversas | last\_read | String | NA | 
| conversas | latest\_reply | String | NA | 
| conversas | reações | Lista | NA | 
| conversas | responde | Lista | NA | 
| conversas | reply\_count | Inteiro | NA | 
| conversas | reply\_users | Lista | NA | 
| conversas | reply\_users\_count | Inteiro | NA | 
| conversas | inscrito | Booleano | NA | 
| conversas | subtipo | String | NA | 
| conversas | text | String | NA | 
| conversas | team | String | NA | 
| conversas | thread\_ts | String | NA | 
| conversas | ts | String | EQUAL\_TO, BETWEEN, LESS\_THAN, LESS\_THAN\_OR\_EQUAL\_TO, GREATER\_THAN, GREATER\_THAN\_OR\_EQUAL\_TO | 
| conversas | type | String | NA | 
| conversas | usuário | String | NA | 
| conversas | anfitrião | String | NA | 
| conversas | raiz | Struct | NA | 
| conversas | is\_locked | Booleano | NA | 
| conversas | files | Lista | NA | 
| conversas | sala | Struct | NA | 
| conversas | buffer de | Booleano | NA | 
| conversas | display\_as\_bot | Booleano | NA | 
| conversas | channel | String | NA | 
| conversas | no\_notifications | Booleano | NA | 
| conversas | permalink | String | NA | 
| conversas | pinned\_to | Lista | NA | 
| conversas | pinned\_info | Struct | NA | 
| conversas | editado | Struct | NA | 
| conversas | app\_id | String | NA | 
| conversas | bot\_profile | Struct | NA | 
| conversas | metadados | Struct | NA | 

 **Particionamento de consultas** 

 Podem ser fornecidas as opções adicionais do Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` e `NUM_PARTITIONS` se você 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. 

   Na data, aceitamos o formato de data do Spark usado em consultas SQL do Spark. Exemplo de valor válido: `"2024-07-01T00:00:00.000Z"`. 
+  `UPPER_BOUND`: um valor limite superior exclusivo do campo de partição escolhido. 
+  `NUM_PARTITIONS`: número de partições. 

 Os detalhes do suporte do campo de particionamento relativo às entidades são capturados na tabela a seguir. 


| Entity Name | Campo de particionamento | Tipo de dado | 
| --- | --- | --- | 
| conversas | ts | String | 

 **Exemplo** 

```
slack_read = glueContext.create_dynamic_frame.from_options(
    connection_type="slack",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversations/C058W38R5J8",
        "PARTITION_FIELD": "ts"
        "LOWER_BOUND": "2022-12-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-09-23T15:00:00.000Z"
        "NUM_PARTITIONS": "2"
    }
)
```