ALTER LISTING

Modifie les propriétés d’un listing avec un manifeste YAML en ligne, ou à partir d’un fichier situé dans un emplacement de zone de préparation.

Voir aussi :

CREATE LISTING, DESCRIBE LISTING, SHOW LISTINGS, SHOW VERSIONS IN LISTING, DROP LISTING

Syntaxe

ALTER LISTING [ IF EXISTS ] <name> [ { PUBLISH | UNPUBLISH | REVIEW } ]

ALTER LISTING [ IF EXISTS ] <name> AS '<yaml_manifest_string>'
  [ PUBLISH={ TRUE | FALSE } ]
  [ REVIEW= { TRUE | FALSE } ]
  [ COMMENT = '<string>' ]

ALTER LISTING <name> ADD VERSION [ [ IF NOT EXISTS ] <version_name> ]
  FROM <yaml_manifest_stage_location>
  [ COMMENT = '<string>' ]

ALTER LISTING [ IF EXISTS ] <name> RENAME TO <new_name>;

ALTER LISTING [ IF EXISTS ] <name> SET COMMENT = '<string>'
Copy

Paramètres

name

Spécifie l’identificateur (nom) de l’annonce en cours de modification.

{ PUBLISH | UNPUBLISH | REVIEW }

L’action à effectuer sur le listing :

  • PUBLISH Permet de découvrir une annonce qui ne l’était pas auparavant.

    Le fait de spécifier PUBLISH sur une annonce déjà publiée n’a aucun effet.

  • UNPUBLISH Rend une annonce qui pouvait auparavant être découverte impossible à découvrir par de nouveaux consommateurs. Les consommateurs existants peuvent continuer à accéder aux données associées à une annonce non publiée.

    Le fait de spécifier UNPUBLISH sur une annonce non publiée auparavant n’a aucun effet.

Voir aussi Annuler la publication d’un listing.

  • REVIEW Soumet le listing pour examen.

yaml_manifest_string

Le manifeste YAML pour le listing. Pour les paramètres du manifeste, voir Référence au manifeste d’annonce.

Les manifestes sont normalement fournis sous forme de chaînes encadrées de dollars. Pour plus d’informations, voir Constantes de chaîne encadrées de dollars.

ADD VERSION version_name

Spécifie l’identificateur unique de la version en cours d’ajout. Si l’identificateur contient des espaces, des caractères spéciaux ou des caractères majuscules et minuscules, tout l’identificateur doit être délimité par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse. Pour des informations sur la syntaxe des identificateurs, voir Exigences en matière d’identificateurs.

FROM 'yaml_manifest_stage_location'

Spécifie le chemin d’accès au fichier manifest.yml du clone interne ou du clone du dépôt Git de Snowflake. Si les modifications nécessitent l’examen des opérateurs du marché, utilisez les opérations REVIEW et PUBLISH.

RENAME TO new_name

Le nom du listing devient new_name. Les noms des listings doivent être uniques. Le nouvel identificateur ne peut pas être utilisé si l’identificateur est déjà utilisé pour un autre listing.

SET ...

Spécifie une ou plusieurs propriétés à définir pour l’annonce (séparées par des espaces, des virgules ou de nouvelles lignes).

COMMENT = 'string_literal'

Ajoute un commentaire ou remplace le commentaire existant d’une annonce existante.

PUBLISH = { TRUE | FALSE }

Spécifie la manière dont l’annonce doit être publiée.

Si cette valeur est définie sur TRUE, l’annonce est publiée immédiatement auprès du service Opérations du Marketplace pour examen.

Par défaut : TRUE.

REVIEW =  { TRUE | FALSE }

Spécifie si l’annonce doit ou non être soumise à l’examen du service Opérations du Marketplace.

Par défaut : TRUE.

Des combinaisons de valeurs différentes pour les propriétés PUBLISH et REVIEW entraînent les comportements suivants :

PUBLISH

REVIEW

Comportement

TRUE

TRUE

Demandez un examen, puis publiez immédiatement après approbation.

TRUE

FALSE

Entraîne une erreur. Vous ne pouvez pas publier d’annonce sur le Snowflake Marketplace sans qu’elle ait été examinée.

FALSE

TRUE

Demandez un examen sans publication automatiquement après l’examen.

FALSE

FALSE

Enregistrez votre annonce sous forme de brouillon sans demander d’examen ni de publication.

Notes sur l’utilisation

  • Les annonces ne peuvent être renommées qu’à l’état DRAFT.

  • Lorsque vous paramétrez la version en direct du manifeste au format YAML pour une annonce, vous devez utiliser COMMIT pour appliquer les modifications, ou ABORT pour annuler les modifications.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :

Privilège

Objet

Remarques

OWNERSHIP ou MODIFY

Sur l’annonce en cours de modification.

Si vous utilisez la commande ALTER pour modifier le contenu du manifeste pour l’exécution automatique, vous devez utiliser un rôle disposant des privilèges délégués nécessaires pour configurer l’exécution automatique inter-Cloud. Voir Déléguer des privilèges pour configurer l’exécution automatique.

Le privilège USAGE relatif à la base de données et au schéma parents est exigé pour effectuer des opérations sur tout objet d’un schéma.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Exemples

Modifie l’annonce MYLISTING pour utiliser un fichier manifeste mis à jour :

ALTER LISTING MYLISTING
AS
  $$
  title: "MyListing"
  subtitle: "Subtitle for MyListing"
  description: "Description or MyListing"
  listing_terms:
    type: "STANDARD"
  targets:
    accounts: ["Org1.Account1"]
  usage_examples:
     - title: "this is a test sql"
       description: "Simple example"
       query: "select *"
  $$
Copy

Soumet le listing MYLISTING pour examen :

ALTER LISTING MYLISTING REVIEW;
Copy

Modifie l’annonce MYLISTING en la publiant :

ALTER LISTING MYLISTING PUBLISH;
Copy

Modifie l’annonce MYLISTING en annulant sa publication :

ALTER LISTING MYLISTING UNPUBLISH;
Copy

Modifie l’annonce MYLISTING en définissant un nouveau commentaire :

ALTER LISTING MYLISTING SET COMMENT = 'My listing is ready!';
Copy

Ajoute une nouvelle version à partir de l’emplacement de la zone de préparation du fichier manifeste YAML spécifié :

ALTER LISTING MYLISTING ADD VERSION V3 FROM @dbforstage.public.listingstage/listingmanifests;
Copy