Node.js で Claude Compliance のデータを MySQL データベースとしてクエリ
Claude Compliance 用の ODBC Driver の SQL Gateway を使用すると、MySQL インターフェース経由でClaude Compliance のデータをクエリできます。以下の手順に従って、SQL Gateway の MySQL リモーティングサービスを起動し、Node.js からクエリを開始してください。
Claude Compliance のデータに接続
まだ行っていない場合は、データソース名(DSN)で必要な接続プロパティの値を指定してください。組み込みの Microsoft ODBC データソースアドミニストレーターを使用して DSN を設定できます。これはドライバーインストールの最後のステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して DSN を作成・設定する方法については、ヘルプドキュメントの「はじめに」の章を参照してください。
ドライバーは 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 組織に限定できます。空欄の場合、これらのビューはデフォルトで最初に利用可能な組織を対象とし、リンクされたすべての組織のデータは含まれません。
SQL Gateway を設定
SQL Gateway 概要を参照して、Claude Compliance のデータ を仮想 MySQL データベースとして接続を設定してください。クライアントからの MySQL リクエストをリッスンする MySQL リモーティングサービスを設定します。サービスは SQL Gateway UI で設定できます。

Node.js から Claude Compliance をクエリ
以下の例では、mysql モジュールを使用して Claude Compliance への接続を定義し、クエリを実行する方法を示しています。以下の情報が必要です。
- ホスト名またはアドレス、およびポート:MySQL リモーティングサービスが MySQL 接続をリッスンしているマシンとポート
- ユーザー名とパスワード:SQL Gateway の Users タブで認証したユーザーのユーザー名とパスワード
- データベース名:MySQL リモーティングサービス用に設定した DSN
以下のコードでClaude Compliance のデータに接続し、クエリの実行を開始できます。
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
database : 'CData ClaudeCompliance Sys',
port : '3306',
user : 'mysql_user',
password : 'test'
});
connection.connect();
connection.query('SELECT * FROM Projects', function(err, rows, fields) {
if (err) throw err;
console.log(rows);
});
connection.end();