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