

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

 **Requisitos previos** 
+  Un objeto de Slack desde el que desea leer. 

 **Entidades compatibles** 


| Entidad | Se puede filtrar | Admite límite | Admite Ordenar por | Admite Seleccionar \* | Admite Partición | 
| --- | --- | --- | --- | --- | --- | 
| conversaciones | Sí | Sí | No | Sí | Sí | 

 **Ejemplo** 

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

 **Detalles de la entidad y el campo de Slack** 


| Entidad | Campo | Tipo de datos | Operadores admitidos | 
| --- | --- | --- | --- | 
| conversaciones | attachments | Enumeración | N/D | 
| conversaciones | bot\_id | Cadena | N/D | 
| conversaciones | blocks | Enumeración | N/D | 
| conversaciones | client\_msg\_id | Cadena | N/D | 
| conversaciones | is\_starred | Booleano | N/D | 
| conversaciones | last\_read | Cadena | N/D | 
| conversaciones | latest\_reply | Cadena | N/D | 
| conversaciones | reactions | Enumeración | N/D | 
| conversaciones | replies | Enumeración | N/D | 
| conversaciones | reply\_count | Entero | N/D | 
| conversaciones | reply\_users | Enumeración | N/D | 
| conversaciones | reply\_users\_count | Entero | N/D | 
| conversaciones | subscribed | Booleano | N/D | 
| conversaciones | subtype | Cadena | N/D | 
| conversaciones | texto | Cadena | N/D | 
| conversaciones | team | Cadena | N/D | 
| conversaciones | thread\_ts | Cadena | N/D | 
| conversaciones | ts | Cadena | EQUAL\_TO, BETWEEN, LESS\_THAN, LESS\_THAN\_OR\_EQUAL\_TO, GREATER\_THAN, GREATER\_THAN\_OR\_EQUAL\_TO | 
| conversaciones | type | Cadena | N/D | 
| conversaciones | usuario | Cadena | N/D | 
| conversaciones | inviter | Cadena | N/D | 
| conversaciones | root | Struct | N/D | 
| conversaciones | is\_locked | Booleano | N/D | 
| conversaciones | files | Enumeración | N/D | 
| conversaciones | sala | Struct | N/D | 
| conversaciones | carga | Booleano | N/D | 
| conversaciones | display\_as\_bot | Booleano | N/D | 
| conversaciones | channel | Cadena | N/D | 
| conversaciones | no\_notifications | Booleano | N/D | 
| conversaciones | permalink | Cadena | N/D | 
| conversaciones | pinned\_to | Enumeración | N/D | 
| conversaciones | pinned\_info | Struct | N/D | 
| conversaciones | edited | Struct | N/D | 
| conversaciones | app\_id | Cadena | N/D | 
| conversaciones | bot\_profile | Struct | N/D | 
| conversaciones | metadatos | Struct | N/D | 

 **Consultas de partición** 

 Puede proporcionar las opciones adicionales de Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` y `NUM_PARTITIONS` si quiere usar la simultaneidad en Spark. Con estos parámetros, la consulta original se dividiría en un número `NUM_PARTITIONS` de subconsultas que las tareas de Spark pueden ejecutar simultáneamente. 
+  `PARTITION_FIELD`: el nombre del campo que se usará para particionar la consulta. 
+  `LOWER_BOUND`: un valor de límite inferior inclusivo del campo de partición elegido. 

   Para la fecha, aceptamos el formato de fecha de Spark que se usa en las consultas de Spark SQL. Ejemplo de valor válido: `"2024-07-01T00:00:00.000Z"`. 
+  `UPPER_BOUND`: un valor límite superior exclusivo del campo de partición elegido. 
+  `NUM_PARTITIONS`: el número de particiones. 

 Los detalles de compatibilidad del campo de particionamiento por entidad se muestran en la siguiente tabla. 


| Nombre de la entidad | Campo de partición | Tipo de datos | 
| --- | --- | --- | 
| conversaciones | ts | Cadena | 

 **Ejemplo** 

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