Leitura de entidades do ServiceNow
Pré-requisito
Um objeto de tabelas do ServiceNow do qual você deseja ler. Você precisará do nome do objeto, como pa_bucket ou incidente.
Exemplo:
servicenow_read = glueContext.create_dynamic_frame.from_options( connection_type="custom.spark", connection_options={ "connectionName": "servicenow-basicAuth", "ENTITY_NAME": "pa_buckets", "API_VERSION": "v2" "instanceUrl": "https://<instance-name>.service-now.com" } )
Detalhes das entidades e dos campos do ServiceNow:
Para as entidades a seguir, o ServiceNow fornece endpoints para buscar metadados dinamicamente, para que o suporte do operador seja capturado no nível do tipo de dados de cada entidade.
Entidade | Tipo de dados | Operadores compatíveis |
---|---|---|
Tabelas (entidades dinâmicas) | Inteiro | =, !=, <, <=, >, >=, BETWEEN |
BigDecimal | =, !=, <, <=, >, >=, BETWEEN | |
Float | =, !=, <, <=, >, >=, BETWEEN | |
Longo | =, !=, <, <=, >, >=, BETWEEN | |
Data | =, !=, <, <=, >, >=, BETWEEN | |
DateTime | =, !=, <, <=, >, >=, BETWEEN | |
Booleano | =, != | |
String | =, !=, <, <=, >, >=, BETWEEN, LIKE | |
struct | N/D |
nota
O tipo de dados Struct é convertido no tipo de dados String na resposta do conector.
nota
DML_STATUS
é um atributo adicional definido pelo usuário usado para rastrear registros CREATED/UPDATED.
Consultas de particionamento
Particionamento com base em campo:
É possível fornecer as opções adicionais do Spark PARTITION_FIELD
, LOWER_BOUND
, UPPER_BOUND
e NUM_PARTITIONS
se 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.
Nome da entidade | Campos de particionamento | Tipo de dados |
---|---|---|
Entidade dinâmica | sys_mod_count | Inteiro |
sys_created_on, sys_updated_on | DateTime |
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.No campo Data e hora, aceitamos o formato de carimbo de data/hora do Spark usado em consultas SQL do Spark.
Exemplos 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
: o número de partições.
A tabela a seguir descreve os detalhes do suporte do campo de particionamento da entidade:
Exemplo:
servicenow_read = glueContext.create_dynamic_frame.from_options( connection_type="servicenow", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "pa_buckets", "API_VERSION": "v2", "instanceUrl": "https://<instance-name>.service-now.com" "PARTITION_FIELD": "sys_created_on" "LOWER_BOUND": "2024-01-30T06:47:51.000Z" "UPPER_BOUND": "2024-06-30T06:47:51.000Z" "NUM_PARTITIONS": "10" }
Particionamento com base em registros:
Você pode fornecer a opção adicional NUM_PARTITIONS
do Spark se quiser utilizar a simultaneidade no Spark. Com esse parâmetro, a consulta original é dividida em NUM_PARTITIONS
subconsultas, que podem ser executadas pelas tarefas do Spark simultaneamente.
No particionamento com base em registros, o número total de registros presentes é consultado na API do ServiceNow e dividido pelo número NUM_PARTITIONS
fornecido. O número resultante de registros é então buscado simultaneamente por cada subconsulta.
NUM_PARTITIONS
: o número de partições.
Exemplo:
servicenow_read = glueContext.create_dynamic_frame.from_options( connection_type="servicenow", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "pa_buckets", "API_VERSION": "v2", "instanceUrl": "https://<instance-name>.service-now.com" "NUM_PARTITIONS": "2" }