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