

# 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 \$1 | 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\$1id | String | NA | 
| conversas | blocks | Lista | NA | 
| conversas | client\$1msg\$1id | String | NA | 
| conversas | is\$1starred | Booleano | NA | 
| conversas | last\$1read | String | NA | 
| conversas | latest\$1reply | String | NA | 
| conversas | reações | Lista | NA | 
| conversas | responde | Lista | NA | 
| conversas | reply\$1count | Inteiro | NA | 
| conversas | reply\$1users | Lista | NA | 
| conversas | reply\$1users\$1count | Inteiro | NA | 
| conversas | inscrito | Booleano | NA | 
| conversas | subtipo | String | NA | 
| conversas | text | String | NA | 
| conversas | team | String | NA | 
| conversas | thread\$1ts | String | NA | 
| conversas | ts | String | EQUAL\$1TO, BETWEEN, LESS\$1THAN, LESS\$1THAN\$1OR\$1EQUAL\$1TO, GREATER\$1THAN, GREATER\$1THAN\$1OR\$1EQUAL\$1TO | 
| conversas | type | String | NA | 
| conversas | usuário | String | NA | 
| conversas | anfitrião | String | NA | 
| conversas | raiz | Struct | NA | 
| conversas | is\$1locked | Booleano | NA | 
| conversas | files | Lista | NA | 
| conversas | sala | Struct | NA | 
| conversas | buffer de | Booleano | NA | 
| conversas | display\$1as\$1bot | Booleano | NA | 
| conversas | channel | String | NA | 
| conversas | no\$1notifications | Booleano | NA | 
| conversas | permalink | String | NA | 
| conversas | pinned\$1to | Lista | NA | 
| conversas | pinned\$1info | Struct | NA | 
| conversas | editado | Struct | NA | 
| conversas | app\$1id | String | NA | 
| conversas | bot\$1profile | 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"
    }
)
```