CREATE LISTING

Crie uma listagem gratuita para compartilhar diretamente com consumidores específicos, com um manifesto YAML inline ou a partir de um arquivo localizado em um local de estágio.

Consulte também:

ALTER LISTING, DESCRIBE LISTING, SHOW LISTINGS, SHOW VERSIONS IN LISTING, DROP LISTING, Listagem de referência de manifesto

Sintaxe

CREATE EXTERNAL LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  AS '<yaml_manifest_string>'
  [ PUBLISH = { TRUE | FALSE } ]
  [ REVIEW = { TRUE | FALSE } ]
  [ COMMENT = '<string>' ]

CREATE EXTERNAL LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  FROM '<yaml_manifest_stage_location>'
  [ PUBLISH = { TRUE | FALSE } ]
  [ REVIEW = { TRUE | FALSE } ]
Copy

Parâmetros

name

Especifica o identificador (nome) da listagem. Ele deve estar em conformidade com o seguinte:

  • Deve ser único em uma organização, independentemente da Snowflake Region em que a conta está localizada.

  • Deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, exceto sublinhados (_).

SHARE share_name

Especifica o identificador do compartilhamento a ser anexado à listagem.

APPLICATION PACKAGE package_name

Especifica o pacote do aplicativo anexado à listagem.

Consulte também SHOW APPLICATION PACKAGES.

AS 'yaml_manifest_string'

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

FROM 'yaml_manifest_stage_location'

Especifica o caminho para o arquivo manifest.yml do estágio interno ou do clone do repositório Git.

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.

COMMENT = 'string_literal'

Um comentário para a listagem.

Padrão: sem valor

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

CREATE DATA EXCHANGE LISTING

Conta

Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed.

Privilégios delegados para configurar o preenchimento automático entre nuvens.

Se o comando ALTER estiver modificando o conteúdo do manifesto para preenchimento automático.

Consulte Preenchimento automático de listagens.

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.

Notas de uso

  • Listagens criadas usando CREATE LISTING … são publicadas automaticamente. Para obter informações sobre as operações de publicação e cancelamento da publicação, consulte ALTER LISTING.

Exemplos

Cria uma listagem chamada “MYLISTING” com um manifesto de formato YAML específico e a envia para revisão e posterior publicação.

Para obter exemplos adicionais e casos de uso associados ao gerenciamento de listagens usando SQL, consulte Gerenciamento de listagens com SQL como um provedor – Exemplos.

Nota

Este exemplo usa os valores padrão para PUBLISH e REVIEW.

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

Cria um rascunho de listagem chamado “MYLISTING” com um manifesto de formato YAML específico:

CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE AS
$$
title: "MyListing"
subtitle: "Subtitle for MyListing"
description: "Description for MyListing"
listing_terms:
  type: "OFFLINE"
targets:
   regions: ["PUBLIC.AWS_US_EAST_1", "PUBLIC.AZURE_WESTUS2"]
usage_examples:
   - title: "this is a test sql"
     description: "Simple example"
     query: "select *"
$$ PUBLISH=FALSE REVIEW=FALSE;
Copy

Cria um rascunho de listagem chamado ‘MYLISTING’ em um local específico do estágio. No exemplo a seguir, o arquivo manifest.yml está localizado na pasta listingmanifests no estágio denominado listingstage.

CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE FROM @dbforstage.public.listingstage/listingmanifests;
Copy