Listagem de referência de manifesto

A criação de listagens do Snowflake programaticamente requer um manifesto, escrito em YAML (https://yaml.org/spec/). Use as informações fornecidas aqui para saber mais sobre o formato do manifesto e suas seções individuais.

Consulte também:

CREATE LISTING, ALTER LISTING, DESCRIBE LISTING, SHOW LISTINGS, DROP LISTING

Nota

Os campos podem ser qualquer um dos seguintes:

  • Opcional – para listagens de marketplace ou listagens privadas.

  • Obrigatório – para listagens de marketplace ou listagens privadas.

  • Qualificado – os requisitos diferem para listagens de marketplace ou listagens privadas e opcional vs. obrigatório é qualificado por tipo de listagem. Por exemplo, opcional para listagens privadas, mas obrigatório para listagens de marketplace.

O formato geral de um manifesto de listagem é:

#
# Listing prefix
#
title: <listing title>
subtitle: <Optional listing subtitle>
description: <listing description>
profile : <Optional name of the provider profile>

listing_terms:
  - # Required listing terms that the consumer must sign
auto_fulfillment:
  - # Required when the target accounts are outside the provider's region, otherwise optional.
data_dictionary:
  - # Optional data dictionary
business_needs:
  - # Optional <List>BusinessNeed elements, maximum 6.
usage_examples:
  - # Optional <List>UsageExample elements, maximum 10.
targets:
  - # Required <List> Consumer accounts to target with this private listing
Copy

As seções a seguir detalham cada campo de manifesto de listagem, campos filho e fornecem exemplos associados.

Prefixo de listagem

Cada manifesto de listagem começa com os seguintes campos:

  • title (cadeia de caracteres, obrigatório, comprimento máximo de 110): Título da listagem.

  • subtitle (cadeia de caracteres, opcional para privado, obrigatório para listagens de marketplace, comprimento máximo de 110): Subtítulo da listagem.

  • description (cadeia de caracteres, obrigatório, comprimento máximo de 7.500): Descrição da listagem.

  • custom_contact (cadeia de caracteres, opcional): E-mail. Deve ser um endereço de e-mail válido e bem formatado.

  • profile (cadeia de caracteres, opcional para listagens privadas, obrigatório para listagens de marketplace): Nome de um perfil de provedor aprovado.

Para obter mais informações, consulte Informações básicas de provedor.

Nota

Os valores para profile podem ser encontrados executando show profiles in data exchange SNOWFLAKE_DATA_MARKETPLACE;.

Exemplo de prefixo de listagem

title: Weather information
subtitle: Historical weather by postcode.
description: This listing includes historical weather data by post code.
profile: My provider profile
Copy

listing_terms

O campo obrigatório listing_terms contém os seguintes pares de nome e valor:

  • listing_terms.type (enumeração, obrigatório): deve ser um dos seguintes:

    • STANDARD – Refere-se ao Contrato padrão para produtos do Marketplace.

    • OFFLINE – Indica que os termos são negociados offline pelas partes.

    • CUSTOM – Quando especificado, deve especificar um valor para listing_terms.link.

  • listing_terms.link (obrigatório quando o tipo é CUSTOM): Um link totalmente qualificado para os termos de listagem do provedor deve começar com http ou https.

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"
. . .
Copy

targets

O campo targets é obrigatório para listagens privadas e de marketplace.

Contém uma lista, máximo de 100 elementos:

  • targets.accounts (obrigatório se targets.region não estiver presente): Lista de contas com as quais compartilhar a listagem.

    Cada conta de destino deve estar no formato <OrgName>.<AccountName>, onde:

ou

  • targets.regions (Obrigatório se targets.accounts não estiver presente):

    Lista de regiões com as quais compartilhar a listagem.

    Cada região de destino deve ter o formato “região_grupos_tipo.região_snowflake”. Além disso, “ALL” é compatível com a inclusão de todas as regiões.

    Por exemplo, “PUBLIC AWS_US_EAST_1”

    Para obter uma lista completa de tipos de grupos de regiões e regiões Snowflake, execute:

    SHOW REGIONS IN DATA EXCHANGE SNOWFLAKE_DATA_MARKETPLACE;
    
    Copy

Para obter mais informações, consulte Contas de consumidores (somente listagens privadas).

Exemplos targets

Defina um conjunto de contas de destino para esta listagem.

. . .
targets:
   accounts: ["Org1.Account1", "Org2.Account2"]
. . .
Copy

Defina um conjunto de regiões de destino para esta listagem.

. . .
targets:
   regions: ["PUBLIC.AWS_US_EAST_1", "PUBLIC.AZURE_WESTUS2"]
. . .
Copy

auto_fulfillment

O preenchimento automático entre nuvens permite que o produto de dados associado a uma listagem seja atendido automaticamente em outras regiões Snowflake. O campo auto_fulfillment define como esse preenchimento automático ocorre.

Para obter mais informações sobre o preenchimento automático entre nuvens, consulte Configuração do preenchimento automático entre nuvens.

Opcional somente se você estiver compartilhando com contas na mesma região; caso contrário, é obrigatório.

O campo auto_fulfillment é:

  • Obrigatório se o seu produto de dados for um pacote de aplicativos.

  • Obrigatório para listagens privadas se as contas de destino estiverem fora da região do provedor.

  • Opcional, mas recomendado para listagens de marketplace se seu produto de dados for um compartilhamento.

Contém os seguintes pares de nome e valor:

  • auto_fulfillment.refresh_schedule

    • <num> MINUTE – Número de minutos. Mínimo de 10 minutos, máximo de 8 dias ou 11.520 minutos.

      Se refresh_type for especificado como SUB_DATABASE_WITH_REFERENCE_USAGE, não inclua esta configuração. O cronograma de atualização dos pacotes de aplicativo deve ser definido ao nível da conta e não pode ser especificado ao nível da listagem.

      Para obter mais informações, consulte Definição da frequência de atualização no nível da conta.

    • USING CRON <expression> – Define o cronograma de atualização de preenchimento automático do produto de dados.

      A sintaxe para USING CRON e REPLICATION SCHEDULE é a mesma. Consulte os parâmetros CREATEREPLICATIONGROUP.

  • auto_fulfillment.refresh_type (necessário ao usar auto_fulfillment): Deve ser um dos seguintes:

    • SUB_DATABASE – replicação de banco de dados (nível de objeto) – recomendado.

    • SUB_DATABASE_WITH_REFERENCE_USAGE – pacote de aplicativo.

    • FULL_DATABASE – replicação de banco de dados (para todo o banco de dados)

  • auto_fulfillment.refresh_schedule_override (opcional): Substitui a frequência de atualização definida para todas as listagens que usam o mesmo banco de dados. Quando esse valor é FALSE, as atualizações de listagem falham quando várias listagens que compartilham o mesmo banco de dados têm frequências de atualização diferentes.

    • TRUE – habilita a substituição da frequência de atualização.

    • FALSE – (padrão) desabilita a substituição da frequência de atualização.

Consulte também Configuração do preenchimento automático entre nuvens.

Exemplos auto_fulfillment.refresh_schedule

O exemplo a seguir atualiza o produto de dados associado a uma listagem a cada 10 minutos:

. . .
listing_terms: . . .
. . .
auto_fulfillment:
  refresh_schedule: 10 MINUTE
  refresh_type: SUB_DATABASE
. . .
Copy

O exemplo a seguir atualiza o produto de dados associado a uma listagem em dias e horários específicos em regiões específicas:

. . .
listing_terms: . . .
. . .
auto_fulfillment:
  refresh_schedule: USING CRON  0 17 * * MON-FRI Europe/London
  refresh_type: SUB_DATABASE
. . .
Copy

O exemplo a seguir habilita a substituição da frequência de atualização para listagens que compartilham o mesmo banco de dados, mas têm frequências de atualização diferentes:

. . .
listing_terms: . . .
. . .
auto_fulfillment:
  refresh_schedule: 10 MINUTE
  refresh_type: SUB_DATABASE
  refresh_schedule_override: TRUE
. . .
Copy

Exemplo de Snowflake Native App auto_fulfillment

SUB_DATABASE_WITH_REFERENCE_USAGE só pode ser usado com pacotes de aplicativo e não pode ser combinado com auto_fulfillment.refresh_schedule.

. . .
listing_terms: . . .
. . .
auto_fulfillment:
  refresh_type: SUB_DATABASE_WITH_REFERENCE_USAGE
. . .
Copy

Exemplo de auto_fulfillment no nível de objeto

. . .
listing_terms: . . .
. . .
auto_fulfillment:
  refresh_type: SUB_DATABASE
. . .
Copy

business_needs

As listagens são agrupadas por necessidades comerciais para serem encontradas com facilidade. A necessidade comercial descreve como uma listagem específica atende a uma determinada necessidade comercial. Para obter mais informações, consulte Necessidades comerciais.

Necessidades comerciais STANDARD

  • business_needs.name (necessário ao usar business_needs):

    Os valores válidos incluem:

    • “Visão do cliente de 360 graus”

    • “Cadeia de suprimentos”

    • “Personalização das experiências do cliente”

    • “Gerenciamento de inventário”

    • “Aceleração da receita de publicidade”

    • “Análise de atribuição”

    • “Enriquecimento dos dados de contato”

    • “Análise de tráfego de pedestres”

    • “Segmentação de público”

    • “Análise de sentimentos”

    • “Análise de investimentos de ESG”

    • “Análise fundamental”

    • “Análise quantitativa”

    • “Análise de risco”

    • “Remediação de fraude”

    • “Integração de clientes”

    • “Resolução de identidade”

    • “Avaliação de ativos”

    • “Análise de impacto econômico”

    • “Previsão de demanda”

    • “Gerenciamento da saúde da população”

    • “Dados do mundo real (RWD)”

    • “Planejamento de localização”

    • “Relatórios regulatórios”

    • “Aquisição e retenção de assinantes”

    • “Comercialização de ciências da vida”

    • “Paciente 360”

    • “Análise de blockchain”

    • “Aquisição de clientes”

    • “Qualidade e limpeza de dados”

    • “Enriquecimento de dados de localização”

    • “Geocodificação de localização”

    • “Aprendizado de máquina”

    • “Análise de mercado”

    • “Análise de preços”

    • “Ativação do público”

business_needs[].description (necessário ao usar business_needs): Descrição do business_needs.name associado, comprimento máximo de 1.000.

business_needs[].type: STANDARD (opcional)

Necessidades comerciais CUSTOM

As necessidades comerciais personalizadas incluem um usuário definido name, description, e um campo type obrigatório com valor CUSTOM.

business_needs.name (necessário ao usar business_needs): Nome definido pelo usuário.

business_needs[].description (necessário ao usar business_needs): Descrição do business_needs.name associado, comprimento máximo de 1.000.

business_needs[].type: CUSTOM (necessário ao definir necessidades comerciais personalizadas).

Exemplos business_needs

Padrão sem type opcional

. . .
business_needs:
 - name: "Real World Data (RWD)"
   description: "Global weather data"
. . .
Copy

Padrão com type opcional

. . .
business_needs:
 - name: "Real World Data (RWD)"
   description: "Global weather data"
   type: STANDARD
. . .
Copy

Personalizado com type obrigatório

. . .
business_needs:
 - name: "Machinery Maintenance"
   description: "Repair and maintenance data for machinery"
   type: CUSTOM
. . .
Copy

categories

O campo categories especifica a categoria ou área à qual a listagem pertence. As categorias são opcionais para listagens privadas, mas obrigatórias para listagens de marketplace.

As categorias são usadas no Snowflake Marketplace para navegar em listagens por área e ajudar os consumidores a encontrar seus dados.

O campo categories é uma lista, mas pode conter apenas uma entrada, do conjunto abaixo:

  • BUSINESS

  • CONNECTORS

  • DEMOGRAPHICS

  • ECONOMY

  • ENERGY

  • ENVIRONMENT

  • FINANCIAL

  • GOVERNMENT

  • HEALTH

  • IDENTITY

  • LEGAL

  • LOCAL

  • LOOKUP_TABLES

  • MARKETING

  • MEDIA

  • SECURITY

  • SPORTS

  • TRANSPORTATION

  • TRAVEL

  • WEATHER

Exemplo de categories

. . .
categories:
 - ECONOMY
. . .
Copy

data_attributes

Os atributos de dados fornecem aos consumidores informações sobre a listagem, como taxa de atualização e outras características.

O campo data_attributes é opcional para listagens privadas, mas obrigatório para listagens de marketplace.

Para obter informações adicionais sobre atributos de produtos de dados, consulte Produto de dados - Atributos.

Contém os seguintes pares de nome e valor:

  • data_attributes.refresh_rate (obrigatório)

    Especifica com que frequência seu produto de dados é atualizado no Snowflake.

    Uma das opções:

    • CONTINUOUSLY

    • HOURLY

    • DAILY

    • WEEKLY

    • MONTHLY

    • QUARTERLY

    • ANNUALLY

    • STATIC

  • data_attributes.geography (obrigatório), contendo:

    Especifica as regiões geográficas para as quais seu produto de dados tem cobertura.

    • granularity (cadeia de caracteres, obrigatório)

      Cobertura geográfica do seu conjunto de dados.

      Uma das opções:

      • LATITUDE_LONGITUDE

      • ADDRESS

      • POSTAL_CODE

      • CITY

      • COUNTY

      • STATE

      • COUNTRY

      • REGION_CONTINENT

    • geo_option (cadeia de caracteres, obrigatório)

      Uma das opções:

      • NOT_APPLICABLE

      • GLOBAL

      • COUNTRIES

    • coverage (necessário com base na seleção de geo_option), contendo:

      • states (lista de cadeia de caracteres) contendo qualquer lista de nomes de estados válidos dos EUA.

      Ou

      • continents (lista de cadeias de caracteres):

        Qualquer uma destas opções:

        • ASIA

        • EUROPE

        • AFRICA

        • NORTH AMERICA

        • SOUTH AMERICA

        • OCEANIA

        • ANTARCTICA

    • time (obrigatório) contendo:

      Especifica o período que seu produto de dados cobre.

      • granularity (obrigatório)

      Uma das opções:

      • EVENT_BASED

      • HOURLY

      • DAILY

      • WEEKLY

      • MONTHLY

      • YEARLY

      • time_range (obrigatório) contém os seguintes pares nome/valor:

        • time_frame (obrigatório)

          Uma das opções:

          • NEXT

          • LAST

          • BETWEEN

        • unit (obrigatório)

          Uma das opções:

          • DAYS

          • WEEKS

          • MONTHS

          • YEARS

        • value (obrigatório quando time_frame é NEXT/LAST, inteiro), intervalo de 1 a 100.

        • start_time (obrigatório quando time_frame é BETWEEN, dados de cadeia de caracteres), formato MM-DD-YYYY.

        • end_time (obrigatório quando time_frame é BETWEEN, data de cadeia de caracteres), formato MM-DD-YYYY.

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
Copy

data_dictionary

O campo data_dictionary fornece aos consumidores insights sobre o conteúdo e a estrutura de uma listagem antes de instalá-la em sua conta. É opcional para listagens privadas, mas obrigatório para listagens de marketplace.

O campo data_dictionary contém uma lista de até cinco entradas de dicionário de dados:

  • data_dictionary.featured (necessário ao usar data_dictionary): deve ser “destacado”.

  • data_dictionary.featured.database (necessário ao usar data_dictionary): nome do banco de dados.

  • data_dictionary.featured.objects (necessário ao usar data_dictionary): lista de pares de nome e valor –

    • name (cadeia de caracteres, obrigatório): nome do objeto

    • schema (cadeia de caracteres, obrigatório): esquema

    • domain (obrigatório):

      Uma das opções:

      • DATABASE

      • SCHEMA

      • TABLE

      • VIEW

      • EXTERNAL_TABLE

      • MATERIALIZED_VIEW

      • DIRECTORY_TABLE

      • FUNCTION

      • COLUMN

Consulte também 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"
. . .
Copy

usage_examples

O campo usage_examples é opcional para listagens privadas, mas obrigatório para listagens de marketplace.

Contém uma lista dos seguintes pares de nome e valor:

  • usage.title (Cadeia de caracteres, obrigatório): Título do exemplo de uso, comprimento máximo de 110 caracteres.

  • usage.description (Cadeia de caracteres, opcional): Descrição associada, comprimento máximo de 300 caracteres.

  • usage.query (Cadeia de caracteres, obrigatório): Consulta associada ao exemplo de uso, 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'";
. . .
Copy

resources

Os recursos contêm informações sobre a listagem, incluindo links para documentação e um vídeo.

O campo resources é opcional para listagens privadas, mas obrigatório para listagens de marketplace.

Contém os seguintes pares de nome e valor:

  • 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 com http ou https.

  • 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 obter mais informações, consulte Detalhes da listagem.

Exemplo de resources

. . .
resources:
  documentation: https://www.example.com/documentation/
  media: https://www.youtube.com/watch?v=MEFlT3dc3uc
. . .
Copy

Exemplo de YAML completo de uma listagem de compartilhamento de dados

title: "Covid data listing"
subtitle: "Listing about covid"
description: "Example covid manifest"
profile: "MyProfile"
listing_terms:
  type: "STANDARD"
targets:
  accounts: ["Org1.Account1", "Org2.Account2"]
auto_fulfillment:
  refresh_schedule: "120 MINUTE"
  refresh_type: "SUB_DATABASE"
business_needs:
  - name: "Life Sciences Commercialization"
    description: "COVID-19 Epidemiological Data"
usage_examples:
  - title: "Get total case count by country"
    description: "Calculates the total number of cases by country, aggregated over time."
    query: "SELECT  COUNTRY_REGION, SUM(CASES) AS Cases FROM ECDC_GLOBAL GROUP BY COUNTRY_REGION;"
data_attributes:
  refresh_rate: HOURLY
  geography:
    granularity:
      - ADDRESS
    geo_option: COUNTRIES
    coverage:
      continents:
        ASIA:
          - INDIA
          - CHINA
        NORTH AMERICA:
          - UNITED STATES
          - CANADA
        EUROPE:
          - UNITED KINGDOM
  time:
    granularity: MONTHLY
    time_range:
      time_frame: BETWEEN
      start_date: 12-24-2020
      end_date: 12-25-2021
  resources:
    documentation: https://www.example.com/documentation/
    media: https://www.youtube.com/watch?v=MEFlT3dc3uc
categories:
 - HEALTH
Copy