CREATE ORGANIZATION LISTING¶
Crie uma listagem organizacional para compartilhar produtos de dados com segurança em sua organização.
Sintaxe¶
CREATE ORGANIZATION LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  AS '<yaml_manifest_string>'
  [ PUBLISH = { TRUE | FALSE } ]
CREATE ORGANIZATION LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  FROM '<yaml_manifest_stage_location>'
  [ PUBLISH = { TRUE | FALSE } ]
Parâmetros¶
- name
- Especifica o identificador (nome) da listagem. Ele deve estar em conformidade com o seguinte: - Deve ser exclusivo em uma conta, independentemente da Snowflake Region em que a conta está localizada. O Localizador uniforme de listagens (ULL) deve ser exclusivo dentro de uma organização. 
- Não pode conter sinais de dólar incorporados. 
- Deve estar em conformidade com os requisitos de identificador do Snowflake. Consulte Requisitos para identificadores. 
 
- FROM 'yaml_manifest_stage_location'
- Especifica o caminho para o arquivo manifest.yml do estágio interno ou do clone do repositório Git. 
- 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'
- O manifesto YAML para o perfil da organização. Para obter detalhes e exemplos de campos de manifesto, consulte Referência do manifesto da listagem da organização. - Os manifestos normalmente são fornecidos como strings entre cifrões. Para obter mais informações, consulte Constantes de cadeias de caracteres entre cifrões. 
- PUBLISH = { TRUE | FALSE }
- Especifica como publicar a listagem. - Se TRUE, a listagem é publicada no Marketplace Interno imediatamente. - Padrão: TRUE. 
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 ORGANIZATION LISTING ou CREATE LISTING | Conta | Para criar e alterar listagens organizacionais. | 
Uma função usada para executar esse comando SQL deve ter pelo menos um dos seguintes privilégios, no mínimo:
| Privilégio | Objeto | Notas | 
|---|---|---|
| CREATE ORGANIZATION LISTING | ACCOUNT | Para anexar a ação especificada ou o Snowflake Native App Framework especificado a uma listagem. Ao especificar um Snowflake Native App Framework, OWNERSHIP ou ATTACH LISTING também são necessários. | 
| IMPORT ORGANIZATION LISTING | ACCOUNT | Para montar uma listagem ou executar uma consulta que usa um Uniform Listing Locator (ULL) para fazer referência a uma listagem organizacional. | 
Notas de uso¶
- Listagens criadas usando CREATE ORGANIZATION LISTING … são publicadas automaticamente. 
Exemplos¶
Este exemplo cria uma listagem chamada MYORGLISTING usando as configurações especificadas no manifesto YAML. Ele visa a uma função em uma conta em uma região e inclui contatos de suporte e aprovação.
Nota
support_contact é obrigatório. approver_contact é obrigatório se for fornecido um destino discovery.
USE ROLE <organization_listing_role>;
CREATE ORGANIZATION LISTING MYORGLISTING
SHARE <share_name> AS
$$
title: "My title"
description: "One region, all accounts"
organization_profile: "INTERNAL"
organization_targets:
  discovery:
    - account: "<account_name>"
      roles:
        - "<role>"
  access:
    - account: "<account_name>"
      roles:
        - "<role>"
support_contact: "support@somedomain.com"
approver_contact: "approver@somedomain.com"
locations:
   access_regions:
   - name: "PUBLIC.<snowflake_region>"
$$
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 ORGANIZATION LISTING MYLISTING
SHARE MySHARE FROM @dbforstage.public.listingstage/listingmanifests;