Solicitação de acesso a tabelas externas e Apache Iceberg™

Este tópico descreve como um provedor pode configurar um aplicativo para solicitar que um consumidor permita que o aplicativo acesse tabelas externas e Apache Iceberg™ que um provedor compartilha em um aplicativo.

Sobre tabelas externas e Iceberg em um Snowflake Native App

O Snowflake Native App Framework permite que provedores compartilhem tabelas externas e Tabelas Apache Iceberg™ com consumidores. Para obter informações gerais, consulte Suporte para tabelas externas e Iceberg.

Para incluir uma tabela externa ou Iceberg em um aplicativo:

  1. Adicione a tabela ao aplicativo. Consulte Compartilhe conteúdo de dados em um Snowflake Native App.

  2. Como adicionar uma entrada para tabelas externas e Iceberg ao manifesto

  3. Como solicitar permissões para acessar tabelas externas e Iceberg

Como adicionar uma entrada para tabelas externas e Iceberg ao manifesto

Para incluir tabelas externas ou Iceberg em um aplicativo, os provedores devem adicionar uma entrada no arquivo de manifesto, conforme mostrado no exemplo a seguir:

restricted_features:
  EXTERNAL_DATA:
  description: “The reason for enabling an external or Iceberg table.”
Copy

Como solicitar permissões para acessar tabelas externas e Iceberg

Por questões de segurança e custo, os consumidores devem fornecer explicitamente a um aplicativo permissões para usar uma tabela externa ou Iceberg.

Nota

Se um aplicativo tentar resolver uma tabela externa ou Iceberg diretamente no script de configuração, o script de configuração falhará se o consumidor ainda não tiver fornecido permissão ao aplicativo. Para acessar dados externos, por exemplo, para criar uma exibição de uma tabela externa, os provedores devem criar a exibição em um procedimento armazenado no script de configuração. O aplicativo pode então chamar o procedimento armazenado depois que o consumidor der permissão ao aplicativo.

Para criar um Snowsight que permita que os consumidores autorizem o acesso a tabelas externas e Iceberg, o Python Permission SDK fornece as seguintes funções:

request_external_data() -> None

Faz Snowsight exibir uma caixa de diálogo que solicita ao consumidor que permita que o aplicativo acesse as tabelas externas ou Iceberg exigidas pelo aplicativo.

is_external_data_enabled() -> boolean

Determina se o consumidor permitiu que o aplicativo usasse tabelas externas ou Iceberg. Retorna True se permitido. Caso contrário, retorna False.