CData SSIS Components を使用して Claude Compliance のデータを Snowflake にマイグレーション

Cameron Leblanc
Cameron Leblanc
Senior Technology Evangelist
CData SSIS Tasks for Claude Compliance と Snowflake を使用して、Claude Compliance のデータを Snowflake に簡単にプッシュできます。



Snowflake は、エンタープライズ BI、分析、データ管理、ガバナンスの取り組みで広く利用されている先進的なクラウドデータウェアハウスです。Snowflake は、データ共有、リアルタイムデータ処理、安全なデータストレージなどの機能を提供しており、クラウドデータ統合の一般的な選択肢となっています。

CData SSIS Components は、SQL Server Integration Services を拡張し、さまざまなソースやデスティネーションからデータを簡単にインポート・エクスポートできるようにします。

この記事では、Snowflake へのエクスポート時のデータ型マッピングの考慮事項を確認し、CData SSIS Components for Claude Compliance と Snowflake を使用してClaude Compliance のデータを Snowflake にマイグレーションする方法を説明します。

データ型マッピング

Snowflake スキーマ CData スキーマ

NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, TINYINT, BYTEINT

decimal

DOUBLE, FLOAT, FLOAT4, FLOAT8, DOUBLEPRECISION, REAL

real

VARCHAR, CHAR, STRING, TEXT, VARIANT, OBJECT, ARRAY, GEOGRAPHY

varchar

BINARY, VARBINARY

binary

BOOLEAN

bool

DATE

date

DATETIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ

datetime

TIME

time

特別な考慮事項

  • 大文字小文字の区別: Snowflake はデフォルトで識別子の大文字小文字を厳密に一致させるため、大文字小文字の不一致に起因する問題が発生することがよくあります。これらの問題を解決するには、CData SSIS Components for Snowflake 接続で IgnoreCase プロパティを True に設定します。このプロパティは、Snowflake の QUOTED_IDENTIFIERS_IGNORE_CASE プロパティに直接マッピングされ、Snowflake が識別子を大文字小文字を区別するかどうかを指定します。
  • タイムスタンプ: Snowflake は 3 つのタイムスタンプ型をサポートしています:

    • TIMESTAMP_NTZ: このタイムスタンプは、指定された精度で UTC 時刻を格納します。ただし、すべての操作は、TIMEZONE セッションパラメータで制御される現在のセッションのタイムゾーンで実行されます。
    • TIMESTAMP_LTZ: このタイムスタンプは、指定された精度で「壁時計」時刻を格納します。すべての操作は、タイムゾーンを考慮せずに実行されます。
    • TIMESTAMP_TZ: このタイムスタンプは、関連するタイムゾーンオフセットとともに UTC 時刻を格納します。タイムゾーンが指定されていない場合、セッションのタイムゾーンオフセットが使用されます。

    デフォルトでは、CData SSIS Components は手動で設定しない限り、タイムスタンプを TIMESTAMP_NTZ として Snowflake に書き込みます。

前提条件

プロジェクトの作成とコンポーネントの追加

  1. Visual Studio を開き、新しい Integration Services プロジェクトを作成します。 SSIS プロジェクトの作成
  2. Control Flow 画面に新しい Data Flow Task を追加し、Data Flow Task を開きます。
  3. Data Flow Task に CData Claude Compliance Source コントロールと CData Snowflake Destination コントロールを追加します。 ソースとデスティネーションコントロールの追加(Salesforce の例)

Claude Compliance ソースの設定

以下の手順に従って、Claude Compliance への接続に必要なプロパティを指定します。

  1. CData Claude Compliance Source をダブルクリックしてソースコンポーネントエディタを開き、新しい接続を追加します。 ソースコンポーネントエディタを開く(Salesforce の例)
  2. CData Claude Compliance Connection Manager で接続プロパティを設定し、接続をテストして保存します。

    ドライバーは Compliance Access Key を使用して Claude Compliance に接続します(サポートされている認証方式はこれのみです)。以下の接続プロパティを設定します。

    • APIKey:作成した Compliance Access Key。

    Compliance Access Key の作成

    1. 組織で Compliance API を有効にします。
    2. Primary Owner または Organization Owner として claude.ai にサインインし、Organization settings > API > Keys を開きます。
    3. Create Key を選択し、連携に必要なスコープのみを割り当てます。
      • read:compliance_activities:Activities および各種アクティビティビュー用。
      • read:compliance_org_data:組織、ロール、グループ、設定用。
      • read:compliance_user_data:ユーザー、チャット、ファイル、プロジェクト、ダウンロード用。
      • delete:compliance_user_data:明示的な Delete ストアドプロシージャ用。
    4. キーを作成し、表示されたらすぐにコピーします。キーは sk-ant-api01- で始まり、一度しか表示されません。

    必要に応じて OrganizationUUID を設定すると、組織スコープのビュー(OrganizationUsers や ComplianceRoles など)を、リンクされた特定の 1 組織に限定できます。空欄の場合、これらのビューはデフォルトで最初に利用可能な組織を対象とし、リンクされたすべての組織のデータは含まれません。

    ソース接続の設定(Salesforce の例)
  3. 接続を保存後、「Table or view」を選択し、Snowflake にエクスポートするテーブルまたはビューを選択して、CData Claude Compliance Source Editor を閉じます。 エクスポートするテーブルの選択(Salesforce の例)

Snowflake デスティネーションの設定

Claude Compliance Source を設定したら、Snowflake 接続を設定してカラムをマッピングします。

  1. CData Snowflake Destination をダブルクリックしてデスティネーションコンポーネントエディタを開き、新しい接続を追加します。 デスティネーションコンポーネントエディタを開く
  2. CData Snowflake Connection Manager で接続プロパティを設定し、接続をテストして保存します。
    • コンポーネントは、Snowflake ユーザー認証、フェデレーション認証、SSL クライアント認証をサポートしています。認証するには、User と Password を設定し、AuthScheme プロパティで認証方法を選択します。Snowflake の bundle 2024_08(2024 年 10 月)を使用して作成されたアカウントからは、セキュリティ上の懸念からパスワードベースの認証がサポートされなくなりました。代わりに、OAuth や秘密鍵認証などの代替認証方法を使用してください。

    その他の便利な接続プロパティ

    • QueryPassthrough: True に設定すると、クエリは Snowflake に直接渡されます。
    • ConvertDateTimetoGMT: True に設定すると、コンポーネントはローカルマシンの時刻ではなく、日時値を GMT に変換します。
    • IgnoreCase: Snowflake が識別子を大文字小文字を区別するかどうかを指定するセッションパラメータです。デフォルト:false(大文字小文字を区別する)。
    • BindingType: DEFAULT と TEXT の 2 種類のバインディングタイプがあります。DEFAULT は、Date 型に DATE、Time 型に TIME、Timestamp_* 型に TIMESTAMP_* のバインディングタイプを使用します。TEXT は、Date、Time、Timestamp_* 型に TEXT のバインディングタイプを使用します。
    デスティネーション接続の設定
  3. 接続を保存後、Use a Table メニューでテーブルを選択し、Action メニューで Insert を選択します。 デスティネーションテーブルの選択
  4. Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します。 カラムのマッピング(Salesforce の例)

プロジェクトの実行

これでプロジェクトを実行できます。SSIS Task の実行が完了すると、SQL テーブルのデータが選択したテーブルにエクスポートされます。

はじめる準備はできましたか?

Claude Compliance SSIS Component の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Claude Compliance Icon Claude Compliance SSIS Components

SSIS ソースコンポーネントは、SQL Server SSIS のワークフロー内で簡単にClaude Compliance データにリアルタイム接続できるパワフルなツールです。

データフロー内のClaude Compliance コンポーネントを使ってActivities、Chats、ChatMessages、CodeArtifacts、ComplianceRoles、Organizations、OrganizationUsers、Projects などを同期できます。データ同期、ローカルバックアップ、ワークフローの自動化などに最適!