Reading from Slack entities - Amazon Glue
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Reading from Slack entities

Prerequisites

  • A Slack object you would like to read from.

Supported entities

Entity Can be Filtered Supports Limit Supports Order By Supports Select * Supports Partitioning
conversations Yes Yes No Yes Yes

Example

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

Slack entity and field details

Entity Field Data Type Supported Operators
conversationsattachmentsListNA
conversationsbot_idStringNA
conversationsblocksListNA
conversationsclient_msg_idStringNA
conversationsis_starredBooleanNA
conversationslast_readStringNA
conversationslatest_replyStringNA
conversationsreactionsListNA
conversationsrepliesListNA
conversationsreply_countIntegerNA
conversationsreply_usersListNA
conversationsreply_users_countIntegerNA
conversationssubscribedBooleanNA
conversationssubtypeStringNA
conversationstextStringNA
conversationsteamStringNA
conversationsthread_tsStringNA
conversationstsStringEQUAL_TO, BETWEEN, LESS_THAN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN, GREATER_THAN_OR_EQUAL_TO
conversationstypeStringNA
conversationsuserStringNA
conversationsinviterStringNA
conversationsrootStructNA
conversationsis_lockedBooleanNA
conversationsfilesListNA
conversationsroomStructNA
conversationsuploadBooleanNA
conversationsdisplay_as_botBooleanNA
conversationschannelStringNA
conversationsno_notificationsBooleanNA
conversationspermalinkStringNA
conversationspinned_toListNA
conversationspinned_infoStructNA
conversationseditedStructNA
conversationsapp_idStringNA
conversationsbot_profileStructNA
conversationsmetadataStructNA

Partitioning queries

Additional spark options PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND, NUM_PARTITIONS can be provided if you want to utilize concurrency in Spark. With these parameters, the original query would be split into NUM_PARTITIONS number of sub-queries that can be executed by spark tasks concurrently.

  • PARTITION_FIELD: the name of the field to be used to partition query.

  • LOWER_BOUND: an inclusive lower bound value of the chosen partition field.

    For date, we accept the Spark date format used in Spark SQL queries. Example of valid value: "2024-07-01T00:00:00.000Z".

  • UPPER_BOUND: an exclusive upper bound value of the chosen partition field.

  • NUM_PARTITIONS: number of partitions.

Entity wise partitioning field support details are captured in below table.

Entity Name Partitioning Field Data Type
conversations ts String

Example

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