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 Oracle-NetSuite-Entitäten
Voraussetzung
Ein Oracle-NetSuite-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie deposit oder timebill. Die folgende Tabelle zeigt die unterstützten Entitäten.
Unterstützte Entitäten für Quelle:
| Entität | Kann gefiltert werden | Unterstützt „Sortieren nach“ | Unterstützt Limit | Unterstützt „* SELECT“ | Unterstützt Partitionierung |
|---|---|---|---|---|---|
| Einzahlung | Ja | Nein | Ja | Ja | Ja |
| Beschreibung Artikel | Ja | Nein | Ja | Ja | Ja |
| Bestandsartikel | Ja | Nein | Ja | Ja | Ja |
| Artikelbereitstellung | Ja | Nein | Ja | Ja | Ja |
| Artikelgruppe | Ja | Nein | Ja | Ja | Ja |
| Journaleintrag | Ja | Nein | Ja | Ja | Ja |
| Nicht zum Bestand gehörender Kaufartikel | Ja | Nein | Ja | Ja | Ja |
| Nicht zum Bestand gehörender Wiederverkaufsartikel | Ja | Nein | Ja | Ja | Ja |
| Nicht zum Bestand gehörender Verkaufsartikel | Ja | Nein | Ja | Ja | Ja |
| Bestellungen | Ja | Nein | Ja | Ja | Ja |
| Niederlassung | Ja | Nein | Ja | Ja | Ja |
| Hersteller | Ja | Nein | Ja | Ja | Ja |
| Lieferantenrechnung | Ja | Nein | Ja | Ja | Ja |
| Rücksendegenehmigung für Lieferanten | Ja | Nein | Ja | Ja | Ja |
| Zeitrechnung | Ja | Nein | Ja | Ja | Ja |
| Kundenzahlung | Ja | Nein | Ja | Ja | Ja |
| Erfüllungsanfrage | Ja | Nein | Ja | Ja | Ja |
| Item | Ja | Ja | Ja | Ja | Ja |
| Transaktionsposition | Ja | Ja | Ja | Ja | Ja |
| Transaktionsbuchhaltungsposition | Ja | Ja | Ja | Ja | Ja |
| Benutzerdefinierte Datensatztypen (dynamisch) | Ja | Ja | Ja | Ja | Ja |
Beispiel:
netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1" } )
Oracle-NetSuite-Entitäts- und Felddetails:
Oracle NetSuite lädt die verfügbaren Felder dynamisch unter der ausgewählten Entität. Je nach Datentyp des Felds werden die folgenden Filteroperatoren unterstützt.
| Felddatentyp | Unterstützte Filteroperatoren |
|---|---|
| String | LIKE, =, != |
| Datum | BETWEEN, =, <, <=, >, >= |
| DateTime | BETWEEN, <, <=, >, >= |
| Numerischer Wert | =, !=, <, <=, >, >= |
| Boolesch | =, != |
Erwartetes Eingabeformat für boolesche Werte im Filterausdruck:
| Entität | Boolesches Wertformat „wahr“ | Boolesches Wertformat „falsch“ | Beispiel |
|---|---|---|---|
| Entitäten vom Typ „Artikel“, „Transaktionsposition“, „Transaktionsbuchhaltungsposition“ und „Benutzerdefinierter Datensatz“ | T oder t | F oder f | isinactive = „T“ oder isinactive = „t“ |
| Alle anderen Entitäten | true | false | isinactive = true |
Partitionieren von Abfragen
Feldbasierte Partitionierung
Der Oracle-NetSuite-Connector verfügt über dynamische Metadaten, sodass unterstützte Felder für die feldbasierte Partitionierung dynamisch ausgewählt werden. Die feldbasierte Partitionierung wird für Felder mit dem Datentyp „Integer“, „BigInteger“, „Date“ oder „DateTime“ unterstützt.
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.
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 Timestamp-Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.
Beispiele für gültige Werte:
"TIMESTAMP \"1707256978123\"" "TIMESTAMP \"1702600882\"" "TIMESTAMP '2024-02-06T22:00:00:00.000Z'" "TIMESTAMP '2024-02-06T22:00:00:00Z'" "TIMESTAMP '2024-02-06'"UPPER_BOUND: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds.NUM_PARTITIONS: die Anzahl der Partitionen.
Beispiel:
netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1", "PARTITION_FIELD": "id", "LOWER_BOUND": "1", "UPPER_BOUND": "10000", "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 würde 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 Oracle-NetSuite-API abgefragt und durch die angegebene Anzahl NUM_PARTITIONS dividiert. Die resultierende Anzahl von Datensätzen wird dann gleichzeitig von jeder Unterabfrage abgerufen.
NUM_PARTITIONS: die Anzahl der Partitionen.
Beispiel:
netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1", "NUM_PARTITIONS": "3" }