Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Lettura da NetSuite entità Oracle
Prerequisito
Un  NetSuite  oggetto Oracle da cui desideri leggere. Avrai bisogno del nome dell'oggetto, ad esempio deposit otimebill. La tabella seguente mostra le entità supportate.
Entità supportate per l'origine:
| Entità | Può essere filtrato | Supporta Order By | Supporta Limit | Supporta SELECT * | Supporta il partizionamento | 
|---|---|---|---|---|---|
| Deposito | Sì | No | Sì | Sì | Sì | 
| Descrizione Articolo | Sì | No | Sì | Sì | Sì | 
| Articolo di inventario | Sì | No | Sì | Sì | Sì | 
| Adempimento dell'articolo | Sì | No | Sì | Sì | Sì | 
| Gruppo di articoli | Sì | No | Sì | Sì | Sì | 
| Voce nel diario | Sì | No | Sì | Sì | Sì | 
| Articolo di acquisto non in inventario | Sì | No | Sì | Sì | Sì | 
| Articolo di rivendita non in inventario | Sì | No | Sì | Sì | Sì | 
| Articolo in vendita non in inventario | Sì | No | Sì | Sì | Sì | 
| Ordine di acquisto | Sì | No | Sì | Sì | Sì | 
| Filiale | Sì | No | Sì | Sì | Sì | 
| Vendor | Sì | No | Sì | Sì | Sì | 
| Proposta di legge del fornitore | Sì | No | Sì | Sì | Sì | 
| Autorizzazione alla restituzione del fornitore | Sì | No | Sì | Sì | Sì | 
| Time Bill | Sì | No | Sì | Sì | Sì | 
| Pagamento del cliente | Sì | No | Sì | Sì | Sì | 
| Richiesta di adempimento | Sì | No | Sì | Sì | Sì | 
| Elemento | Sì | Sì | Sì | Sì | Sì | 
| Linea di transazione | Sì | Sì | Sì | Sì | Sì | 
| Linea di contabilità delle transazioni | Sì | Sì | Sì | Sì | Sì | 
| Tipi di record personalizzati (dinamici) | Sì | Sì | Sì | Sì | Sì | 
Esempio:
netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1" } )
Dettagli NetSuite dell'entità e dei campi Oracle:
Oracle carica NetSuite dinamicamente i campi disponibili nell'entità selezionata. A seconda del tipo di dati del campo, supporta i seguenti operatori di filtro.
| Tipo di dati del campo | Operatori di filtro supportati | 
|---|---|
| Stringa | COME, =,! = | 
| Data | TRA, =, <, <=, >, >= | 
| DateTime | TRA, <, <=, >, >= | 
| Numerico | =, !=, <, <=, >, >= | 
| Booleano | =, != | 
Formato di input previsto per i valori booleani in Filter Expression:
| Entità | Formato di valore booleano «vero» | Formato di valore booleano «falso» | Esempio | 
|---|---|---|---|
| Entità Articolo, riga di transazione, riga contabile delle transazioni e tipo di record personalizzato | T o t | F o f | isinactive = «T» o isinactive = «t» | 
| Tutte le altre entità | true | false | isinactive = true | 
Interrogazioni di partizionamento
Partizionamento basato sul campo
Il NetSuite connettore Oracle dispone di metadati dinamici in modo che i campi supportati per il partizionamento basato sui campi vengano scelti dinamicamente. Il partizionamento basato sui campi è supportato nei campi con il tipo di dati Integer, Date o. BigInteger DateTime
Puoi fornire le opzioni Spark aggiuntive ePARTITION_FIELD, NUM_PARTITIONS se desideri LOWER_BOUNDUPPER_BOUND, utilizzare la concorrenza in Spark. Con questi parametri, la query originale verrebbe suddivisa in un NUM_PARTITIONS numero di sottoquery che possono essere eseguite contemporaneamente dalle attività Spark.
- PARTITION_FIELD: il nome del campo da utilizzare per partizionare la query.
- LOWER_BOUND: un valore limite inferiore inclusivo del campo di partizione scelto.- Per il campo timestamp, accettiamo il formato di timestamp Spark utilizzato nelle query SQL di Spark. - Esempi di valori validi: - "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: un valore limite superiore esclusivo del campo di partizione scelto.
- NUM_PARTITIONS: il numero di partizioni.
Esempio:
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" }
Partizionamento basato su record
Puoi fornire l'opzione Spark aggiuntiva NUM_PARTITIONS se desideri utilizzare la concorrenza in Spark. Con questo parametro, la query originale verrebbe suddivisa in un NUM_PARTITIONS numero di sottoquery che possono essere eseguite contemporaneamente dalle attività Spark.
Nel partizionamento basato sui record, il numero totale di record presenti viene interrogato dall' NetSuite API Oracle e diviso per il NUM_PARTITIONS numero fornito, il numero di record risultante viene quindi recuperato contemporaneamente da ciascuna sottoquery.
- NUM_PARTITIONS: il numero di partizioni.
Esempio:
netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1", "NUM_PARTITIONS": "3" }