Lettura da entità ServiceNow - AWS Glue

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