Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Lettura da entità ServiceNow
Prerequisito
Un oggetto delle tabelle di ServiceNow da cui si desidera leggere. È necessario il nome dell'oggetto, come pa_bucket o incident.
Esempio:
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" } )
Dettagli dell'entità e del campo di ServiceNow:
Per le seguenti entità, ServiceNow fornisce endpoint per recuperare i metadati in modo dinamico, cosicché il supporto dell'operatore venga acquisito a livello di tipo di dati per ciascuna entità.
| Entità | Tipo di dati | Operatori supportati |
|---|---|---|
| Tabelle (entità dinamiche) | Integer | =, !=, <, <=, >, >=, BETWEEN |
| BigDecimal | =, !=, <, <=, >, >=, BETWEEN | |
| Float | =, !=, <, <=, >, >=, BETWEEN | |
| Long | =, !=, <, <=, >, >=, BETWEEN | |
| Data | =, !=, <, <=, >, >=, BETWEEN | |
| DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| Booleano | =, != | |
| Stringa | =, !=, <, <=, >, >=, BETWEEN, LIKE | |
| Struct | N/D |
Nota
Il tipo di dati Struct viene convertito nel tipo di dati String nella risposta del connettore.
Nota
DML_STATUS è un attributo aggiuntivo definito dall'utente utilizzato per tracciare i record CREATED/UPDATED.
Query di partizionamento
Partizionamento basato sul campo:
È possibile fornire le opzioni Spark aggiuntive PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND e NUM_PARTITIONS se si desidera utilizzare la simultaneità in Spark. Con questi parametri, la query originale viene suddivisa in NUM_PARTITIONS query secondarie che possono essere eseguite contemporaneamente dalle attività Spark.
| Nome dell'entità | Campi di partizionamento | Tipo di dati |
|---|---|---|
| Entità dinamica | sys_mod_count | Numero intero |
| sys_created_on, sys_updated_on | DateTime |
PARTITION_FIELD: il nome del campo da utilizzare per partizionare la query.LOWER_BOUND: un valore limite inferiore inclusivo del campo di partizione scelto.Per il campo Datetime, accettiamo il formato di timestamp Spark utilizzato nelle query SQL di Spark.
Esempi di valori validi:
"2024-01-30T06:47:51.000Z"UPPER_BOUND: un valore limite superiore esclusivo del campo di partizione scelto.NUM_PARTITIONS: il numero di partizioni.
La seguente tabella descrive i dettagli del campo di supporto del partizionamento delle entità:
Esempio:
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" }
Partizionamento basato su record:
È possibile fornire l'opzione Spark aggiuntiva NUM_PARTITIONS se si desidera utilizzare la simultaneità in Spark. Con questo parametro, la query originale viene suddivisa in NUM_PARTITIONS query secondarie che possono essere eseguite contemporaneamente dalle attività Spark.
Nel partizionamento basato su record, l'API di ServiceNow esegue query sul numero totale di record presenti e lo divide per il numero NUM_PARTITIONS fornito. Il numero di record risultante viene quindi recuperato contemporaneamente da ciascuna query secondaria.
NUM_PARTITIONS: il numero di partizioni.
Esempio:
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" }