<< All versions
Skill v1.0.0
currentLLM-judged scan90/100gutsofpratik/horizon-skills/source-149bd0ae87307cf4d6c66083
──Details
PublishedOctober 22, 2026 at 12:40 PM
Content Hashsha256:584bcae4e01d11e1...
Git SHA382d70c540c6
──Files
Files (1 file, 3.2 KB)
SKILL.md3.2 KBactive
SKILL.md · 88 lines · 3.2 KB
version: "1.0.0" name: aidp-netsuite description: Read NetSuite SuiteAnalytics Connect data from an AIDP notebook through the AIDP aidataplatform Spark format handler. Use when the user mentions NetSuite, SuiteAnalytics Connect, ns.account.id, ns.role.id, or ns.access.token. Supports username/password or OAuth access-token authentication. Read-only. allowed-tools: Read, Write, Edit, Bash
aidp-netsuite — NetSuite SuiteAnalytics Connect via AIDP aidataplatform
Use the built-in NETSUITE connector for read-only SuiteAnalytics Connect ingestion. It supports either username/password authentication or a fresh OAuth 2.0 access token.
When to use
- Read NetSuite data through SuiteAnalytics Connect from an AIDP notebook.
- Mentioned: "NetSuite", "SuiteAnalytics Connect",
ns.account.id,ns.role.id, orns.access.token.
When NOT to use
- For NetSuite RESTlets or SuiteTalk REST APIs, use a REST-specific integration rather than this JDBC-style connector.
- For NetSuite writes, explain that the AIDP 4.0 NetSuite connector is read-only.
Username and password read
python
import osfrom oracle_ai_data_platform_connectors.aidataplatform import (AIDP_FORMAT, aidataplatform_options,)opts = aidataplatform_options(type="NETSUITE",host=os.environ["NETSUITE_HOST"],port=int(os.environ["NETSUITE_PORT"]),user=os.environ["NETSUITE_USER"],password=os.environ["NETSUITE_PASSWORD"],schema=os.environ["NETSUITE_SCHEMA"],table=os.environ["NETSUITE_TABLE"],extra={"ns.account.id": os.environ["NETSUITE_ACCOUNT_ID"],"ns.role.id": os.environ["NETSUITE_ROLE_ID"],},)df = spark.read.format(AIDP_FORMAT).options(**opts).load()df.show(10)
OAuth access-token read
Use ns.access.token instead of user.name and password. Keep the access token in an environment variable or secret manager; never hard-code it in a notebook.
python
token_opts = aidataplatform_options(type="NETSUITE",host=os.environ["NETSUITE_HOST"],port=int(os.environ["NETSUITE_PORT"]),schema=os.environ["NETSUITE_SCHEMA"],table=os.environ["NETSUITE_TABLE"],extra={"ns.account.id": os.environ["NETSUITE_ACCOUNT_ID"],"ns.role.id": os.environ["NETSUITE_ROLE_ID"],"ns.access.token": os.environ["NETSUITE_ACCESS_TOKEN"],},)df = spark.read.format(AIDP_FORMAT).options(**token_opts).load()df.show(10)
Pushdown SQL
python
pushdown_df = (spark.read.format(AIDP_FORMAT).options(**token_opts).option("pushdown.sql", "SELECT * FROM <SCHEMA>.<TABLE_NAME> WHERE <COLUMN_NAME> = '<VALUE>'").load())pushdown_df.show(10)
Gotchas
- Read-only in 4.0. Do not generate
df.write,saveAsTable,insertInto, orwrite.modeexamples. - Choose one authentication mode. Use either
user.name/passwordorns.access.token, not both. - Token freshness matters. Refresh
ns.access.tokenbefore it expires. - SuiteAnalytics Connect access is required. The account and role must be entitled to the schemas and tables requested.
References
- Official sample: NetSuite notebook