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_versionDie verwendete Version der Collaboration API. Sie müssen
2.0.0sein.spec_typeBezeichner des Spezifikationstyps. Sie müssen
data_offeringsein.name: data_offering_nameEin 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.versionEin 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:
V0description: data_offering_description(Optional)Eine Beschreibung des Datenangebots (maximal 1.000 Zeichen).
datasetsEine Liste von einem oder mehreren Datasets, die der Zusammenarbeit zur Verfügung gestellt werden sollen.
alias: dataset_nameEin 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_nameBeschreibt 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_typeDer 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_policiesStellen Sie eine Liste der Spaltennamen aus der Tabelle bereit, die von
data_object_fqnaufgelistet 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_typeDie Kategorie bestimmt, ob eine Umbenennung von Spalten angewendet werden soll und welche Durchsetzungsoperationen auf das Datenformat angewendet werden sollen.
categoryundcolumn_typelegen 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 Feldcolumn_typeangegeben ist. Diese Spalte wird in den Wertcolumn_typedes 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 geeignetencolumn_typefü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 intimestampumbenannt.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`` undcolumn_typeden Spaltennamen festlegen, der für den Analyseausführenden verfügbar ist. Sie können nicht mehreren Spalten in derselben Tabelle den gleichencolumn_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 Formatphonevorliegen.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 imdevice_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 imip_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 imfirst_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 imlast_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_analysesden Werttemplate_and_freeform_sqlaufweist, 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_policiesdefinieren muss. Dies wird als Failsafe verwendet, um das Hinzufügen einer Datenquelle zu verhindern, die Freiform-SQL-Abfragen unterstützt, ohne ihr Richtlinien zuzuweisen.