Lecture à partir d’entités ServiceNow - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Lecture à partir d’entités ServiceNow

Prérequis

Un objet de tables ServiceNow à partir duquel vous souhaitez lire. Vous aurez besoin du nom de l’objet, comme pa_bucket ou incident.

Exemple :

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

Détails des entités et des champs ServiceNow :

Pour les entités suivantes, ServiceNow fournit des points de terminaison permettant de récupérer les métadonnées de manière dynamique, afin que la prise en charge des opérateurs soit capturée au niveau du type de données pour chaque entité.

Entité Type de données Opérateurs pris en charge
Tables (entités dynamiques) Entier =, !=, <, <=, >, >=, BETWEEN
BigDecimal =, !=, <, <=, >, >=, BETWEEN
Float =, !=, <, <=, >, >=, BETWEEN
Long =, !=, <, <=, >, >=, BETWEEN
Date =, !=, <, <=, >, >=, BETWEEN
DateTime =, !=, <, <=, >, >=, BETWEEN
Booléen =, !=
Chaîne =, !=, <, <=, >, >=, BETWEEN, LIKE
Struct N/A
Note

Le type de données Struct est converti en type de données String dans la réponse du connecteur.

Note

DML_STATUS est un attribut supplémentaire défini par l’utilisateur utilisé pour le suivi des enregistrements CREATED/UPDATED.

Requêtes de partitionnement

Partitionnement basé sur les champs :

Vous pouvez indiquer les options Spark supplémentaires PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND et NUM_PARTITIONS si vous souhaitez utiliser la simultanéité dans Spark. Avec ces paramètres, la requête d’origine serait divisée en NUM_PARTITIONS nombres de sous-requêtes pouvant être exécutées simultanément par les tâches Spark.

Nom de l’entité Champs de partitionnement Type de données
Entité dynamique sys_mod_count Entier
sys_created_on, sys_updated_on DateTime
  • PARTITION_FIELD : le nom du champ à utiliser pour partitionner la requête.

  • LOWER_BOUND : une valeur limite inférieure inclusive du champ de partition choisi.

    Pour le champ Datetime, nous acceptons le format d’horodatage Spark utilisé dans les requêtes SQL Spark.

    Exemples de valeurs valides :

    "2024-01-30T06:47:51.000Z"
  • UPPER_BOUND : une valeur limite supérieure exclusive du champ de partition choisi.

  • NUM_PARTITIONS : le nombre de partitions.

Le tableau suivant décrit les détails de prise en charge dans les champs de partitionnement d’entités :

Exemple :

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

Partitionnement basé sur des enregistrements :

Vous pouvez indiquer l’option Spark supplémentaire NUM_PARTITIONS si vous souhaitez utiliser la simultanéité dans Spark. Avec ce paramètre, la requête d’origine est divisée en NUM_PARTITIONS nombres de sous-requêtes pouvant être exécutées simultanément par les tâches Spark.

Dans le partitionnement basé sur les enregistrements, le nombre total d’enregistrements présents est demandé par l’API ServiceNow, puis divisé par le nombre NUM_PARTITIONS fourni. Le nombre d’enregistrements qui en résulte est ensuite extrait simultanément par chaque sous-requête.

  • NUM_PARTITIONS : le nombre de partitions.

Exemple :

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