Lecture depuis les entités Zoho CRM
Prérequis
Objets Zoho CRM à partir desquels 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 |
|---|---|---|---|---|---|
| Produit (langue française non garantie) | Oui | Oui | Oui | Oui | Oui |
| Quote | Oui | Oui | Oui | Oui | Oui |
| Bon de commande | Oui | Oui | Oui | Oui | Oui |
| Solution | Oui | Oui | Oui | Oui | Oui |
| Appelez | Oui | Oui | Oui | Oui | Oui |
| Tâche | Oui | Oui | Oui | Oui | Oui |
| Event | Oui | Oui | Oui | Oui | Oui |
| Invoice | Oui | Oui | Oui | Oui | Oui |
| Compte | Oui | Oui | Oui | Oui | Oui |
| Contact | Oui | Oui | Oui | Oui | Oui |
| Vendor | Oui | Oui | Oui | Oui | Oui |
| Campagne | Oui | Oui | Oui | Oui | Oui |
| Deal | Oui | Oui | Oui | Oui | Oui |
| Lead | Oui | Oui | Oui | Oui | Oui |
| Custom Module | Oui | Oui | Oui | Oui | Oui |
| Sales Order | Oui | Oui | Oui | Oui | Oui |
| Price Books | Oui | Oui | Oui | Oui | Oui |
| Cas | Oui | Oui | Oui | Oui | Oui |
Exemple :
zoho_read = glueContext.create_dynamic_frame.from_options( connection_type="ZOHO", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "entityName", "API_VERSION": "v7", "INSTANCE_URL": "https://www.zohoapis.in/" }
Entités prises en charge pour la source asynchrone :
| Entité | Peut être filtré | Limit prise en charge | Order by prise en charge | Select prise en charge* | Partitionnement pris en charge |
|---|---|---|---|---|---|
| Produit (langue française non garantie) | Oui | Non | Non | Oui | Non |
| Quote | Oui | Non | Non | Oui | Non |
| Bon de commande | Oui | Non | Non | Oui | Non |
| Solution | Oui | Non | Non | Oui | Non |
| Appelez | Oui | Non | Non | Oui | Non |
| Tâche | Oui | Non | Non | Oui | Non |
| Event | Oui | Non | Non | Oui | Non |
| Invoice | Oui | Non | Non | Oui | Non |
| Compte | Oui | Non | Non | Oui | Non |
| Contact | Oui | Non | Non | Oui | Non |
| Vendor | Oui | Non | Non | Oui | Non |
| Campagne | Oui | Non | Non | Oui | Non |
| Deal | Oui | Non | Non | Oui | Non |
| Lead | Oui | Non | Non | Oui | Non |
| Custom Module | Oui | Non | Non | Oui | Non |
| Sales Order | Oui | Non | Non | Oui | Non |
| Price Books | Oui | Non | Non | Oui | Non |
| Cas | Oui | Non | Non | Oui | Non |
Exemple :
zoho_read = glueContext.create_dynamic_frame.from_options( connection_type="ZOHO", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "entityName", "API_VERSION": "v7", "INSTANCE_URL": "https://www.zohoapis.in/", "TRANSFER_MODE": "ASYNC" }
Détails du champ Zoho CRM :
Zoho CRM fournit des points de terminaison permettant de récupérer les métadonnées de manière dynamique pour les entités prises en charge. Par conséquent, la prise en charge des opérateurs est capturée au niveau du type de données.
| Entité | Type de données | Opérateurs pris en charge |
|---|---|---|
| Entités Zoho (toutes les entités) | Entier | !=, =, <, <=, >, >=, BETWEEN |
| Chaîne | Like, =, != | |
| BigInteger | !=, =, <, <=, >, >=, BETWEEN | |
| Booléen | = | |
| Double | !=, =, <, <=, >, >=, BETWEEN | |
| BigDecimal | !=, =, <, <=, >, >=, BETWEEN | |
| Date | !=, =, <, <=, >, >=, BETWEEN | |
| DateTime | !=, =, <, <=, >, >=, BETWEEN | |
| Struct | N/A | |
| Liste | N/A |
Requêtes de partitionnement
Le partitionnement n’est pas pris en charge en mode asynchrone.
Partitionnement basé sur des filtres (mode de synchronisation) :
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 :
zoho_read = glueContext.create_dynamic_frame.from_options( connection_type="zohocrm", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "entityName", "API_VERSION": "v7", "PARTITION_FIELD": "Created_Time" "LOWER_BOUND": "2022-01-01T01:01:01.000Z" "UPPER_BOUND": "2024-01-01T01:01:01.000Z" "NUM_PARTITIONS": "10" }