Skip to main content

aidp-fusion-rest

Pull data from Oracle Fusion ERP / HCM / SCM REST APIs into a Spark DataFrame from an AIDP notebook. Use when the user mentions Fusion ERP, Fusion REST API, FA REST, Cloud ERP, or wants live data from a Fusion pod. HTTP Basic auth only. For volumes >499 rows/page or bulk extracts, route to aidp-fusion-bicc.

Zur Installation springen

Quellinformationen

Repository
oracle-samples/oracle-aidp-samples
Letzte Quellaktivität
26. Juni 2026 um 15:45
Erkannte Sprache von SKILL.md
Englisch
Sterne
46
Forks
30

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
aidp-fusion-rest
description
Pull data from Oracle Fusion ERP / HCM / SCM REST APIs into a Spark DataFrame from an AIDP notebook. Use when the user mentions Fusion ERP, Fusion REST API, FA REST, Cloud ERP, or wants live data from a Fusion pod. HTTP Basic auth only. For volumes >499 rows/page or bulk extracts, route to aidp-fusion-bicc.
allowed-tools
Read, Write, Edit, Bash
# `aidp-fusion-rest` — Fusion ERP / HCM / SCM REST → Spark ## When to use - User wants to pull a small-to-medium volume of records from Fusion REST APIs (`/fscmRestApi/`, `/hcmRestApi/`, etc.) into a Spark DataFrame. - User mentions: "Fusion ERP", "Fusion REST", "FA REST", "Cloud ERP API". - Total expected rows fit comfortably in memory (≤ ~50k); for >499 rows the helper auto-pages, but for bulk → BICC is faster. ## When NOT to use - For **bulk extracts** (>50k rows, daily snapshots) → use [`aidp-fusion-bicc`](../aidp-fusion-bicc/SKILL.md). Fusion's REST surface is hard-capped at 499 rows/page (MOS Doc ID 2429019.1) — pulling millions paginated is slow. - For EPM Cloud Planning → use [`aidp-epm-cloud`](../aidp-epm-cloud/SKILL.md). - For Essbase MDX → use [`aidp-essbase`](../aidp-essbase/SKILL.md). ## Prerequisites in the AIDP notebook 1. `pip install requests pandas` (usually already on the cluster). 2. Helpers on `sys.path`. 3. Fusion pod URL + HTTP Basic credentials. ## Auth: HTTP Basic ```python import os from oracle_ai_data_platform_connectors.auth import http_basic_session from oracle_ai_data_platform_connectors.rest.fusion import ( fetch_paged, rows_to_spark_dataframe, ) session = http_basic_session( username=os.environ["FUSION_USER"], password=os.environ["FUSION_PASSWORD"], base_url=os.environ["FUSION_BASE_URL"], ) rows = fetch_paged( session=session, base_url=os.environ["FUSION_BASE_URL"], path="/fscmRestApi/resources/11.13.18.05/invoices", fields="InvoiceId,InvoiceNumber,InvoiceAmount,InvoiceDate", extra_params={"q": "InvoiceDate >= '2026-01-01'"}, ) df = rows_to_spark_dataframe(spark, rows) df.show(5) print("rows:", df.count()) ``` ## Gotchas - **499 row/page hard cap** — Fusion silently truncates `limit=500+` to 499. Helper enforces this automatically. - **`onlyData=true`** — helper sets this so only the actual fields come back, not Fusion's HATEOAS link envelope. Saves bandwidth. - **`q=` filter syntax** is Fusion-specific (`q=InvoiceDate >= '2026-01-01' AND Status = 'PAID'`). Quote string values in single quotes. - **Nested struct columns** — Fusion responses contain nested objects (links, addresses). `rows_to_spark_dataframe()` defaults to `mode="json_string"` which packs each row into a single `row_json` column. Use `from_json` downstream to project specific fields. - **Network** — Fusion pods are public (`*.fa.<region>.oraclecloud.com`); no AIDP VCN routing needed. ## References - Helpers: [scripts/oracle_ai_data_platform_connectors/rest/fusion.py](../../scripts/oracle_ai_data_platform_connectors/rest/fusion.py) - Auth helpers: [scripts/oracle_ai_data_platform_connectors/auth/user_principal.py](../../scripts/oracle_ai_data_platform_connectors/auth/user_principal.py) - Fusion REST API catalog: https://docs.oracle.com/en/cloud/saas/applications-common/24a/farws/index.html
Auf GitHub ansehen