データ提供の仕様¶
プロバイダーが分析実行者と共有するテーブルのセットと、ポリシー、列形式、テーブルをテンプレートと併用する必要があるかどうかなどの共有ルールを定義します。
データプロバイダーは、REGISTER_DATA_OFFERINGを呼び出してこの定義を送信します。これによって、コラボレーション仕様で使用可能なサービスIDが返されます。
データ提供を登録したアカウントがコラボレーションに参加するまで、コラボレーションでデータ提供機能を利用できません。
データをアクティブ化できるコラボレーションに参加するための REGISTER DATA OFFERING アカウント権限を付与されている必要があります。つまり、ご自身は分析実行者であり、コラボレーション仕様に activation_destinations フィールドが含まれています。詳細については、アクセス管理 API リファレンスガイド をご参照ください。
スキーマ:
api_version使用するコラボレーション API のバージョン。
2.0.0である必要があります。spec_type仕様タイプ識別子。
data_offeringである必要があります。name: data_offering_nameコラボレーターに公開するテーブルと列のセットの名前。この名前は、コラボレーション仕様のデータサービス参照値として使用されます。異なるユースケースのために、テーブルと列が重複する複数のデータ提供機能を作成できます。最大75文字で、Snowflakeデータクリーンルームアカウント内で一意である Snowflake識別子ルール に従う必要があります。
name_versionペアは、このアカウントのすべてのデータ提供に対して一意である必要があります。versionこのデータ提供仕様のカスタムバージョン識別子(最大20文字)。Snowflake識別子ルール に従う必要があります。バージョン文字列には、VIEW_DATA_OFFERINGS および VIEW_REGISTERED_DATA_OFFERINGS への応答で独自の列が指定されます。したがって、値を増やすことでソートできる値を使用します。例:
V0- :samp:`description: {data_offering_description}`(オプション)
データ提供の説明(最大1,000文字)。
datasetsコラボレーションで利用できるようにする1つ以上のデータセットのリスト。
alias: dataset_nameこのデータオブジェクトの名前。
collaboration.runで使用されます。Snowflake識別子ルール に従い、この提供機能内で一意である必要があります。最大75文字data_object_fqn: fully_qualified_table_nameコラボレーターが利用できる単一のテーブルについて説明します。アカウントにソースオブジェクトの完全修飾名を入力します(
database.schema.table_name)。最大長は773文字です。allowed_analyses: allowed_analysis_typeコラボレーターがこのテーブルに対して実行できる分析のタイプ。次の値を持つ必須フィールド:
template_only:分析実行者は、コラボレーション仕様にリストされているテンプレートを使用することでのみ、このテーブルをクエリできます。template_and_freeform_sql:分析実行者は、コラボレーション仕様にリストされているテンプレートを使用するか、コード環境の:ref:`自由形式SQLクエリ<label-dcr_collab_enable_free_form_queries>`を使用して、このテーブルをクエリできます。
- ``object_class``(オプション)
オブジェクトの型。次の値のいずれかです。
ads_log:ここにリストされているテーブルと列は、広告ログの要件に適合している必要があります。custom:特別な要件が存在しないカスタムのテーブルと列のセット。
schema_and_template_policiesdata_object_fqnによってリストされたテーブルの列名のリストを指定し、各列のポリシーと形式を定義します。コラボレーターが利用できるのは、ここにリストされている列のみです。各列には次の記述子があります。category: category_typeカテゴリは、列の名前変更が適用されるかどうか、および適用する必要のあるデータ形式の適用を決定します。
categoryおよびcolumn_type:ref:` は、分析実行者に公開される列名を決定します <label-dcr_source_column_renaming>`。次の値がサポートされています。join_standard:これは、column_typeフィールドで指定された形式のデータが配置されている結合可能な列です。この列の名前は、共有されているデータ提供機能でcolumn_typeの値に変更されます。この列はクリーンルームの:ref:`結合ポリシー<label-dcr_collaborations_policies>`に追加されます。join_custom:これはどの形式でも結合可能な列です。結合列に適切なcolumn_typeがない場合は、これを使用してください。。元の列名は共有されるデータ提供機能で使用されます。この列はクリーンルームの:ref:`結合ポリシー<label-dcr_collaborations_policies>`に追加されます。timestamp:これは、イベントのタイムスタンプを指定する投影可能な列です。列の名前は共有されるデータ提供機能でtimestampに変更されます。passthrough:これは、他のタイプの投影可能な列です。元の列名は共有されるデータ提供機能で使用されます。event_type:これは、この行のイベントタイプ分類を記録する投影可能な列(例:「購入」、「サインアップ」、「インプレッション」、「クリック」)です。
- ``column_type: <format_type>``(category=join_standardの場合は必須、他のカテゴリタイプでは無視)
データの形式。データがこの形式に準拠していない場合は、REGISTER_DATA_OFFERING への呼び出しが失敗します。
category = join_standard.categoryおよびcolumn_typeが 分析実行者に公開される列名を決定する 列に対してこのフィールドを指定します。同じテーブル内にある複数の列に同じcolumn_type値を割り当てることはできません。次の形式タイプがサポートされています。email:生のメールアドレス。hashed_email_sha256:SHA256 によりハッシュ化されたメール。hashed_email_b64_encoded:Base64でエンコードされハッシュ化されたメール。phone:句読点のない電話番号。例:2015551212。hashed_phone_sha256:SHA256 によりハッシュ化された電話番号。元の番号をphone形式にする必要があります。hashed_phone_b64_encoded:Base64でエンコードされハッシュ化された電話番号。device_id:未加工のデバイス ID(例: 携帯広告の ID または CTV デバイス ID)。hashed_device_id_sha256: SHA256 によりハッシュ化されたデバイス ID。元のIDをdevice_id形式にする必要があります。hashed_device_b64_encoded:Base64でエンコードされハッシュ化されたデバイス ID。ip_address:IPv4 形式の生の IP アドレス。hashed_ip_address_sha256: SHA256 によりハッシュ化された IPv4 アドレス。元のIDをip_address形式にする必要があります。hashed_ip_address_b64_encoded:Base64でエンコードされハッシュ化された IP アドレス。first_name:未加工の名。hashed_first_name_sha256:SHA256でハッシュ化された名。元のIDをfirst_name形式にする必要があります。hashed_first_name_b64_encoded:Base64でエンコードされハッシュ化された名。last_name:未加工の姓。hashed_last_name_sha256:SHA256でハッシュ化された姓。元のIDをlast_name形式にする必要があります。hashed_last_name_b64_encoded:Base64でエンコードされハッシュ化された姓。
- ``activation_allowed``(オプション)
この列をアクティベーションの目的で使用できるかどうか。デフォルトは
falseです。
- ``freeform_sql_policies``(オプション)
allowed_analysesがtemplate_and_freeform_sqlである場合、このオプションフィールドには、このデータ提供機能で実行される自由形式の SQL クエリで適用されるべきSnowflakeポリシーがリストされます。詳細については、 データ提供にSnowflakeポリシーを適用する( 自由形式のクエリの使用時のみ ) をご参照ください。
- ``require_freeform_sql_policy``(オプション)
このデータソースが``freeform_sql_policies``を定義する必要があるかどうか。これは、ポリシーを割り当てずに自由形式のSQLクエリをサポートするデータソースが追加されることを回避するためのフェイルセーフとして使用されます。