Lecture à partir d’entités Oracle NetSuite - AWS Glue

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 Oracle NetSuite

Prérequis

Un objet Oracle NetSuite à partir duquel vous souhaitez lire. Vous aurez besoin du nom de l’objet, comme deposit ou timebill. Le tableau suivant présente les entités prises en charge.

Entités prises en charge pour la source :

Entité Peut être filtré Order by prise en charge Limit prise en charge SELECT prise en charge* Partitionnement pris en charge
Deposit Oui Non Oui Oui Oui
Description Item Oui Non Oui Oui Oui
Inventory Item Oui Non Oui Oui Oui
Item Fulfillment Oui Non Oui Oui Oui
Item Group Oui Non Oui Oui Oui
Journal Entry Oui Non Oui Oui Oui
Non-Inventory Purchase Item Oui Non Oui Oui Oui
Non-Inventory Resale Item Oui Non Oui Oui Oui
Non-Inventory Sale Item Oui Non Oui Oui Oui
Bon de commande Oui Non Oui Oui Oui
Subsidiary Oui Non Oui Oui Oui
Vendor Oui Non Oui Oui Oui
Vendor Bill Oui Non Oui Oui Oui
Vendor Return Authorization Oui Non Oui Oui Oui
Time Bill Oui Non Oui Oui Oui
Customer Payment Oui Non Oui Oui Oui
Fulfillment Request Oui Non Oui Oui Oui
Élément Oui Oui Oui Oui Oui
Transaction Line Oui Oui Oui Oui Oui
Transaction Accounting Line Oui Oui Oui Oui Oui
Custom Record Types (Dynamic) Oui Oui Oui Oui Oui

Exemple :

netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1" } )

Détails des entités et des champs Oracle NetSuite :

Oracle NetSuite charge dynamiquement les champs disponibles sous l’entité sélectionnée. Les opérateurs de filtrage suivants sont pris en charge en fonction du type de données du champ.

Type de données de champs Opérateurs de filtre pris en charge
Chaîne LIKE, =, !=
Date BETWEEN, =, <, <=, >, >=
DateTime BETWEEN, <, <=, >, >=
Numérique =, !=, <, <=, >, >=
Booléen =, !=

Format de saisie attendu pour les valeurs booléennes dans Expression de filtre :

Entité Format de valeur booléenne « true » Format de valeur booléenne « false » exemple
Entités Item, Transaction Line, Transaction Accounting Line, and Custom Record Type T ou t F ou f isinactive = "T" ou isinactive = "t"
Toutes les autres entités vrai false isinactive = true

Requêtes de partitionnement

Partitionnement basé sur les champs

Le connecteur Oracle NetSuite possède des métadonnées dynamiques afin que les champs pris en charge pour le partitionnement basé sur les champs soient choisis de manière dynamique. Le partitionnement basé sur les champs est pris en charge pour les champs de type Integer, BigInteger, Date ou DateTime.

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.

  • 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 Timestamp, nous acceptons le format d’horodatage Spark utilisé dans les requêtes SQL Spark.

    Exemples de valeurs valides :

    "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 : une valeur limite supérieure exclusive du champ de partition choisi.

  • NUM_PARTITIONS : le nombre de partitions.

Exemple :

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

Partitionnement basé sur les 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 serait 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é à partir de l’API Oracle NetSuite, 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 :

netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1", "NUM_PARTITIONS": "3" }