Lecture à partir d’entités Freshdesk
Prérequis
Un objet Freshdesk à partir duquel vous souhaitez lire. Vous aurez besoin du nom de l’objet.
Entités prises en charge pour la source de synchronisation :
| Entité | Peut être filtré | Limit prise en charge | Order by prise en charge | Select prise en charge* | Partitionnement pris en charge |
|---|---|---|---|---|---|
| Agents | Oui | Oui | Non | Oui | Oui |
| Business Hours | Non | Oui | Non | Oui | Oui |
| Société | Oui | Oui | Non | Oui | Oui |
| Contacts | Oui | Oui | Non | Oui | Oui |
| Conversations | Non | Oui | Non | Oui | Non |
| Email Configs | Non | Oui | Non | Oui | Non |
| Email Inboxes | Oui | Oui | Oui | Oui | Non |
| Forum Categories | Non | Oui | Non | Oui | Non |
| Forums | Non | Oui | Non | Oui | Non |
| Groups (Groupes) | Non | Oui | Non | Oui | Non |
| Produits | Non | Oui | Non | Oui | Non |
| Rôles | Non | Oui | Non | Oui | Non |
| Satisfaction Ratings | Oui | Oui | Non | Oui | Non |
| Skills | Non | Oui | Non | Oui | Non |
| Solutions | Oui | Oui | Non | Oui | Non |
| Enquêtes | Non | Oui | Non | Oui | Non |
| Tickets | Oui | Oui | Oui | Oui | Oui |
| Time Entries | Oui | Oui | Non | Oui | Non |
| Rubriques | Non | Oui | Non | Oui | Non |
| Topic Comments | Non | Oui | Non | Oui | Non |
Entités prises en charge pour la source asynchrone :
| Entité | Version de l’API | Peut être filtré | Limit prise en charge | Order by prise en charge | Select prise en charge* | Partitionnement pris en charge |
|---|---|---|---|---|---|---|
| Companies | v2 | Non | Non | Non | Non | Non |
| Contacts | v2 | Non | Non | Non | Non | Non |
Exemple :
freshdesk_read = glueContext.create_dynamic_frame.from_options( connection_type="freshdesk", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "entityName", "API_VERSION": "v2" }
Détails des entités et des champs Freshdesk :
| Entité | Champ |
|---|---|
| Agents | https://developers.freshdesk.com/api/#list_all_agents |
| Business-hours | https://developers.freshdesk.com/api/#list_all_business_hours |
| Commentaires | https://developers.freshdesk.com/api/#comment_attributess |
| Société | https://developers.freshdesk.com/api/#companies |
| Contacts | https://developers.freshdesk.com/api/#list_all_contacts |
| Conversations | https://developers.freshdesk.com/api/#list_all_ticket_notes |
| Email-configs | https://developers.freshdesk.com/api/#list_all_email_configs |
| Email-inboxes | https://developers.freshdesk.com/api/#list_all_email_mailboxes |
| Forum-categories | https://developers.freshdesk.com/api/#category_attributes |
| Forums | https://developers.freshdesk.com/api/#forum_attributes |
| Groups (Groupes) | https://developers.freshdesk.com/api/#list_all_groups |
| Produits | https://developers.freshdesk.com/api/#list_all_products |
| Rôles | https://developers.freshdesk.com/api/#list_all_roles |
| Satisfaction-rating | https://developers.freshdesk.com/api/#view_all_satisfaction_ratingss |
| Skills | https://developers.freshdesk.com/api/#list_all_skills |
| Solutions | https://developers.freshdesk.com/api/#solution_content |
| Enquêtes | https://developers.freshdesk.com/api/#list_all_survey |
| Tickets | https://developers.freshdesk.com/api/#list_all_tickets |
| Time-entries | https://developers.freshdesk.com/api/#list_all_time_entries |
| Rubriques | https://developers.freshdesk.com/api/#topic_attributes |
Requêtes de partitionnement
Partitionnement basé sur des filtres :
Vous pouvez indiquer les options Spark supplémentaires PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND et NUM_PARTITIONS si vous souhaitez utiliser la simultanéité dans Spark. Avec ces paramètres, la requête d’origine serait divisée en NUM_PARTITIONS nombres de sous-requêtes pouvant être exécutées simultanément par les tâches Spark.
PARTITION_FIELD: le nom du champ à utiliser pour partitionner la requête.LOWER_BOUND: une valeur limite inférieure inclusive du champ de partition choisi.Pour le champ Datetime, nous acceptons le format d’horodatage Spark utilisé dans les requêtes SQL Spark.
Exemples de valeurs valides :
"2024-09-30T01:01:01.000Z"UPPER_BOUND: une valeur limite supérieure exclusive du champ de partition choisi.NUM_PARTITIONS: le nombre de partitions.
Exemple :
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" }