ALTER LISTING

Modifica as propriedades de uma listagem com um manifesto YAML em linha ou de um arquivo localizado em um local de estágio.

Consulte também:

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

Sintaxe

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

Parâmetros

name

Especifica o identificador (nome) da listagem que está sendo alterada.

{ PUBLISH | UNPUBLISH | REVIEW }

A ação a ser executada na listagem:

  • PUBLISH Transforma uma listagem que não pode ser descoberta em uma listagem que pode ser descoberta.

    Especificar PUBLISH em uma listagem publicada anteriormente não tem efeito.

  • UNPUBLISH Transforma uma listagem que pode ser descoberta em uma listagem que não pode ser descoberta por novos consumidores. Os consumidores existentes podem continuar acessando os dados associados a uma listagem não publicada.

    Especificar UNPUBLISH em uma listagem não publicada anteriormente não tem efeito.

Consulte também Cancelamento da publicação de uma listagem.

  • REVIEW Envia a listagem para revisão.

yaml_manifest_string

O manifesto YAML para a listagem. Para conhecer os parâmetros do manifesto, consulte Listagem de referência de manifesto.

Os manifestos normalmente são fornecidos como cadeias de caracteres entre aspas de cifrão. Para obter mais informações, consulte Constantes de cadeias de caracteres entre cifrões.

ADD VERSION version_name

Especifica o identificador de versão exclusivo para a versão que está sendo adicionada. Se o identificador contiver espaços, caracteres especiais ou caracteres com letras maiúsculas e minúsculas, o identificador inteiro deverá ser colocado entre aspas duplas. Identificadores entre aspas duplas também diferenciam maiúsculas de minúsculas. Para obter informações sobre a sintaxe do identificador, consulte Requisitos para identificadores.

FROM 'yaml_manifest_stage_location'

Especifica o caminho para o arquivo manifest.yml do clone do repositório Git interno ou do Snowflake. Se as alterações exigirem a revisão do Marketplace Ops, use as operações REVIEW e PUBLISH.

RENAME TO new_name

Altera o nome da listagem para new_name. Os nomes de listagem devem ser exclusivos. O novo identificador não pode ser usado se o identificador já estiver em uso para uma listagem diferente.

SET ...

Especifica uma (ou mais) propriedades a serem definidas para a listagem (separadas por espaços em branco, vírgulas ou novas linhas).

COMMENT = 'string_literal'

Adiciona um comentário ou substitui o comentário existente de uma listagem existente.

PUBLISH = { TRUE | FALSE }

Especifica como a listagem deve ser publicada.

Se TRUE, a listagem é publicada imediatamente na listagem do Marketplace Ops para revisão.

Padrão: TRUE.

REVIEW =  { TRUE | FALSE }

Especifica se a listagem deve ou não ser enviada para revisão no Marketplace Ops.

Padrão: TRUE.

Diferentes combinações de valores para as propriedades PUBLISH e REVIEW resultam nos seguintes comportamentos:

PUBLISH

REVIEW

Comportamento

TRUE

TRUE

Solicite uma revisão e publique imediatamente após a revisão.

TRUE

FALSE

Resulta em um erro. Você não pode publicar uma listagem no Snowflake Marketplace sem revisão.

FALSE

TRUE

Solicite uma revisão sem publicar automaticamente após a revisão.

FALSE

FALSE

Salve sua listagem como rascunho sem solicitar revisão ou publicação.

Notas de uso

  • As listagens podem ser renomeadas somente no estado DRAFT.

  • Ao definir a versão ativa do manifesto do formato YAML para uma listagem, você deve usar COMMIT para aplicar as alterações ou ABORT para descartar as alterações.

Requisitos de controle de acesso

A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:

Privilégio

Objeto

Notas

OWNERSHIP ou MODIFY

Sobre a listagem sendo modificada.

Se estiver usando o comando ALTER para modificar o conteúdo do manifesto para o preenchimento automático, você deverá usar uma função com os privilégios delegados necessários para configurar o preenchimento automático entre nuvens. Consulte Delegar privilégios para configurar o preenchimento automático.

O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Exemplos

Altera a listagem MYLISTING para usar um arquivo de manifesto atualizado:

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

Envia a listagem MYLISTING para análise:

ALTER LISTING MYLISTING REVIEW;
Copy

Altera a listagem MYLISTING ao publicá-la:

ALTER LISTING MYLISTING PUBLISH;
Copy

Altera a listagem MYLISTING ao cancelar sua publicação:

ALTER LISTING MYLISTING UNPUBLISH;
Copy

Altera a listagem MYLISTING ao definir um novo comentário:

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

Adiciona uma nova versão do local de estágio do arquivo de manifesto YAML especificado:

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