Lecture à partir d' ServiceNow entités - 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' ServiceNow entités

Prérequis

Un objet ServiceNow Tables que vous souhaitez lire. Vous aurez besoin du nom de l'objet tel que 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" } )

ServiceNow détails de l'entité et du champ :

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 le support des opérateurs soit capturé 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_STATUSest un attribut supplémentaire défini par l'utilisateur utilisé pour le CREATED suivi/ UPDATED les enregistrements.

Requêtes de partitionnement

Partitionnement des bases de terrain :

Vous pouvez fournir les options supplémentaires de Spark PARTITION_FIELDLOWER_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 plusieurs 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 de 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. SPark SQL

    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 relatifs à la prise en charge des champs de partitionnement des 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 fournir 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 plusieurs sous-requêtes qui peuvent ê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é à partir du ServiceNow API, puis divisé par le nombre fourni. NUM_PARTITIONS 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" }