Ler de entidades do Microsoft Dynamics 365 CRM
Pré-requisitos
-
Um objeto do Microsoft Dynamics 365 CRM do qual você deseja ler. Você precisará do nome do objeto, como contatos ou contas. A tabela a seguir mostra as entidades compatíveis.
Entidades compatíveis
| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar * | Oferece suporte a particionamento |
|---|---|---|---|---|---|
| Entidade dinâmica | Sim | Sim | Sim | Sim | Sim |
Exemplo
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" }
Detalhes das entidades e dos campos do Microsoft Dynamics 365 CRM
Entidades com metadados dinâmicos:
O Microsoft Dynamics 365 CRM fornece endpoints para buscar metadados dinamicamente. Portanto, para entidades dinâmicas, o suporte do operador é capturado no nível do tipo de dados.
| Entidade | Tipo de dado | Operadores com suporte |
|---|---|---|
| Entidade dinâmica | DateTime | =, >, >=, <, <=, BETWEEN |
| Data | =, <, <=, >, >= | |
| String | =, != | |
| Duplo | =, <, <=, >, >= | |
| Inteiro | =, <, <=, >, >= | |
| Decimal | =, <, <=, >, >= | |
| Longo | =, <, <=, >, >= | |
| BigInteger | =, <, <=, >, >= | |
| Lista | NA | |
| Struct | NA | |
| Mapa | NA |
Particionamento de consultas
O Microsoft Dynamics 365 CRM oferece suporte somente ao particionamento baseado em campo.
Podem ser fornecidas as opções adicionais do Spark PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND e NUM_PARTITIONS se você quiser utilizar a simultaneidade no Spark. Com esses parâmetros, a consulta original seria dividida em NUM_PARTITIONS subconsultas, que poderiam ser executadas pelas tarefas do Spark simultaneamente.
-
PARTITION_FIELD: o nome do campo a ser usado para particionar a consulta. -
LOWER_BOUND: um valor limite inferior inclusivo do campo de partição escolhido.Em Datetime, aceitamos o formato de carimbo de data/hora do Spark usado em consultas SQL do Spark. Exemplo de valores válidos:
"2024-01-30T06:47:51.000Z". -
UPPER_BOUND: um valor limite superior exclusivo do campo de partição escolhido. -
NUM_PARTITIONS: número de partições.
Os detalhes do suporte do campo de particionamento relativo às entidades são capturados na tabela abaixo:
| Entity Name | Campos de particionamento | DataType |
|---|---|---|
| Entidade dinâmica (entidade padrão) | Campos DateTime dinâmicos que podem ser consultados | createdon, modifiedon |
| Entidade dinâmica (entidade personalizada) | createdon, modifiedon | createdon, modifiedon |
Exemplo
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" }