Referência do manifesto da listagem da organização¶
Como provedor, você pode usar listagens organizacionais para compartilhar produtos de dados com segurança dentro de sua organização. Um manifesto, escrito em YAML (https://yaml.org/spec/), é necessário para criar listagens de organizações de forma programática. Use as informações fornecidas aqui para saber mais sobre o formato do manifesto e seus campos individuais.
Os campos de listagem da organização fazem parte da maior Listagem de referência de manifesto. Para adicionar ou modificar os campos organizacionais da listagem de forma programática, localize e modifique o manifesto da listagem usando os comandos DESCRIBE LISTING e ALTER LISTING.
Manifesto de listagem de organizações¶
Nota
Os campos de listagem organizacional podem ser um dos seguintes:
Opcional – Opcional para listagens organizacionais.
Obrigatório – Obrigatório para listagens organizacionais.
O formato geral de um manifesto de listagem de organização é o seguinte:
#
# Organization listing manifest
#
title: <Required listing title>
description: <listing description>
resources: <optional listing resources>
listing_terms: <optional listing terms>
data_dictionary: <optional data dictionary>
usage_examples: <optional usage examples>
data_attributes: <optional data attributes>
organization_profile: <Optional custom organization profile. Default "INTERNAL">
organization_targets:
- # Required
support_contact: "<support email address>"
- # Required
approver_contact: "<approver email address"
- # Required when the organization_targets includes the organization_targets.discover field
request_approval_type:
- # Optional. Can be REQUEST_AND_APPROVE_IN_SNOWFLAKE or REQUEST_AND_APPROVE_OUTSIDE_SNOWFLAKE.
locations:
- # Optional list of regions to share into.
auto_fulfillment:
- # Required when the target accounts are outside the provider's region, otherwise optional.
Campos de listagem da organização¶
Os manifestos de listagem de organizações incluem um prefixo, seguido de um conjunto de campos obrigatórios e opcionais.
Prefixo da listagem da organização¶
Cada manifesto de listagem de organizações começa com os seguintes campos:
title(cadeia de caracteres, obrigatório, comprimento máximo de 110): Título da listagem.description(Cadeia de caracteres, opcional, comprimento máximo de 7500): descrição da listagem. A sintaxe Markdown é suportada.resources(Cadeia de caracteres, opcional): recursos para a listagem.listing_terms(campos pai com filho, opcional): termos para a listagem.organization_profile(string, opcional): perfil de organização personalizado opcional. O padrão é INTERNAL se não for especificado.
resources¶
Recursos para a listagem.
O campo opcional resources contém os seguintes pares de valores de nome:
resources.documentation(cadeia de caracteres, obrigatório): Um link totalmente qualificado para uma página no site de seu provedor com documentação mais detalhada da listagem. Deve começar comhttpouhttps.resources.media(cadeia de caracteres, opcional): um link totalmente qualificado para um vídeo do YouTube não listado ou público da listagem.
Para saber mais sobre o tipo de informação que você pode incluir neste campo, consulte Detalhes.
Exemplo de resources¶
. . .
resources:
documentation: https://www.example.com/documentation/
media: https://www.youtube.com/watch?v=MEFlT3dc3uc
. . .
listing_terms¶
Define os termos de serviço para a listagem.
O campo opcional listing_terms contém os seguintes pares de valores de nome:
listing_terms.typeCUSTOM: somenteCUSTOMé aceito. Selisting_terms.typefor especificado, você também deverá especificar um valor paralisting_terms.link.
listing_terms.link: um link totalmente qualificado para os termos de listagem do provedor, que deve começar comhttpouhttps.
Para obter mais informações, consulte os Termos de serviço na tabela em Informações básicas.
Nota
Os consumidores podem aceitar termos de listagem programaticamente. Para mais informações entre em contato com o suporte Snowflake.
Exemplo de listing_terms¶
. . .
listing_terms:
type: "CUSTOM"
link: "http://example.com/my/listing/terms"
. . .
data_dictionary¶
O campo opcional data_dictionary fornece informações sobre visualização de dados e tipos de coluna para os objetos da listagem.
O campo data_dictionary contém uma lista de até cinco entradas de dicionário de dados:
data_dictionary.featured(necessário ao usardata_dictionary): deve ser “destacado”.data_dictionary.featured.database(obrigatório ao usardata_dictionary): o nome do banco de dados.data_dictionary.featured.objects(obrigatório ao usardata_dictionary): uma lista dos seguintes pares de valores de nome:name(cadeia de caracteres, obrigatório): o nome do objeto.schema(cadeia de caracteres, obrigatório): o esquema associado ao dicionário de dados.domain(obrigatório):Um dos seguintes:
DATABASE
SCHEMA
TABLE
VIEW
EXTERNAL_TABLE
MATERIALIZED_VIEW
DIRECTORY_TABLE
FUNCTION
COLUMN
Para obter mais informações, consulte Produto de dados - Dicionários de dados.
Exemplo de data_dictionary¶
. . .
data_dictionary:
featured:
database: "WEATHERDATA"
objects:
- name: "GLOBAL_WEATHER"
schema: "PUBLIC"
domain: "TABLE"
- name: "GLOBAL_WEATHER_REPORT"
schema: "PUBLIC"
domain: "TABLE"
. . .
usage_examples¶
O campo opcional usage_examples contém uma lista dos seguintes pares de valores de nome:
usage.title(cadeia de caracteres, obrigatório): o título do exemplo de uso. O comprimento máximo é de 110 caracteres.usage.description(cadeia de caracteres, opcional): uma descrição do exemplo de uso. O comprimento máximo é de 300 caracteres.usage.query(cadeia de caracteres, obrigatório): a consulta associada ao exemplo de uso. O comprimento máximo é de 30.000 caracteres.
Para obter mais informações, consulte Consultas SQL de exemplo.
Exemplo de usage_examples¶
. . .
usage_examples:
- title: "Return all weather for the US"
description: "Example of how to select weather information for the United States"
query: "select * from weather where country_code='USA'";
. . .
data_attributes¶
Os atributos de dados fornecem aos consumidores informações de listagem.
O campo opcional data_attributes contém os seguintes pares de valores de nome:
data_attributes.refresh_rate(obrigatório)Uma das seguintes opções: especifica a frequência com que o produto de dados é atualizado no Snowflake.
CONTINUOUSLY
HOURLY
DAILY
WEEKLY
MONTHLY
QUARTERLY
ANNUALLY
STATIC
data_attributes.geography(obrigatório):Especifica informações geográficas para o produto de dados.
granularity(cadeia de caracteres, obrigatório)Cobertura geográfica do conjunto de dados.
Um dos seguintes:
LATITUDE_LONGITUDE
ADDRESS
POSTAL_CODE
CITY
COUNTY
STATE
COUNTRY
REGION_CONTINENT
geo_option(cadeia de caracteres, obrigatório)Um dos seguintes:
NOT_APPLICABLE
GLOBAL
COUNTRIES
coverage(necessário com base na seleção degeo_option):states(lista de estados) contendo qualquer lista de nomes válidos de estados dos EUA.
Ou
continents(lista de continentes):Qualquer uma das seguintes opções:
ASIA
EUROPE
AFRICA
NORTH AMERICA
SOUTH AMERICA
OCEANIA
ANTARCTICA
time(obrigatório):Especifica o período de tempo para o produto de dados.
granularity(obrigatório)
Um dos seguintes:
EVENT_BASED
HOURLY
DAILY
WEEKLY
MONTHLY
YEARLY
time_range(obrigatório) contém os seguintes pares nome/valor:time_frame(obrigatório)Um dos seguintes:
NEXT
LAST
BETWEEN
unit(obrigatório)Um dos seguintes:
DAYS
WEEKS
MONTHS
YEARS
value(necessário quandotime_frameé NEXT/LAST, inteiro). O intervalo é de 1 a 100.start_time(obrigatório quandotime_frameé BETWEEN, data em formato de cadeia de caracteres). A hora de início do produto de dados. O formato é MM-DD-YYYY.end_time(obrigatório quandotime_frameé BETWEEN, data de cadeia de caracteres), formato MM-DD-YYYY.
Para obter informações adicionais sobre atributos de produtos de dados, consulte Produto de dados - Atributos.
Exemplo de data_attributes¶
. . .
data_attributes:
refresh_rate: DAILY
geography:
granularity:
- REGION_CONTINENT
geo_option: COUNTRIES
coverage:
continents:
ASIA:
- INDIA
- CHINA
NORTH AMERICA:
- UNITED STATES
- CANADA
EUROPE:
- UNITED KINGDOM
time:
granularity: MONTHLY
time_range:
time_frame: LAST
unit: MONTHS
value: 6
organization_targets¶
O campo obrigatório organization_targets define quem pode descobrir e acessar a listagem.
Contém os campos discovery e access, sendo que pelo menos um deles deve ser especificado.
discoveryObrigatório quando
accessnão é especificado, caso contrário é opcional. Define quem pode descobrir a listagem. Quando não está presente, nenhuma conta pode descobrir a listagem.accessObrigatório quando
discoverynão é especificado, caso contrário é opcional. Define quem pode acessar a listagem.
Tanto discovery quanto access contêm os mesmos campos filho.
Uma das seguintes opções:
all_internal_accounts : {true | false}Quando
verdadeiro, todas as contas internas poderão encontrar ou acessar a listagem. Quandofalso, nenhuma conta poderá encontrar ou acessar a listagem.- Ou uma matriz de contas, seguida pela matriz opcional
rolesdentro das contas especificadas. - account: "<account_name>"
Quando roles está presente, ele especifica uma lista de funções dentro da conta que podem acessar ou descobrir a listagem. Por exemplo:
…
roles: [ 'role1','role2']…
Exemplos organization_target¶
Os exemplos a seguir mostram várias combinações dos campos discovery e access.
Todas as contas internas da organização podem descobrir e acessar a listagem¶
. . .
organization_targets:
discovery:
- all_internal_accounts : true
access:
- all_internal_accounts : true
. . .
Descobrível, mas acessível apenas por contas limitadas¶
Todas as contas internas da organização podem descobrir a listagem, mas apenas as contas financeiras podem acessá-lo.
. . .
organization_targets:
discovery:
- all_internal_accounts : true
access:
- account: 'finance'
. . .
Descobrível, mas acessível apenas por contas selecionadas¶
Todas as contas internas da organização podem descobrir a listagem, mas apenas as contas financeiras ou de crédito podem acessá-lo.
. . .
organization_targets:
discovery:
- all_internal_accounts : true
access:
- account: 'finance'
- account: 'credit'
. . .
Descobrível, mas acessível apenas por contas limitadas e funções específicas¶
Todas as contas internas da organização podem descobrir a listagem, mas apenas as contas financeiras que tenham a função contábil ou débito podem acessá-la.
. . .
organization_targets:
discovery:
- all_internal_accounts : true
access:
- account: 'finance'
roles: [ 'accounting','debit']
. . .
support_contact¶
O endereço de e-mail para informações de suporte associadas à listagem.
Obrigatório quando o campo discovery é especificado.
. . .
support_contact: "support@exampledomain.com"
. . .
approver_contact¶
O endereço de e-mail do aprovador da listagem.
Obrigatório quando o campo discovery é especificado.
. . . approver_contact: "approver@exampledomain.com" . . .
request_approval_type¶
Define whether approval requests and approvals will happen inside or outside of Snowflake. Specify one of the following values:
NULLREQUEST_AND_APPROVE_IN_SNOWFLAKEindicates access requests are submitted and approved within the Snowflake environment.REQUEST_AND_APPROVE_OUTSIDE_SNOWFLAKEindicates the provider manages access request submissions and approvals independently.
The value for external listings is always NULL.
. . . request_approval_type: "REQUEST_AND_APPROVE_IN_SNOWFLAKE" . . .
locations¶
Especifica os locations opcionais que pode descobrir ou acessar a listagem.
O campo access_regions é obrigatório quando locations é especificado e deve incluir um dos seguintes subcampos:
ALL– Todas as regiões podem descobrir ou acessar a listagem.Uma matriz de nomes de regiões prefixados com
PUBLICque podem descobrir ou acessar a listagem. Por exemplo,access_regions: - name: PUBLIC.AWS_US_WEST_2.. . . locations: access_regions: - name: "<names | ALL>" . . .
Para obter uma lista completa das regiões, consulte SHOW REGIONS.
auto_fulfillment¶
Cross-Cloud Auto-fulfillment allows the data product associated with a listing
to be automatically fulfilled to other Snowflake regions.
The auto_fulfillment field defines how that auto-fulfillment takes place.
For more information on Cross-Cloud Auto-fulfillment, see Preenchimento automático de listagens.
Auto-fulfillment is only required if you’re sharing data to multiple regions. Do not enable it if you are sharing to accounts in the same region.
If you share data across multiple regions, the auto_fulfillment is:
Required if your data product is an application package.
Required if your data product is shared through a private listing.
Recommended if your data product is shared through a public listing.
Contains the following name value pairs:
auto_fulfillment.refresh_schedule<num> MINUTE- Number of minutes. Minimum 10 minutes, maximum 8 days, or 11520 minutes.If
refresh_typeis specified asSUB_DATABASE_WITH_REFERENCE_USAGE, do not include this setting. The refresh schedule for application packages must be defined at the account level and cannot specified at the listing level.For more information see Definir o intervalo de atualização no nível da conta.
USING CRON <expression>- Defines the data product auto-fulfillment refresh schedule.The syntax for
USING CRONandREPLICATION SCHEDULEare the same. See Parâmetros.auto_fulfillment.refresh_type(required when usingauto_fulfillment): Must be one of -SUB_DATABASE- database replication (object level) - recommended.SUB_DATABASE_WITH_REFERENCE_USAGE- application package.FULL_DATABASE- database replication (for the entire database)
auto_fulfillment.refresh_schedule_override(optional): Overrides the defined update refresh frequency for all listings that use the same database. When this value isFALSE, listing updates fail when multiple listings sharing the same database have different refresh frequencies.TRUE- enables the refresh frequency override.FALSE- (default) disables the refresh frequency override.
See also Preenchimento automático de listagens.
auto_fulfillment.refresh_schedule examples¶
The following example refreshes the data product associated with a listing every 10 minutes:
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_schedule: 10 MINUTE
refresh_type: SUB_DATABASE
. . .
The following example refreshes the data product associated with a listing on specific days and times in specific regions:
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_schedule: USING CRON 0 17 * * MON-FRI Europe/London
refresh_type: SUB_DATABASE
. . .
The following example enables the refresh frequency override for listings that share the same database but have different refresh frequencies:
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_schedule: 10 MINUTE
refresh_type: SUB_DATABASE
refresh_schedule_override: TRUE
. . .
Snowflake Native App auto_fulfillment example¶
SUB_DATABASE_WITH_REFERENCE_USAGE can only be used with application packages
and cannot be combined with auto_fulfillment.refresh_schedule.
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_type: SUB_DATABASE_WITH_REFERENCE_USAGE
. . .
Object level auto_fulfillment example¶
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_type: SUB_DATABASE
. . .