Spezifikation des Datenangebots

Definiert eine Reihe von Tabellen, die ein Anbieter bereit ist, für Analyseausführende freizugeben, sowie Regeln für die Freigabe, wie z. B. Richtlinien, Spaltenformate und ob die Tabelle mit einer Vorlage verwendet werden muss.

Der Datenanbieter übermittelt diese Spezifikation durch Aufruf von REGISTER_DATA_OFFERING, wodurch eine Angebots-ID zurückgegeben wird, die in der Zusammenarbeitsspezifikation verwendet werden kann.

Ein Datenangebot ist erst dann in einer Zusammenarbeit verfügbar, wenn das Konto, bei dem das Datenangebot registriert wurde, der Zusammenarbeit beitritt.

Sie müssen die Kontoberechtigung REGISTER DATA OFFERING haben, um einer Zusammenarbeit beizutreten, in der Sie Daten aktivieren können; das heißt, Sie sind ein Analysenausführender und die Spezifikation für die Zusammenarbeit enthält ein activation_destinations-Feld. Weitere Informationen dazu finden Sie im Referenzhandbuch für die API-Zugriffsverwaltung.

Schema:

api_version: 2.0.0              # Required: Must be "2.0.0"
spec_type: data_offering        # Required: Must be "data_offering"
name: <data_offering_name>      # Required: Unique name (max 75 chars)
version: <version_string>       # Required: Version identifier (max 20 chars)
description: <data_offering_description>  # Optional: Description (max 1,000 chars)

datasets:                       # Required: Tables to share
  - alias: <dataset_name>       # One or more dataset items...
    data_object_fqn: <database.schema.table_name>  # Required: Fully-qualified table name
    allowed_analyses: <allowed_analysis_type>      # Required: template_only or template_and_freeform_sql
    object_class: <object_class>    # Optional: ads_log or custom
    schema_and_template_policies:   # Required: Column definitions
      <column_name>:                # One or more column definitions...
        category: <category_type>   # Required: join_standard, join_custom, timestamp, passthrough, or event_type
        column_type: <format_type>  # Required for join_standard category, omitted for other categories.
        activation_allowed: <true_or_false>  # Optional: Whether column can be used for activation
    freeform_sql_policies:      # Optional: Policies for freeform SQL queries
      aggregation_policy:       # Optional: Single aggregation policy
        name: <fully_qualified_policy_name>
        entity_keys:            # Optional: Entity key columns
          - <column_name>       # One or more POSSIBLY RENAMED column names...
      join_policy:              # Optional: Single join policy
        name: <fully_qualified_policy_name>
        columns:                # Optional: Columns this policy applies to
          - <column_name>       # One or more POSSIBLY RENAMED column names...
      masking_policies:         # Optional: Masking policies
        - name: <fully_qualified_policy_name>  # One or more masking policy items...
          columns:              # Optional: Columns this policy applies to
            - <column_name>     # One or more POSSIBLY RENAMED column names...
      projection_policies:      # Optional: Projection policies
        - name: <fully_qualified_policy_name>  # One or more projection policy items...
          columns:              # Optional: Columns this policy applies to
            - <column_name>     # One or more POSSIBLY RENAMED column names...
      row_access_policy:        # Optional: Row access policy
        name: <fully_qualified_policy_name>
        columns:              # Optional: Columns this policy applies to
          - <column_name>     # One or more POSSIBLY RENAMED column names...
    require_freeform_sql_policy: <true_or_false>  # Optional: Require a policy for freeform SQL
api_version

Die verwendete Version der Collaboration API. Sie müssen 2.0.0 sein.

spec_type

Bezeichner des Spezifikationstyps. Sie müssen data_offering sein.

name: data_offering_name

Ein Name für eine Gruppe von Tabellen und Spalten, die für Teilnehmende verfügbar gemacht werden sollen. Dieser Name wird in einer Zusammenarbeitsspezifikation als Datenangebots-Referenzwert verwendet. Sie können mehrere Datenangebote mit überlappenden Tabellen und Spalten für verschiedene Anwendungsfälle erstellen. Muss den Regeln für Snowflake-Bezeichner folgen, mit maximal 75 Zeichen, und muss innerhalb Ihres Snowflake Data Clean Room-Kontos eindeutig sein. Das name_version-Paar muss für alle Datenangebote in diesem Konto eindeutig sein.

version

Ein kundenspezifischer Versionsbezeichner für diese Datenangebotsspezifikation (maximal 20 Zeichen). Muss den Regeln für Snowflake-Bezeichner folgen. Die Versionszeichenfolge erhält eine eigene Spalte in der Antwort auf VIEW_DATA_OFFERINGS und VIEW_REGISTERED_DATA_OFFERINGS. Verwenden Sie also einen Wert, der anhand aufsteigender Werte sortiert werden kann. Beispiel: V0

description: data_offering_description (Optional)

Eine Beschreibung des Datenangebots (maximal 1.000 Zeichen).

datasets

Eine Liste von einem oder mehreren Datasets, die der Zusammenarbeit zur Verfügung gestellt werden sollen.

alias: dataset_name

Ein Name für dieses Datenobjekt, der in collaboration.run`verwendet wird. Muss den :doc:`Regeln für Snowflake-Bezeichner </sql-reference/identifiers-syntax> folgen und innerhalb dieses Angebots eindeutig sein. Maximal 75 Zeichen.

data_object_fqn: fully_qualified_table_name

Beschreibt eine einzelne Tabelle, die für Teilnehmende verfügbar ist. Geben Sie den vollqualifizierten Namen des Quellobjekts in Ihrem Konto an (database.schema.table_name). Die maximale Länge beträgt 773 Zeichen.

allowed_analyses: allowed_analysis_type

Der Typ der Analysen, die Teilnehmende für diese Tabelle ausführen können. Erforderliches Feld mit den folgenden Werten:

  • template_only: Der Analysis Runner kann diese Tabelle nur mithilfe einer Vorlage abfragen, die in der Zusammenarbeitsspezifikation aufgeführt ist.

  • template_and_freeform_sql: Der Analysis Runner kann diese Tabelle entweder mithilfe einer Vorlage, die in der Zusammenarbeitsspezifikation aufgeführt ist, oder mithilfe von Freiform-SQL-Abfragen in einer Codeumgebung abfragen.

object_class (Optional)

Typ des Objekts. Einer der folgenden Werte:

  • ads_log: Die hier aufgeführten Tabellen und Spalten müssen den Anforderungen des Ad-Protokolls entsprechen.

  • custom: Ein kundenspezifischer Satz von Tabellen und Spalten, für den keine besonderen Anforderungen gelten.

schema_and_template_policies

Stellen Sie eine Liste der Spaltennamen aus der Tabelle bereit, die von data_object_fqn aufgelistet wird, und definieren Sie die Richtlinien und das Format jeder Spalte. Nur die hier aufgeführten Spalten sind für Teilnehmende verfügbar. Jede Spalte hat die folgenden Deskriptoren:

category: category_type

Die Kategorie bestimmt, ob eine Umbenennung von Spalten angewendet werden soll und welche Durchsetzungsoperationen auf das Datenformat angewendet werden sollen. category und column_type legen den Spaltennamen fest, der für den Analyseausführenden verfügbar ist. Die folgenden Werte werden unterstützt:

  • join_standard: Dies ist eine verknüpfbare Spalte mit Daten in einem Format, das im Feld column_type angegeben ist. Diese Spalte wird in den Wert column_type des freigegebenen Datenangebots umbenannt. Diese Spalte wird der Verknüpfungsrichtlinie des Clean Rooms hinzugefügt.

  • join_custom: Dies ist eine verknüpfbare Spalte in einem beliebigen Format. Verwenden Sie dies, wenn es keinen geeigneten column_type für Ihre Verknüpfungsspalte gibt. Der ursprüngliche Spaltenname wird im freigegebenen Datenangebot verwendet. Diese Spalte wird der Verknüpfungsrichtlinie des Clean Rooms hinzugefügt.

  • timestamp: Dies ist eine projizierte Spalte, die einen Zeitstempel für ein beliebiges Ereignis angibt. Die Spalte wird im freigegebenen Datenangebot in timestamp umbenannt.

  • passthrough: Dies ist eine projizierte Spalte eines beliebigen anderen Typs. Der ursprüngliche Spaltenname wird im freigegebenen Datenangebot verwendet.

  • event_type: Dies ist eine projizierbare Spalte, die eine Klassifizierung des Ereignistyps für diese Zeile erfasst, z. B. „purchase“, „sign-up“, „impression“, „click“ usw.

column_type: <format_type> (Erforderlich, wenn die Kategorie gleich join_standard ist; wird bei anderen Kategorietypen ignoriert)

Das Format der Daten. Wenn die Daten nicht mit diesem Format übereinstimmen, schlägt der Aufruf von REGISTER_DATA_OFFERING fehl. Geben Sie dieses Feld für Spalten an, in denen category = join_standard.``category`` und column_type den Spaltennamen festlegen, der für den Analyseausführenden verfügbar ist. Sie können nicht mehreren Spalten in derselben Tabelle den gleichen column_type-Wert zuweisen. Die folgenden Formattypen werden unterstützt:

  • email: Eine unformatierte E-Mail-Adresse.

  • hashed_email_sha256: Eine SHA256-Hash-E-Mail-Adresse.

  • hashed_email_b64_encoded: Eine base64-codierte, gehashte E-Mail-Adresse.

  • phone: Eine Telefonnummer ohne Satzzeichen. Beispiel: 2015551212.

  • hashed_phone_sha256: Eine SHA256-Hash-Telefonnummer. Die ursprüngliche Nummer sollte im Format phone vorliegen.

  • hashed_phone_b64_encoded: Eine base64-codierte, gehashte Telefonnummer.

  • device_id: Eine rohe Geräte-ID, wie z. B. eine Mobilankündigungs-ID oder eine CTV-Geräte-ID.

  • hashed_device_id_sha256: SHA256-Hash-Geräte-ID. Die ursprüngliche ID sollte im device_id-Format vorliegen.

  • hashed_device_b64_encoded: Eine base64-codierte Hash-Geräte-ID.

  • ip_address: Eine rohe IP-Adresse im IPv4-Format.

  • hashed_ip_address_sha256: SHA256-Hash-IPv4-Adresse. Die ursprüngliche ID sollte im ip_address-Format vorliegen.

  • hashed_ip_address_b64_encoded: Eine base64-codierte Hash-IP-Adresse.

  • first_name: Ein roher Vorname.

  • hashed_first_name_sha256: Ein SHA256-gehashter Vorname. Die ursprüngliche ID sollte im first_name-Format vorliegen.

  • hashed_first_name_b64_encoded: Ein base64-codierter, gehashter Vorname.

  • last_name: Ein roher Nachname.

  • hashed_last_name_sha256: Ein SHA256-gehashter Nachname. Die ursprüngliche ID sollte im last_name-Format vorliegen.

  • hashed_last_name_b64_encoded: Ein base64-codierter, gehashter Nachname.

activation_allowed (Optional)

Ob diese Spalte für Aktivierungszwecke verwendet werden kann. Standardwert ist false.

freeform_sql_policies (Optional)

Wenn allowed_analyses den Wert template_and_freeform_sql aufweist, werden in diesem optionalen Feld alle Snowflake-Richtlinien aufgelistet, die in Freiform-SQL-Abfragen angewendet werden sollten, die für dieses Datenangebot ausgeführt werden. Weitere Informationen dazu finden Sie unter Wenden Sie die Snowflake-Richtlinie auf das Datenangebot an (nur Nutzung von Freiform-Abfragen).

Die folgenden Typen werden unterstützt:

aggregation_policy (Optional)

Eine einzelne Konfiguration für eine Aggregationsrichtlinie.

  • name: Der vollqualifizierte Name der Richtlinie.

  • entity_keys (Optional): Liste der Spaltennamen, die als Entitätsschlüssel für die Aggregationsrichtlinie dienen. NOTE: Wenn diese Spalten :ref:`umbenannt <label-dcr_source_column_renaming>`wurden, müssen Sie den generierten Spaltennamen verwenden.

join_policy (Optional)

Eine einzelne Konfiguration für eine Verknüpfungsrichtlinie.

  • name: Der vollqualifizierte Name der Richtlinie.NOTE: wenn diese Spalte :ref:` umbenannt<label-dcr_source_column_renaming>` wurde, müssen Sie den generierten Spaltennamen verwenden.

  • columns (Optional): Liste der Spaltennamen, für die diese Richtlinie gilt.

masking_policies (Optional)

Ein Array von Konfigurationen für Maskierungsrichtlinien.

  • name: Der vollqualifizierte Name der Richtlinie.NOTE: wenn diese Spalte :ref:` umbenannt<label-dcr_source_column_renaming>` wurde, müssen Sie den generierten Spaltennamen verwenden.

  • columns (Optional): Liste der Spaltennamen, für die diese Richtlinie gilt.

projection_policies (Optional)

Ein Array von Konfigurationen für Projektionsrichtlinien.

  • name: Der vollqualifizierte Name der Richtlinie.NOTE: wenn diese Spalte :ref:` umbenannt<label-dcr_source_column_renaming>` wurde, müssen Sie den generierten Spaltennamen verwenden.

  • columns (Optional): Liste der Spaltennamen, für die diese Richtlinie gilt.

row_access_policy (Optional)

Ein Objekt, das die Konfiguration einer Zeilenzugriffsrichtlinie beschreibt.

  • name: Der vollqualifizierte Name der Richtlinie.NOTE: wenn diese Spalte :ref:` umbenannt<label-dcr_source_column_renaming>` wurde, müssen Sie den generierten Spaltennamen verwenden.

  • columns (Optional): Liste der Spaltennamen, für die diese Richtlinie gilt.

require_freeform_sql_policy (Optional)

Ob diese Datenquelle freeform_sql_policies definieren muss. Dies wird als Failsafe verwendet, um das Hinzufügen einer Datenquelle zu verhindern, die Freiform-SQL-Abfragen unterstützt, ohne ihr Richtlinien zuzuweisen.