Préparation des données pour une annonce

Cette rubrique contient des conseils sur la préparation de la création d’une annonce, notamment sur la façon de préparer un produit de données pour différents types d’annonces.

Dans ce chapitre :

Préparer la création d’une annonce

Avant de créer une annonce, procédez comme suit :

  1. Décidez de la manière dont vous allez proposer votre produit de données. Consultez Options de disponibilité des annonces et Options d’accès aux annonces.

  2. Définissez des rôles et des privilèges pour simplifier la création d’annonces. Voir Configurer les rôles et les privilèges pour les annonces.

  3. Identifiez les objets que vous souhaitez partager. Voir Décidez de ce que vous voulez mettre dans une annonce.

  4. Préparez les objets à partager avec les autres. Voir Préparer les partages pour votre annonce.

  5. Déterminez comment vous souhaitez gérer l’accès à votre produit de données :

  6. Choisissez la ou les régions Cloud dans lesquelles vous souhaitez proposer votre annonce. Voir Préparer votre annonce à être partagée dans d’autres régions.

L’annonce et le partage de données doivent être conformes aux politiques des fournisseurs de Snowflake.

Configurer les rôles et les privilèges pour les annonces

Lorsque vous créez une annonce, vous la créez à partir du compte qui contient les données ou le paquet d’application. Le rôle qui associe un produit de données à une annonce et qui publie l’annonce doit être le même que celui qui a créé, et donc possède, le paquet d’application ou le partage. Vous ne pouvez pas transférer le privilège OWNERSHIP pour un partage.

Si vous utilisez un autre rôle pour créer et gérer l’annonce, accordez le privilège MODIFY sur l’annonce au rôle qui possède le paquet d’application ou le partage. Par exemple :

Rôle du propriétaire du paquet d’applications ou du partage :

Privilège OWNERSHIP sur le partage ou le paquet d’application. Privilège MODIFY sur l’annonce.

Rôle du propriétaire de l’annonce :

Privilège OWNERSHIP sur l’annonce. Privilège CREATE DATA EXCHANGE LISTING global.

Dans le compte fournisseur, vous pouvez utiliser l’une des méthodes suivantes pour créer et gérer des annonces :

ACCOUNTADMIN:

Si vous utilisez le rôle ACCOUNTADMIN pour créer et gérer des annonces, le rôle ORGADMIN doit d’abord déléguer des privilèges pour mettre en place l’exécution automatique.

Rôle personnalisé:

Si vous utilisez un rôle personnalisé, le rôle ORGADMIN doit d’abord déléguer les privilèges de configuration de l’exécution automatique au rôle ACCOUNTADMIN, qui peut ensuite être utilisé pour accorder les privilèges correspondants au rôle personnalisé.

Certains privilèges ne peuvent être accordés qu’en utilisant Snowsight, tandis que d’autres peuvent être accordés en utilisant SQL ou Snowsight.

Tâche

Privilèges requis

Moyen d’attribution

Créer un profil de fournisseur

Privilège CREATE DATA EXCHANGE LISTING global.

SQL ou Snowsight

Gérer ou mettre à jour un profil d’un fournisseur

Le privilège OWNERSHIP ou MODIFY sur le profil.

Snowsight

Modifier les capacités et les propriétés des annonces

Privilèges OWNERSHIP ou MODIFY sur l’annonce.

Snowsight

Afficher une annonce

Privilèges OWNERSHIP, MODIFY ou USAGE sur l’annonce.

Snowsight

Joindre un partage à une annonce

OWNERSHIP du partage et privilèges OWNERSHIP ou MODIFY sur l’annonce.

Snowsight

Configurer l’exécution automatique d’une annonce

Le privilège MANAGE LISTING AUTO FULFILLMENT au niveau du compte attribué par un ACCOUNTADMIN avec des privilèges délégués, et des privilèges OWNERSHIP ou MODIFY sur l’annonce.

SQL

Répondre à une demande d’annonce

Privilèges OWNERSHIP ou MODIFY sur l’annonce.

Snowsight

Pour plus d’informations sur les privilèges du partage d’attributions, consultez Attribution de privilèges à d’autres rôles.

Décidez de ce que vous voulez mettre dans une annonce

Lorsque vous vous préparez à partager les données de votre compte avec une annonce, décidez de ce que vous allez mettre dans l’annonce.

Tout d’abord, assurez-vous que les données que vous souhaitez partager se trouvent dans Snowflake, et que vous disposez des droits légaux et contractuels pour partager ces données. Si nécessaire, chargez les données que vous souhaitez partager dans Snowflake. Voir Vue d’ensemble du chargement des données.

Note

Dans la mesure où les données de votre annonce ou ensemble de données sont régis par des lois ou des obligations contractuelles, vous devez vous assurer que vous avez les droits légaux et contractuels de partager ces données. Par exemple, vous pouvez uniquement partager des informations médicales protégées (PHI) via une annonce privée et, pour ce faire, vous devez : (1) avoir signé un accord de partenariat commercial (BAA) avec Snowflake et le consommateur recevant les PHI, et ; (2) vous assurer que le consommateur a également signé un BAA avec Snowflake. En outre, si vous pouvez partager des données personnelles par le biais d’une annonce gratuite ou personnalisée, vous devez pour cela disposer des droits légaux et contractuels applicables si les données ne sont pas accessibles au public.

Ensuite, décidez de la manière de proposer les données dont vous disposez sous forme d’annonce. Si vous envisagez de proposer des annonces sur Snowflake Marketplace ou uniquement en tant qu’annonces privées directement avec des clients spécifiques, vous pouvez prendre des décisions différentes quant aux éléments à placer dans l’annonce.

  • Tenez compte de la disponibilité de vos données.

  • Considérez les consommateurs qui, selon vous, accéderont à vos annonces.

  • Tenez compte des formats des données que vous sélectionnez pour le partage, comme une table, une vue, une vue sécurisée ou tout autre objet de base de données.

Par exemple, si vous voulez fournir des annonces sur le toilettage des chiens, vous pouvez prendre des décisions comme celles-ci :

  • Proposer une annonce gratuite accessible au public sur Snowflake Marketplace avec des informations sur les races de chiens et la longueur de leur fourrure.

  • Proposez une annonce à essai limité sur Snowflake Marketplace avec un échantillon de produit de données contenant des données sur le temps nécessaire au toilettage d’un caniche classique, avec la possibilité pour les consommateurs de demander un produit de données complet sur les connaissances en matière de toilettage pour d’autres races de chiens.

  • Proposez une annonce à essai limité sur le Snowflake Marketplace avec un produit de données qui contient des informations sur le temps nécessaire pour toiletter n’importe quelle race de chien, avec la possibilité pour les consommateurs de demander un accès illimité à votre produit de données.

  • Offrir une annonce privée à une organisation partenaire avec des informations sur le temps nécessaire au toilettage de différents chiens et la fréquence typique des rendez-vous de toilettage pour différentes races de chiens.

Dans cet exemple, vous proposez des données précieuses sur Snowflake Marketplace, mais vous offrez des informations plus spécifiques à une organisation avec laquelle vous entretenez déjà une relation commerciale de confiance.

Préparer les partages pour votre annonce

Vous pouvez créer un partage avant de créer une annonce, ou sélectionner la base de données, les tables et les vues qui composeront votre produit de données lorsque vous créez l’annonce. Voir Utilisation des partages.

Si vous prévoyez de proposer de nombreuses annonces, créez les partages séparément des annonces afin de pouvoir gérer plus facilement votre produit de données. Vous ne pouvez pas fournir plusieurs annonces à partir d’un même partage.

Réfléchissez à la manière de tenir vos partages à jour

Prenez en considération la maintenance des données dans votre partage. Au fil du temps, il se peut que vous deviez modifier vos partages de données en fonction de l’évolution des informations que vous souhaitez fournir dans les annonces.

Vous devez également réfléchir à la manière de mettre à jour les données contenues dans les partages et vous assurer que le contenu du partage est utile aux consommateurs.

Si les objets d’un partage sont abandonnés et recréés par la suite, vous devez ajouter les objets recréés au partage afin qu’ils restent disponibles pour les consommateurs. Par exemple, si vous rafraîchissez certaines données dans le partage en supprimant et en recréant une table dans la base de données, vous devez mettre à jour le partage pour inclure la table recréée.

Préparer les données à partager

Préparez les données que vous voulez partager dans votre annonce pour qu’elles soient partagées avec d’autres.

  • Utilisez des identificateurs d’objet sans guillemets pour les tables, les colonnes et les noms de partage. N’utilisez que des majuscules et des caractères alphanumériques pour les noms d’objets afin de permettre aux consommateurs d’annonces d’utiliser les objets de données partagés sans avoir à mettre les identificateurs entre guillemets. Voir Exigences relatives à l’identificateur.

  • Protégez les données sensibles dans les bases de données partagées. Créez des vues sécurisées et utilisez des objets sécurisés pour contrôler l’accès aux données. Voir Utilisation d’objets sécurisés pour contrôler l’accès aux données

  • Vous pouvez ajouter à une annonce des partages qui sont déjà partagés avec un compte consommateur, par exemple avec un partage direct.

  • Un partage ne peut être rattaché qu’à une seule annonce. Si un partage a déjà été rattaché à une annonce, il ne peut pas être rattaché à une autre annonce, même si l’annonce a été supprimée.

Préparer à offrir une annonce à essai limité

Une annonce à essai limité vous permet de proposer soit un échantillon de votre produit de données à titre d’essai gratuit, donnant aux consommateurs un aperçu de ce qui pourrait être disponible à partir d’un produit de données complet, soit un accès limité dans le temps à votre produit de données de complet. Les consommateurs peuvent alors demander un accès illimité à l’ensemble du produit de données. Voir Annonces à essai limité pour plus de détails.

Si vous choisissez d’offrir un échantillon de votre produit de données de données complet, l’échantillon du produit de données fournit idéalement un sous-ensemble des données réelles incluses dans votre produit de données complet et est représentatif du produit de données complet de la manière suivante :

  • Contient les mêmes colonnes.

  • Contient des plages et des distributions de valeurs identiques ou similaires dans les données.

Les annonces à essai limité comprennent un dictionnaire de données, de sorte que la forme générale des données dans le produit de données complet devrait être claire à partir de l’échantillon de produit de données que vous proposez.

Par exemple, si vous êtes une entreprise de dressage et de toilettage pour chiens, vous pourriez envisager de proposer l’un des échantillons de produits de données suivants avec une annonce à essai limité :

Exemple de recommandation de produit de données

Exemple de produit de données

Exemple de produit de données complet

Contient un ensemble de données complet pour un attribut complet spécifique des données.

Contient des conseils de toilettage à jour pour un caniche classique.

Contient des conseils de toilettage à jour pour toutes les races de chiens.

Contient l’ensemble des données pour une période spécifique dépassée.

Contient des conseils de toilettage et des prix pour toutes les races de chiens à partir de mai 2021.

Contient des informations à jour sur le toilettage et les prix pour toutes les races de chiens.

Contient des données synthétiques représentatives du produit de données complet.

Contient des informations et des prix à jour sur le dressage de la race canine fictive du chien de chasse acadien.

Contient des informations et des prix à jour sur le dressage de toutes les races de chiens.

Proposer un sous-ensemble pertinent et complet de votre produit de données complet en tant qu’échantillon de données pour votre annonce à essai limité aide les consommateurs à comprendre la valeur de votre produit de données complet et les rend plus enclins à demander le produit de données complet.

Se préparer à offrir une annonce payante

Si vous souhaitez faire payer votre annonce, vous devez procéder comme suit :

  1. Déterminez si vous pouvez proposer des annonces payantes. Voir Qui peut fournir des annonces payantes ?.

  2. Préparez les données pour offrir un test des données. Voir Préparation des partages pour une annonce payante.

  3. Choisissez le plan tarifaire qui convient le mieux à votre annonce. Voir Modèles de tarification des annonces payantes pour passer en revue les plans tarifaires disponibles.

Où pouvez-vous publier des annonces payantes ?

Seuls les fournisseurs de certaines régions peuvent publier des annonces payantes. Voir Qui peut fournir des annonces payantes ?

En outre, les annonces payantes ne peuvent être publiées que dans certaines régions. Consultez Où les consommateurs ont accès à des annonces payantes ? pour savoir dans quelles régions vous pouvez publier des annonces payantes.

Préparation des partages pour une annonce payante

Lorsque vous proposez une annonce payante sur Snowflake Marketplace, vous devez offrir aux consommateurs la possibilité de tester l’annonce avant de l’acheter. Les essais sont facultatifs pour les annonces privées payantes. Dans le cadre de l’essai, vous pouvez limiter les consommateurs à des données et à des fonctionnalités spécifiques, à une période donnée ou à une combinaison des deux.

Si vous choisissez de limiter les consommateurs à l’essai à des données et des fonctionnalités spécifiques, créez un partage unique pour votre annonce payante et utilisez des vues sécurisées et une fonction système fournie par Snowflake, SYSTEM$IS_LISTING_PURCHASED, pour contrôler quelles données sont visibles pour les consommateurs de l’essai et quelles données sont disponibles uniquement pour les consommateurs payants.

Note

Si votre annonce comprend une fonction sécurisée définie par l’utilisateur (UDF), vous ne pouvez pas limiter l’accès à l’UDF. Les clients payants et les clients de l’essai de votre annonce peuvent tous accéder à l’UDF sécurisée.

Reportez-vous aux exemples suivants pour créer vos propres vues sécurisées afin d’afficher différentes données aux consommateurs payants et aux consommateurs à l’essai.

Si vous souhaitez permettre aux consommateurs de l’essai d’utiliser toutes les données de votre annonce pendant une période limitée, n’utilisez pas la fonction SYSTEM$IS_LISTING_PURCHASED dans vos définitions de vue pour votre partage.

Exemple 1 : renvoyer des données basées sur le statut d’achat du compte

Créez une vue sécurisée qui sélectionne toutes les colonnes d’une table. La vue renvoie des lignes uniquement lorsqu’elle est interrogée dans un compte de consommateur qui a accepté d’acheter vos annonces payantes.

CREATE SECURE VIEW paid_v
  AS
  SELECT
    *
  FROM
    paid_t
  WHERE
    SYSTEM$IS_LISTING_PURCHASED() = TRUE;
Copy

Exemple 2 : renvoyer un sous-ensemble de lignes basé sur le statut d’achat du compte

Créez une vue sécurisée qui renvoie un sous-ensemble de lignes en fonction de la valeur booléenne d’une colonne spécifique dans les données. Dans cet exemple, la table sous-jacente contient une colonne nommée is_free qui est utilisée pour déterminer quelles données montrer à quels consommateurs.

Pour certaines lignes, is_free est défini comme TRUE, ce qui indique que les données de ces lignes peuvent être présentées aux consommateurs de l’essai. Pour d’autres lignes, is_free est défini comme FALSE, ce qui indique que les données de ces lignes ne doivent être présentées qu’aux consommateurs payants.

Cet exemple de vue est configuré pour renvoyer toutes les lignes uniquement lorsqu’il est interrogé par un compte de consommateur qui a acheté l’annonce payante, sinon il renvoie uniquement les lignes où is_free est défini comme TRUE.

CREATE SECURE VIEW paid_v
  AS
  SELECT
    *
  FROM
    paid_t
  WHERE
    is_free
    OR
    SYSTEM$IS_LISTING_PURCHASED() = TRUE;
Copy

Exemple 3 : renvoyer uniquement les lignes les plus récentes en fonction du statut d’achat du compte

Créez une vue sécurisée qui renvoie uniquement les lignes des 7 jours précédents à un compte consommateur qui est à l’essai, mais n’a pas encore acheté, votre annonce payante.

Cet exemple utilise une colonne avec un type de données d’horodatage pour filtrer les données, mais vous pouvez utiliser d’autres types de données de colonne dans votre définition de vue sécurisée.

CREATE SECURE VIEW paid_v
  AS
  SELECT *
  FROM
    paid_t
  WHERE
    (timestamp > current_timestamp() - interval '7 days')
    OR
    SYSTEM$IS_LISTING_PURCHASED() = TRUE;
Copy

Validation des vues sécurisées pour les données payantes et les données d’essai

Après avoir préparé vos vues sécurisées, vérifiez que vous les avez correctement configurées en simulant les expériences des comptes consommateurs payants et d’essai. Exécutez des requêtes contre les vues sécurisées pour confirmer que chaque type de consommateur a accès aux données attendues.

Important

Cette méthode ne permet pas de vérifier si les consommateurs sont en mesure d’accéder à vos données en toute sécurité. Cette méthode permet uniquement de valider si le partage fonctionnera comme prévu pour vos consommateurs.

Pour valider vos partages, exécutez une requête sur une vue sécurisée en utilisant SHARE_CONTEXT(SYSTEM$IS_LISTING_PURCHASED) :

EXECUTE USING SHARE_CONTEXT(SYSTEM$IS_LISTING_PURCHASED=>{ 'TRUE' | 'FALSE' })
  AS <query>
Copy

Où :

  • SYSTEM$IS_LISTING_PURCHASED précise si vous souhaitez valider en tant que consommateur payant, ou en tant que consommateur à l’essai ou non payant. Les valeurs valides sont les suivantes :

    • TRUE pour valider le partage en tant que consommateur payant.

    • FALSE pour valider le partage en tant que consommateur à l’essai ou gratuit.

  • <query> est la requête SQL que vous voulez exécuter sur la vue sécurisée.

Lorsque vous utilisez la commande pour exécuter votre requête, celle-ci est exécutée sur le partage comme si vous étiez un consommateur.

Par exemple, supposons que vous ayez un partage que vous voulez valider. Votre partage comprend une vue sécurisée nommée PURCHASED_VIEW, qui protège toutes les données d’une table nommée SHARE_TABLE. Vous voulez vérifier que les données ne peuvent être consultées que par un consommateur qui a acheté l’annonce.

Pour confirmer que les consommateurs de l’essai ne peuvent accéder à aucune donnée dans la vue sécurisée, exécutez la requête suivante :

EXECUTE USING share_context(system$is_listing_purchased=>'FALSE')
  AS
    SELECT
      *
    FROM
      example_database.example_schema.PURCHASED_VIEW
Copy

Si la vue sécurisée fonctionne comme prévu et aucune donnée n’est accessible à un consommateur d’essai, votre requête renvoie donc la réponse suivante :

Query produced no results
Copy

Pour confirmer que vos consommateurs payants ont accès aux données, exécutez la requête suivante :

EXECUTE USING share_context(system$is_listing_purchased=>'TRUE')
  AS
    SELECT
      *
    FROM
      example_database.example_schema.PURCHASED_VIEW
Copy

Si la vue sécurisée fonctionne comme prévu, votre requête renvoie toutes les colonnes et lignes de SHARE_TABLE, ce qui est le résultat souhaité pour les consommateurs payants.

SYSTEM$IS_LISTING_PURCHASED

Retourne TRUE si le compte du consommateur interrogeant les données a acheté l’annonce, sinon retourne FALSE. Si un compte est en train de tester l’annonce, la fonction renvoie FALSE. Utilisez cette fonction du système dans une vue sécurisée pour gérer l’accès aux données d’un partage et afficher certaines données uniquement aux clients payants.

Cette fonction déduit l’annonce associée à la base de données qui contient la vue et détermine si le compte qui exécute la requête a acheté l’annonce.

Syntaxe
SYSTEM$IS_LISTING_PURCHASED()
Copy
Arguments

Aucune.

Exemple

Créez une vue sécurisée qui sélectionne toutes les colonnes d’une table. La vue renvoie des lignes uniquement lorsqu’elle est interrogée dans un compte de consommateur qui a acheté une annonce payante :

CREATE SECURE VIEW paid_view
  AS
  SELECT
    *
  FROM
    paid_table
  WHERE
    SYSTEM$IS_LISTING_PURCHASED();
Copy

Les consommateurs qui essaient l’annonce payante ne voient aucune ligne dans cette vue.

Pour des exemples supplémentaires, voir Préparation des partages pour une annonce payante.

Préparer votre annonce à être partagée dans d’autres régions

Lorsque vous configurez votre annonce, vous pouvez choisir de la proposer dans différentes régions. Proposer des annonces dans d’autres régions nécessite de répliquer les données.

Tenez compte du temps nécessaire pour répliquer les données et des coûts liés à la réplication.

Le partage des données entre régions utilise la fonctionnalité de réplication des données de Snowflake. Voir Partage sécurisé des données entre les régions et les plates-formes Cloud.