À propos de la gestion des annonces via SQL

Les fournisseurs peuvent utiliser des annonces pour partager des produits de données avec des comptes dans n’importe quelle région Snowflake. Pour en savoir plus sur les annonces, voir À propos des annonces.

Les fournisseurs peuvent utiliser des commandes SQL pour créer et gérer des annonces et les proposer à des consommateurs spécifiques. Pour partager une annonce à l’aide d’une commande SQL, les fournisseurs procèdent comme suit :

Note

Les fournisseurs ne peuvent pas proposer d’annonces payantes, personnalisées ni d’annonces sur des échanges de données privés.

Conditions préalables requises pour utiliser des annonces via SQL

Rôles du propriétaire de l’annonce et de l’application

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é.

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

Définir un manifeste d’annonce

Pour créer une annonce, vous devez commencer par créer un manifeste d’annonce. Les manifestes sont rédigés au format YAML (https://yaml.org/spec/) et comprennent un préfixe ainsi que des champs obligatoires et facultatifs.

Par exemple, pour créer une annonce intitulée simple avec des termes d’annonce, définissez un manifeste similaire à ce qui suit :

title: A title for the listing.
subtitle: An optional subtitle.
description: A general description.
profile: Provider profile reference.
listing_terms: ...
targets: ...
Copy

Chaque manifeste comprend ensuite des sections supplémentaires telles que les suivantes :

auto_fulfillment: ...
Copy

Et un certain nombre de champs facultatifs tels que data_dictionary, business_needs et d’autres encore.

Un manifeste simple comprend généralement :

title: "MyFirstListing"
subtitle: "Example listing"
description: "This is my first listing!"
listing_terms:
  type: "OFFLINE"
targets:
   accounts: ["Org1.Account1"]
Copy

Pour plus d’informations, voir Référence au manifeste d’annonce.

Pour d’autres exemples et cas d’utilisation associés à la gestion des annonces à l’aide de SQL, voir Gérer les annonces avec SQL en tant que fournisseur - exemples.

Créer une annonce via SQL

Pour créer une annonce, utilisez la commande CREATE LISTING, en spécifiant un nom et les détails de l’annonce en ligne dans un manifeste YAML décrivant l’annonce. Les annonces créées via CREATE LISTING … sont automatiquement publiées. Une fois l’annonce créée, vous pouvez la modifier à l’aide de ALTER LISTING, qui propose une assistance à la publication et à la dépublication.

Notez que, contrairement à Snowsight, lorsque vous créez une annonce via SQL, le partage associé doit déjà exister.

En outre, les annonces peuvent être décrites, affichées, publiées et dépubliées et supprimées.

Note

La création d’une annonce via SQL est similaire, d’un point de vue conceptuel, à Partager des données ou des applications avec des consommateurs spécifiques à l’aide d’une annonce privée. Vous devez être familiarisé(e) et à l’aise avec la création, l’affichage et la publication d’annonces via Snowsight et Provider Studio avant de pouvoir créer des annonces via SQL. Pour plus d’informations, voir Partager des données ou des applications avec des consommateurs spécifiques à l’aide d’une annonce privée.

Avant de créer votre annonce, assurez-vous d’avoir rempli toutes les conditions préalables requises.

Par exemple, si vous souhaitez créer une annonce DRAFT my1stlisting à partir du partage myshare avec pour titre « Ma première annonce SQL », exécutez la commande suivante :

CREATE EXTERNAL LISTING my1stlisting
SHARE myshare AS
$$
 title: "My first SQL listing"
 description: "This is my first listing"
 listing_terms:
   type: "OFFLINE"
 targets:
   accounts: ["Org1.Account1"]
$$ PUBLISH=FALSE REVIEW=FALSE;
Copy

Note

Les annonces sont identifiées à l’aide du NAME de l’annonce. Le NAME d’une annonce est l’identificateur utilisé lors de la création initiale de l’annonce. Dans l’exemple ci-dessus, le nom de l’annonce est MY1STLISTING. Alors que le titre, le sous-titre et d’autres caractéristiques de l’annonce peuvent être modifiés, le NAME ne peut pas être modifié via la spécification d’un nouveau nom dans yaml. Pour renommer une annonce, utilisez ALTER LISTING … RENAME TO. Les commandes telles que ALTER LISTING, SHOW LISTINGS, DESCRIBE LISTING et DROP LISTING utilisent toutes la valeur NAME pour identifier une annonce. Le NAME de l’annonce n’apparaît pas dans Snowsight, qui identifie les annonces par titre.

Pour d’autres exemples et cas d’utilisation associés à la gestion des annonces via SQL, voir Gérer les annonces avec SQL en tant que fournisseur - exemples.

Publier une annonce via SQL

Vous pouvez publier et dépublier des annonces via ALTER LISTING … PUBLISH et ALTER LISTING … UNPUBLISH.

Pour plus d’informations sur la publication d’annonces via Snowsight, voir Publier une annonce.

Notez que les annonces peuvent être automatiquement publiées lorsqu’elles sont créées via CREATE LISTING.

Par exemple, pour publier l’annonce précédemment non publiée, exécutez la commande suivante :

ALTER LISTING MY1STLISTING PUBLISH;
Copy

En outre, avant qu’une annonce puisse être supprimée, elle doit être dépubliée. Pour annuler la publication d’une annonce précédemment publiée, exécutez une commande similaire à la suivante :

ALTER LISTING MY1STLISTING UNPUBLISH;
Copy

Pour d’autres exemples et cas d’utilisation associés à la gestion des annonces via SQL, voir Gérer les annonces avec SQL en tant que fournisseur - exemples.

Élargir la définition d’une annonce via SQL

L’exemple précédent ne comportait pas de cibles ni d’exemples d’utilisation. Vous pouvez utiliser ALTER LISTING pour modifier les caractéristiques d’une annonce. Dans cet exemple, nous mettons à jour une annonce existante pour lui ajouter des cibles et un exemple SQL. Notez que le manifeste YAML d’origine est étendu pour inclure le nouveau contenu.

Pour modifier une annonce afin d’y inclure des champs supplémentaires, exécutez une commande similaire à la suivante :

ALTER LISTING MY1STLISTING AS
$$
   title: "My First SQL Listing"
   description: "This is my first listing"
   listing_terms:
     type: "OFFLINE"
   targets:
     accounts: ["Org1.Account1"]
   usage_examples:
     - title: "this is a test sql"
       description: "Simple example"
       query: "select *"
$$;
Copy

Pour d’autres exemples et cas d’utilisation associés à la gestion des annonces via SQL, voir Gérer les annonces avec SQL en tant que fournisseur - exemples.

Examiner des annonces via SQL

Tout comme les tables et d’autres éléments SQL, les annonces peuvent être décrites et affichées. DESCRIBE LISTING accepte comme paramètre un seul nom d’annonce et fournit des détails sur cette annonce. SHOW LISTINGS peut fournir des informations sur un groupe d’annonces, en utilisant un filtre LIKE, ou sur toutes les annonces créées par un compte donné, si aucun filtre n’est fourni.

Pour afficher les détails de l’annonce MY1STLISTING, exécutez une commande similaire à la suivante :

SHOW LISTINGS LIKE 'MY1STLISTING';
Copy

Pour afficher toutes les annonces auxquelles votre rôle a accès, exécutez une commande similaire à la suivante :

SHOW LISTINGS;
Copy

Pour décrire l’annonce MY1STLISTING, exécutez une commande similaire à la suivante :

DESC LISTING MY1STLISTING;
Copy

Supprimer des annonces via SQL

Pour retirer une annonce, vous devez d’abord annuler sa publication. Vous devez être familiarisé(e) avec le retrait d’annonces via Snowsight avant de pouvoir supprimer des annonces via SQL. Pour plus d’informations sur le retrait d’annonces via Snowsight, voir Supprimer des annonces en tant que fournisseur.

Pour annuler la publication d’une annonce, exécutez une commande similaire à la suivante :

ALTER LISTING MY1STLISTING UNPUBLISH;
Copy

Pour supprimer une annonce, exécutez une commande similaire à la suivante :

DROP LISTING IF EXISTS MY1STLISTING
Copy