Python でClaude Compliance のデータを変換・出力するETL 処理を作る方法
Pythonエコシステムには多くのモジュールがあり、システム構築を素早く効率的に行うことができます。本記事では、CData Python Connector for ClaudeCompliance とpetl フレームワークを使って、Claude Compliance のデータにPython から接続してデータを変換、CSV に出力するETL 変換を実装してみます。
CData Python Connector は効率的なデータ処理によりClaude Compliance のデータ にPython から接続し、高いパフォーマンスを発揮します。Claude Compliance にデータをクエリする際、ドライバーはフィルタリング、集計などがサポートされている場合SQL 処理を直接Claude Compliance 側に行わせ、サポートされていないSQL 処理については、組み込みのSQL エンジンによりクライアント側で処理を行います(JOIN やSQL 関数など)。
必要なモジュールのインストール
pip で必要なモジュールおよびフレームワークをインストールします:
pip install petl pip install pandas
Python でClaude Compliance のデータをETL 処理するアプリを構築
モジュールとフレームワークをインストールしたら、ETL アプリケーションを組んでいきます。コードのスニペットは以下の通りです。フルコードは記事の末尾に付いています。
CData Connector を含むモジュールをインポートします。
import petl as etl import pandas as pd import cdata.claudecompliance as mod
接続文字列で接続を確立します。connect 関数を使って、CData Claude Compliance Connector からClaude Compliance への接続を行います
cnxn = mod.connect("APIKey=your_compliance_access_key;")
ドライバーは Compliance Access Key を使用して Claude Compliance に接続します(サポートされている認証方式はこれのみです)。以下の接続プロパティを設定します。
- APIKey:作成した Compliance Access Key。
Compliance Access Key の作成
- 組織で Compliance API を有効にします。
- Primary Owner または Organization Owner として claude.ai にサインインし、Organization settings > API > Keys を開きます。
- Create Key を選択し、連携に必要なスコープのみを割り当てます。
- read:compliance_activities:Activities および各種アクティビティビュー用。
- read:compliance_org_data:組織、ロール、グループ、設定用。
- read:compliance_user_data:ユーザー、チャット、ファイル、プロジェクト、ダウンロード用。
- delete:compliance_user_data:明示的な Delete ストアドプロシージャ用。
- キーを作成し、表示されたらすぐにコピーします。キーは sk-ant-api01- で始まり、一度しか表示されません。
必要に応じて OrganizationUUID を設定すると、組織スコープのビュー(OrganizationUsers や ComplianceRoles など)を、リンクされた特定の 1 組織に限定できます。空欄の場合、これらのビューはデフォルトで最初に利用可能な組織を対象とし、リンクされたすべての組織のデータは含まれません。
Claude Compliance をクエリするSQL 文の作成
Claude Compliance にはSQL でデータアクセスが可能です。Projects エンティティからのデータを読み出します。
sql = "SELECT Id, Name FROM Projects WHERE OrganizationUuid = 'abcdef01-2345-6789-abcd-ef0123456789'"
Claude Compliance データのETL 処理
DataFrame に格納されたクエリ結果を使って、petl でETL(抽出・変換・ロード)パイプラインを組みます。この例では、Claude Compliance のデータ を取得して、Name カラムでデータをソートして、CSV ファイルにデータをロードします。
table1 = etl.fromdb(cnxn,sql) table2 = etl.sort(table1,'Name') etl.tocsv(table2,'projects_data.csv')
CData Python Connector for ClaudeCompliance を使えば、データベースを扱う場合と同感覚で、Claude Compliance のデータ を扱うことができ、petl のようなETL パッケージから直接データにアクセスが可能になります。
おわりに
Claude Compliance Python Connector の30日の無償トライアル をぜひダウンロードして、Claude Compliance のデータ への接続をPython アプリやスクリプトから簡単に作成しましょう。
フルソースコード
import petl as etl
import pandas as pd
import cdata.claudecompliance as mod
cnxn = mod.connect("APIKey=your_compliance_access_key;")
sql = "SELECT Id, Name FROM Projects WHERE OrganizationUuid = 'abcdef01-2345-6789-abcd-ef0123456789'"
table1 = etl.fromdb(cnxn,sql)
table2 = etl.sort(table1,'Name')
etl.tocsv(table2,'projects_data.csv')