View a markdown version of this page

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 Sí Sí No Sí Sí
Horario laboral No Sí No Sí Sí
Empresa Sí Sí No Sí Sí
Contactos Sí Sí No Sí Sí
Conversaciones No Sí No Sí No
Configuración de correo electrónico No Sí No Sí No
Bandejas de entrada de correo electrónico Sí Sí Sí Sí No
Categorías de foro No Sí No Sí No
Foros No Sí No Sí No
Grupos No Sí No Sí No
Productos No Sí No Sí No
Roles No Sí No Sí No
Calificaciones de satisfacción Sí Sí No Sí No
Habilidades No Sí No Sí No
Soluciones Sí Sí No Sí No
Encuestas No Sí No Sí No
Tickets Sí Sí Sí Sí Sí
Entradas de tiempo Sí Sí No Sí No
Temas No Sí No Sí No
Comentarios de tema No Sí No Sí 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" }