Lesen aus Entitäten von Microsoft Dynamics 365 CRM
Voraussetzungen
-
Ein Objekt in Microsoft Dynamics 365 CRM, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie Kontakte oder Konten. Die folgende Tabelle zeigt die unterstützten Entitäten.
Unterstützte Entitäten
| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „* auswählen“ | Unterstützt Partitionierung |
|---|---|---|---|---|---|
| Dynamische Entität | Ja | Ja | Ja | Ja | Ja |
Beispiel
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" }
Entitäts- und Felddetails für Microsoft Dynamics 365 CRM
Entitäten mit dynamischen Metadaten:
Microsoft Dynamics 365 CRM bietet Endpunkte zum dynamischen Abrufen von Metadaten. Daher wird bei dynamischen Entitäten die Operatorunterstützung auf Datentypebene erfasst.
| Entität | Datentyp | Unterstützte Operatoren |
|---|---|---|
| Dynamische Entität | DateTime | =, <, <=, >, >=, BETWEEN |
| Datum | =, <, <=, >, >= | |
| String | =, != | |
| Double | =, <, <=, >, >= | |
| Ganzzahl | =, <, <=, >, >= | |
| Dezimal | =, <, <=, >, >= | |
| Long | =, <, <=, >, >= | |
| BigInteger | =, <, <=, >, >= | |
| Auflisten | N/A | |
| Struct | N/A | |
| Zuordnung | N/A |
Partinionieren von Abfragen
Microsoft Dynamics 365 CRM unterstützt nur feldbasierte Partitionierung.
Die zusätzlichen Spark-Optionen PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND und NUM_PARTITIONS können angegeben werden, wenn Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern würde die ursprüngliche Abfrage in NUM_PARTITIONS Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.
-
PARTITION_FIELD: der Name des Feldes, das zur Partitionierung der Abfrage verwendet werden soll. -
LOWER_BOUND: ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds.Für DateTime-Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird. Beispiel für gültige Werte:
"2024-01-30T06:47:51.000Z". -
UPPER_BOUND: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. -
NUM_PARTITIONS: Anzahl der Partitionen.
Details zur Unterstützung von Feldern für die entitätsbezogene Partitionierung sind in der folgenden Tabelle aufgeführt.
| Entity Name | Partitionierung von Feldern | DataType |
|---|---|---|
| Dynamische Entität (Standardentität) | Dynamische DateTime-Felder, die abfragbar sind | createdon, modifiedon |
| Dynamische Entität (benutzerdefinierte Entität) | createdon, modifiedon | createdon, modifiedon |
Beispiel
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" }