claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialdevelopment

💼aidp-siebel

説明

AIDP の `aidataplatform` Spark フォーマットハンドラーを使用して、AIDP ノートブック内で Oracle Siebel CRM から Spark DataFrame にデータを読み込みます。 次のような場合に使用: ユーザーが Siebel、Siebel CRM、S_CONTACT、S_ORG_EXT について言及している場合、または Siebel のホスト/ポート情報を持っている場合。 認証情報はホスト/ポート、データベース名、ユーザー名/パスワードの組み合わせで行います。 読み取り専用です。

原文を表示

Read from Oracle Siebel CRM into a Spark DataFrame in an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions Siebel, Siebel CRM, S_CONTACT, S_ORG_EXT, or has a Siebel host/port. Auth is host/port + database name + user/password. Read-only.

ユースケース

  • Siebel CRMからデータを読み込むとき
  • AIDP ノートブック内でSparkを使うとき
  • Oracle Siebel のデータを分析するとき

本文(日本語訳)

aidp-siebel — AIDP aidataplatform 経由の Oracle Siebel CRM

使用する場合

  • AIDPノートブックから Siebel CRM のデータ(連絡先、取引先、商談、サービスリクエスト)を Spark DataFrame に取り込みたい場合。
  • ユーザーが「Siebel」「Siebel CRM」「S_CONTACT」「S_ORG_EXT」「S_OPTY」、Siebelベーステーブルについて言及している場合。

使用しない場合

AIDPノートブックの前提条件

  1. sys.path にヘルパーが追加されていること(先に aidp-connectors-bootstrap を実行すること)。
  2. 環境変数 / OCI Vault シークレット:
    • SIEBEL_HOSTSIEBEL_PORT(通常は 1521
    • SIEBEL_DATABASE_NAME(Oracle SID / サービス名)
    • SIEBEL_USERSIEBEL_PASSWORD
    • SIEBEL_SCHEMA(通常は SIEBEL
    • SIEBEL_TABLE(Siebelベーステーブル名。例: S_CONTACTS_ORG_EXT

読み取り

import os
from oracle_ai_data_platform_connectors.aidataplatform import (
    AIDP_FORMAT, aidataplatform_options,
)

opts = aidataplatform_options(
    type="ORACLE_SIEBEL",
    host=os.environ["SIEBEL_HOST"],
    port=int(os.environ["SIEBEL_PORT"]),
    database_name=os.environ["SIEBEL_DATABASE_NAME"],
    user=os.environ["SIEBEL_USER"],
    password=os.environ["SIEBEL_PASSWORD"],
    schema=os.environ.get("SIEBEL_SCHEMA", "SIEBEL"),
    table=os.environ["SIEBEL_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)

プッシュダウン SQL

pushdown.sql を使用すると、完全なソースクエリを実行できます。 ベーステーブル全体を Spark に取り込む代わりに、JOIN・フィルタ・集計処理を Siebel DB 側にプッシュダウンします。

opts = aidataplatform_options(
    type="ORACLE_SIEBEL",
    host=os.environ["SIEBEL_HOST"],
    port=int(os.environ["SIEBEL_PORT"]),
    database_name=os.environ["SIEBEL_DATABASE_NAME"],
    user=os.environ["SIEBEL_USER"],
    password=os.environ["SIEBEL_PASSWORD"],
    extra={
        "pushdown.sql": (
            "SELECT C.ROW_ID, C.LAST_NAME, C.FST_NAME, O.NAME AS ACCOUNT "
            "FROM SIEBEL.S_CONTACT C "
            "JOIN SIEBEL.S_ORG_EXT O ON C.PR_HELD_POSTN_ID = O.ROW_ID "
            "WHERE C.STATUS_CD = 'Active'"
        ),
    },
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)

注意事項

  • コネクターは読み取り専用です。 Siebelデータの書き戻しは Siebel の EAI / REST チャネルを通じて行うべきであり、Spark は使用しません。 このコネクターは意図的に一方向のみの設計となっています。

  • 基盤は Oracle DB です。 Siebel は Oracle DB 上で動作するため、aidp-oracle-db のネットワーク到達性ルールが適用されます。

  • SIEBEL スキーマオーナー。 標準的な Siebel インストールでは、すべてのベーステーブル(S_*)が SIEBEL スキーマ配下に所属します。 コネクター用ユーザーには SELECT 権限が必要です。

  • ソフトデリートカラム。 Siebel はキーとして ROW_ID を、増分取り込みには LAST_UPD を使用します。 差分ロードには pushdown.sqlWHERE LAST_UPD > :since のようにフィルタしてください。

  • 監査カラム。 CREATEDCREATED_BYLAST_UPDLAST_UPD_BY は全行のトリガーによって設定されます。 変更追跡に役立てることができます。

参考資料

原文(English)を表示

aidp-siebel — Oracle Siebel CRM via AIDP aidataplatform

When to use

  • User wants to ingest Siebel CRM data (contacts, accounts, opportunities, service requests) into a Spark DataFrame from an AIDP notebook.
  • User mentions: "Siebel", "Siebel CRM", "S_CONTACT", "S_ORG_EXT", "S_OPTY", Siebel base tables.

When NOT to use

Prerequisites in the AIDP notebook

  1. Helpers on sys.path (run aidp-connectors-bootstrap first).
  2. Env vars / OCI Vault secrets:
    • SIEBEL_HOST, SIEBEL_PORT (typically 1521)
    • SIEBEL_DATABASE_NAME (Oracle SID / service)
    • SIEBEL_USER, SIEBEL_PASSWORD
    • SIEBEL_SCHEMA (typically SIEBEL)
    • SIEBEL_TABLE (a Siebel base table, e.g. S_CONTACT, S_ORG_EXT)

Read

import os
from oracle_ai_data_platform_connectors.aidataplatform import (
    AIDP_FORMAT, aidataplatform_options,
)

opts = aidataplatform_options(
    type="ORACLE_SIEBEL",
    host=os.environ["SIEBEL_HOST"],
    port=int(os.environ["SIEBEL_PORT"]),
    database_name=os.environ["SIEBEL_DATABASE_NAME"],
    user=os.environ["SIEBEL_USER"],
    password=os.environ["SIEBEL_PASSWORD"],
    schema=os.environ.get("SIEBEL_SCHEMA", "SIEBEL"),
    table=os.environ["SIEBEL_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)

Pushdown SQL

Use pushdown.sql to run a complete source query — push joins, filters, and aggregations to the Siebel DB instead of pulling whole base tables into Spark.

opts = aidataplatform_options(
    type="ORACLE_SIEBEL",
    host=os.environ["SIEBEL_HOST"],
    port=int(os.environ["SIEBEL_PORT"]),
    database_name=os.environ["SIEBEL_DATABASE_NAME"],
    user=os.environ["SIEBEL_USER"],
    password=os.environ["SIEBEL_PASSWORD"],
    extra={
        "pushdown.sql": (
            "SELECT C.ROW_ID, C.LAST_NAME, C.FST_NAME, O.NAME AS ACCOUNT "
            "FROM SIEBEL.S_CONTACT C "
            "JOIN SIEBEL.S_ORG_EXT O ON C.PR_HELD_POSTN_ID = O.ROW_ID "
            "WHERE C.STATUS_CD = 'Active'"
        ),
    },
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)

Gotchas

  • Connector is read-only. Siebel data should be written back through Siebel's EAI/REST channels, not Spark. The connector is intentionally one-way.
  • Underlying Oracle DB. Siebel runs on Oracle DB; network reachability rules from aidp-oracle-db apply.
  • SIEBEL schema owner. Standard Siebel install owns all base tables (S_*) under the SIEBEL schema. The connector user needs SELECT privs.
  • Soft-delete columns. Siebel uses ROW_ID keys and LAST_UPD for incremental ingest. Filter with WHERE LAST_UPD > :since via pushdown.sql for delta loads.
  • Audit columns. CREATED, CREATED_BY, LAST_UPD, LAST_UPD_BY are populated by triggers on every row — useful for change tracking.

References

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。