Lesen aus ServiceNow-Entitäten - AWS Glue

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Lesen aus ServiceNow-Entitäten

Voraussetzung

Ein ServiceNow-Tabellenobjekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie „pa_bucket“ oder „incident“.

Beispiel:

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-Entitäts- und Felddetails:

Für die folgenden Entitäten stellt ServiceNow Endpunkte zum dynamischen Abrufen von Metadaten bereit, sodass die Operatorunterstützung auf Datentypebene für jede Entität erfasst wird.

Entität Datentyp Unterstützte Operatoren
Tabellen (dynamische Entitäten) Ganzzahl =, !=, >, >=, <, <=, BETWEEN
BigDecimal =, !=, >, >=, <, <=, BETWEEN
Gleitkommazahl =, !=, >, >=, <, <=, BETWEEN
Long =, !=, >, >=, <, <=, BETWEEN
Datum =, !=, >, >=, <, <=, BETWEEN
DateTime =, !=, >, >=, <, <=, BETWEEN
Boolesch =, !=
String =, !=, >, >=, <, <=, BETWEEN, LIKE
Struct N/A
Anmerkung

Der Datentyp Struktur wird in der Antwort des Connectors in einen Zeichenfolge-Datentyp konvertiert.

Anmerkung

DML_STATUS ist ein zusätzliches benutzerdefiniertes Attribut, das für die Nachverfolgung von CREATED/UPDATED-Datensätzen verwendet wird.

Partitionieren von Abfragen

Feldbasierte Partitionierung:

Sie können die zusätzlichen Spark-Optionen PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND und NUM_PARTITIONS angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern wird die ursprüngliche Abfrage in NUM_PARTITIONS Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.

Entity-Name Partitionieren von Feldern Datentyp
Dynamische Entität sys_mod_count Ganzzahl
sys_created_on, sys_updated_on DateTime
  • PARTITION_FIELD: der Name des Feldes, das zur Partitionierung der Abfrage verwendet werden soll.

  • LOWER_BOUND: ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds.

    Für das DateTime-Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.

    Beispiele für gültigen Wert:

    "2024-01-30T06:47:51.000Z"
  • UPPER_BOUND: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds.

  • NUM_PARTITIONS: die Anzahl der Partitionen.

In der folgenden Tabelle sind Details zur Unterstützung der Partitionierung von Entitäten beschrieben:

Beispiel:

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

Datensatzbasierte Partitionierung:

Sie können die zusätzlichen Spark-Option NUM_PARTITIONS angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesem Parameter wird die ursprüngliche Abfrage in NUM_PARTITIONS Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.

Bei der datensatzbasierten Partitionierung wird die Gesamtzahl der vorhandenen Datensätze von der ServiceNow-API abgefragt und durch die angegebene NUM_PARTITIONS-Anzahl dividiert. Die resultierende Anzahl von Datensätzen wird dann gleichzeitig von jeder Unterabfrage abgerufen.

  • NUM_PARTITIONS: die Anzahl der Partitionen.

Beispiel:

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