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