Ler de entidades do Microsoft Dynamics 365 CRM - AWS Glue

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" }