Lecture à partir d’entités Microsoft Dynamics 365 CRM
Prérequis
-
Un objet Microsoft Dynamics 365 CRM à partir duquel vous souhaitez lire. Vous aurez besoin du nom de l’objet, comme contacts ou accounts. Le tableau suivant présente les entités prises en charge.
Entités prises en charge
| Entité | Peut être filtré | Limit prise en charge | Order by prise en charge | Select prise en charge* | Partitionnement pris en charge |
|---|---|---|---|---|---|
| Entité dynamique | Oui | Oui | Oui | Oui | Oui |
Exemple
dynamics365_read = glueContext.create_dynamic_frame.from_options( connection_type="microsoftdynamics365crm", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "dynamic_entity", "API_VERSION": "v9.2", "INSTANCE_URL": "https://{tenantID}.api.crm.dynamics.com" }
Détails des entités et des champs Microsoft Dynamics 365 CRM
Entités avec métadonnées dynamiques :
Microsoft Dynamics 365 CRM fournit des points de terminaison pour récupérer les métadonnées de manière dynamique. Par conséquent, pour les entités dynamiques, 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é dynamique | DateTime | =, <, <=, >, >=, BETWEEN |
| Date | =, <, <=, >, >= | |
| Chaîne | =, != | |
| Double | =, <, <=, >, >= | |
| Entier | =, <, <=, >, >= | |
| Décimal | =, <, <=, >, >= | |
| Long | =, <, <=, >, >= | |
| BigInteger | =, <, <=, >, >= | |
| Liste | NA | |
| Struct | NA | |
| Map | NA |
Requêtes de partitionnement
Microsoft Dynamics 365 CRM prend uniquement en charge le partitionnement basé sur les champs.
Les options Spark supplémentaires PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND et NUM_PARTITIONS peuvent être indiquées 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-01-30T06:47:51.000Z". -
UPPER_BOUND: une valeur limite supérieure exclusive du champ de partition choisi. -
NUM_PARTITIONS: nombre de partitions.
Les détails relatifs à la prise en charge des champs de partitionnement par entité sont présentés dans le tableau ci-dessous :
| Nom de l’entité | Champs de partitionnement | Type de données |
|---|---|---|
| Entité dynamique (entité standard) | Champs DateTime dynamiques interrogeables | createdon, modifiedon |
| Entité dynamique (entité personnalisée) | createdon, modifiedon | createdon, modifiedon |
Exemple
dynamics365_read = glueContext.create_dynamic_frame.from_options( connection_type="microsoftdynamics365crm", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "dynamic_entity", "API_VERSION": "v9.2", "instanceUrl": "https://{tenantID}.api.crm.dynamics.com" "PARTITION_FIELD": "createdon" "LOWER_BOUND": "2024-01-30T06:47:51.000Z" "UPPER_BOUND": "2024-06-30T06:47:51.000Z" "NUM_PARTITIONS": "10" }