Spécification de l’offre de données¶
Définit un ensemble de tables qu’un fournisseur est prêt à partager avec les gestionnaires d’analyses, ainsi que des règles de partage, telles que des politiques, des formats de colonnes et la possibilité d’utiliser la table avec un modèle.
Le fournisseur de données soumet cette spécification en appelant REGISTER_DATA_OFFERING, qui renvoie un ID d’offre qui peut être utilisé dans la spécification de la collaboration.
Une offre de données ne sera pas disponible dans une collaboration tant que le compte qui a enregistré l’offre de données ne rejoindra pas la collaboration.
Vous devez disposer du privilège de compte REGISTER DATA OFFERING pour rejoindre toute collaboration dans laquelle vous pouvez activer des données (c’est-à-dire que vous êtes un gestionnaire d’analyses et que la spécification de la collaboration inclut un champ activation_destinations). Pour plus d’informations, consultez le guide de référence de l’API de gestion des accès.
Schéma :
api_versionVersion de l’API de collaboration utilisée. Doit être
2.0.0.spec_typeIdentificateur du type de spécification. Doit être
data_offering.name: data_offering_nameNom d’un ensemble de tables et de colonnes à exposer aux collaborateurs. Ce nom est utilisé comme valeur de référence pour l’offre de données dans une spécification de collaboration. Vous pouvez créer plusieurs offres de données avec des tables et des colonnes qui se chevauchent pour différents cas d’utilisation. Doit suivre les règles des identificateurs Snowflake avec un maximum de 75 caractères et être unique au sein de votre compte de salles blanches de données Snowflake. La paire
name_versiondoit être unique pour toutes les offres de données de ce compte.versionIdentificateur de version personnalisé pour cette spécification d’offre de données (20 caractères maximum). Doit suivre les règles des identificateurs Snowflake. La chaîne de version reçoit sa propre colonne dans la réponse à VIEW_DATA_OFFERINGS et VIEW_REGISTERED_DATA_OFFERINGS ; utilisez donc une valeur qui peut être triée par ordre croissant. Exemple :
V0description: data_offering_description(Facultatif)Description de l’offre de données (1 000 caractères maximum).
datasetsListe d’un ou plusieurs ensembles de données à mettre à la disposition de la collaboration.
alias: dataset_nameNom pour cet objet de données, utilisé dans
collaboration.run. Doit suivre les règles des identificateurs Snowflake et être unique au sein de cette offre. 75 caractères maximumdata_object_fqn: fully_qualified_table_nameDécrit une seule table disponible pour les collaborateurs. Indiquez le nom pleinement qualifié de l’objet source dans votre compte (
database.schema.table_name). La longueur maximale est de 773 caractères.allowed_analyses: allowed_analysis_typeLe type d’analyses que les collaborateurs peuvent effectuer sur cette table. Champ obligatoire avec les valeurs suivantes :
template_only: Le gestionnaire d’analyses peut effectuer des requêtes dans cette table uniquement en utilisant un modèle répertorié dans la spécification de la collaboration.template_and_freeform_sql: Le gestionnaire d’analyses peut interroger cette table en utilisant un modèle répertorié dans la spécification de la collaboration, ou en utilisant des requêtes SQL de forme libre dans un environnement de code.
object_class(Facultatif)Type d’objet. Une des valeurs suivantes :
ads_log: Les tables et les colonnes listées ici doivent répondre aux exigences du journal des annonces.custom: Ensemble personnalisé de tables et de colonnes qui n’a pas d’exigences particulières.
schema_and_template_policiesFournissez une liste des noms de colonnes de la table listée par
data_object_fqnet définissez les politiques et le format de chaque colonne. Seules les colonnes listées ici sont disponibles pour les collaborateurs. Chaque colonne possède les descripteurs suivants :category: category_typeLa catégorie détermine si un renommage de colonne est appliqué et si une contrainte de format de données doit être appliquée.
categoryetcolumn_typedéterminent le nom de la colonne exposée au gestionnaire d’analyses. Les valeurs suivantes sont prises en charge :join_standard: Il s’agit d’une colonne joignable avec des données dans un format spécifié dans le champcolumn_type. Cette colonne est renommée en valeurcolumn_typedans l’offre de données partagées. Cette colonne est ajoutée à la politique de jointure de la salle blanche.join_custom: Il s’agit d’une colonne joignable dans n’importe quel format. Utilisez ceci lorsqu’il n’existe pas decolumn_typeapproprié pour votre colonne de jointure. Le nom de colonne d’origine est utilisé dans l’offre de données partagées. Cette colonne est ajoutée à la politique de jointure de la salle blanche.timestamp: Il s’agit d’une colonne projetable qui spécifie un horodatage pour tout événement. La colonne est renomméetimestampdans l’offre de données partagées.passthrough: Il s’agit d’une colonne projetable de tout autre type. Le nom de colonne d’origine est utilisé dans l’offre de données partagées.event_type: Il s’agit d’une colonne projetable qui enregistre une classification de type d’événement pour cette ligne, par exemple : « achat », « inscription », « impression », « clic », etc.
column_type: <format_type>(Obligatoire lorsque catégorie=join_standard, ignoré pour les autres types de catégories)Format des données. Si les données ne sont pas conformes à ce format, votre appel à REGISTER_DATA_OFFERING échouera. Fournissez ce champ pour les colonnes où
category = join_standard.categoryetcolumn_typedéterminent le nom de la colonne exposée au gestionnaire d’analyses. Vous ne pouvez pas attribuer la même valeurcolumn_typeà plusieurs colonnes d’une même table. Les types de formats suivants sont pris en charge :email: Adresse e-mail brute.hashed_email_sha256: E-mail haché SHA256.hashed_email_b64_encoded: E-mail haché codé en base64.phone: Numéro de téléphone sans ponctuation. Par exemple :2015551212.hashed_phone_sha256: Numéro de téléphone haché SHA256. Le numéro d’origine doit être au formatphone.hashed_phone_b64_encoded: Numéro de téléphone haché codé en base64.device_id: Un ID d’appareil brut, comme un ID publicitaire mobile ou un ID d’appareil CTV.hashed_device_id_sha256: ID d’appareil haché SHA256. L’identifiant d’origine doit être au formatdevice_id.hashed_device_b64_encoded: ID d’appareil haché codé en base64.ip_address: Adresse IP brute au format IPv4.hashed_ip_address_sha256: adresse IPv4 hachée SHA256. L’adresse IP d’origine doit être au formatip_address.hashed_ip_address_b64_encoded: Adresse IP hachée codée en base64.first_name: Un prénom brut.hashed_first_name_sha256: Un prénom haché en SHA256. L’adresse IP d’origine doit être au formatfirst_name.hashed_first_name_b64_encoded: Un prénom haché codé en base64.last_name: Un nom de famille brut.hashed_last_name_sha256: Un nom de famille haché en SHA256. L’adresse IP d’origine doit être au formatlast_name.hashed_last_name_b64_encoded: Un nom de famille haché codé en base64.
activation_allowed(Facultatif)Indique si cette colonne peut être utilisée à des fins d’activation. La valeur par défaut est
false.
freeform_sql_policies(Facultatif)Si
allowed_analysescorrespond àtemplate_and_freeform_sql, ce champ facultatif répertorie toutes les politiques de Snowflake qui doivent être appliquées sous forme de requêtes SQL de forme libre exécutées sur cette offre de données. Pour plus d’informations, voir Appliquer la politique de Snowflake à l’offre de données (utilisation des requêtes à forme libre uniquement).
Les types suivants sont pris en charge :
aggregation_policy(Facultatif)Configuration unique de la politique d’agrégation.
name: Nom pleinement qualifié de la politique.
entity_keys(Facultatif) : Liste des noms de colonnes qui servent de clés d’entité pour la politique d’agrégation.NOTE : si ces colonnes ont été renommées, vous devez utiliser le nom de colonne généré.join_policy(Facultatif)Configuration unique de la politique de jointure.
name: Nom pleinement qualifié de la politique.NOTE : si cette colonne a été renommée, vous devez utiliser le nom de colonne généré.
columns(Facultatif) : Liste des noms de colonnes auxquels cette politique s’applique.masking_policies(Facultatif)Tableau des configurations de la politique de masquage.
name: Nom pleinement qualifié de la politique.NOTE : si cette colonne a été renommée, vous devez utiliser le nom de colonne généré.
columns(Facultatif) : Liste des noms de colonnes auxquels cette politique s’applique.projection_policies(Facultatif)Tableau des configurations de la politique de projection.
name: Nom pleinement qualifié de la politique.NOTE : si cette colonne a été renommée, vous devez utiliser le nom de colonne généré.
columns(Facultatif) : Liste des noms de colonnes auxquels cette politique s’applique.row_access_policy(Facultatif)Un objet qui décrit une configuration de politique d’accès aux lignes.
name: Nom pleinement qualifié de la politique.NOTE : si cette colonne a été renommée, vous devez utiliser le nom de colonne généré.
columns(Facultatif) : Liste des noms de colonnes auxquels cette politique s’applique.
require_freeform_sql_policy(Facultatif)Si cette source de données doit définir
freeform_sql_policies. Ce type est utilisé comme un Fail-safe pour empêcher la liaison d’une source de données qui prend en charge les requêtes SQL de forme libre sans lui attribuer de politiques.