Lesen aus Oracle-NetSuite-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 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" }