Cómo leer de entidades de Freshdesk - AWS Glue

Cómo leer de entidades de Freshdesk

Requisito previo

Un objeto de Freshdesk del que desea leer. Necesitará el nombre del objeto.

Entidades compatibles para el origen sincrónico:

Entidad Se puede filtrar Admite límite Admite Ordenar por Admite Seleccionar * Admite partición
Agentes No
Horario laboral No No
Empresa No
Contactos No
Conversaciones No No No
Configuración de correo electrónico No No No
Bandejas de entrada de correo electrónico No
Categorías de foro No No No
Foros No No No
Grupos No No No
Productos No No No
Roles No No No
Calificaciones de satisfacción No No
Habilidades No No No
Soluciones No No
Encuestas No No No
Tickets
Entradas de tiempo No No
Temas No No No
Comentarios de tema No No No

Entidades compatibles para el origen asíncrono:

Entidad Versión de la API Se puede filtrar Admite límite Admite Ordenar por Admite Seleccionar * Admite partición
Empresas v2 No No No No No
Contactos v2 No No No No No

Ejemplo:

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

Detalles de entidades y campos de Freshdesk:

Entidad Campo
Agentes https://developers.freshdesk.com/api/#list_all_agents
Horario laboral https://developers.freshdesk.com/api/#list_all_business_hours
Comentarios https://developers.freshdesk.com/api/#comment_attributess
Empresa https://developers.freshdesk.com/api/#companies
Contactos https://developers.freshdesk.com/api/#list_all_contacts
Conversaciones https://developers.freshdesk.com/api/#list_all_ticket_notes
Configuraciones de correo electrónico https://developers.freshdesk.com/api/#list_all_email_configs
Bandejas de entrada de correo electrónico https://developers.freshdesk.com/api/#list_all_email_mailboxes
Categorías de foro https://developers.freshdesk.com/api/#category_attributes
Foros https://developers.freshdesk.com/api/#forum_attributes
Grupos https://developers.freshdesk.com/api/#list_all_groups
Productos https://developers.freshdesk.com/api/#list_all_products
Roles https://developers.freshdesk.com/api/#list_all_roles
Calificaciones de satisfacción https://developers.freshdesk.com/api/#view_all_satisfaction_ratings
Habilidades https://developers.freshdesk.com/api/#list_all_skills
Soluciones https://developers.freshdesk.com/api/#solution_content
Encuestas https://developers.freshdesk.com/api/#list_all_surveys
Tickets https://developers.freshdesk.com/api/#list_all_tickets
Entradas de tiempo https://developers.freshdesk.com/api/#list_all_time_entries
Temas https://developers.freshdesk.com/api/#topic_attributes

Consultas de partición

Partición basada en filtros:

Puede proporcionar las opciones adicionales de Spark PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND y NUM_PARTITIONS si quiere utilizar 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 utilizará para particionar la consulta.

  • LOWER_BOUND: un valor de límite inferior inclusivo del campo de partición elegido.

    En el campo Datetime, aceptamos el formato de marca de tiempo de Spark que se utiliza en las consultas SQL de Spark.

    Ejemplos de valor válido:

    "2024-09-30T01:01:01.000Z"
  • UPPER_BOUND: un valor límite superior exclusivo del campo de partición elegido.

  • NUM_PARTITIONS: el número de particiones.

Ejemplo:

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