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:
Adicione a tabela ao aplicativo. Consulte Compartilhe conteúdo de dados em um Snowflake Native App.
Add an entry for external and Iceberg tables to the manifest.
Cuidado
Antes que um aplicativo possa acessar uma tabela externa ou Iceberg compartilhada, o consumidor deve fornecer explicitamente permissão ao aplicativo para usar a tabela. Para obter mais informações, consulte Habilitação de tabelas externas e Apache 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.”
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 permitir que um aplicativo Streamlit personalizado acesse tabelas externas e Iceberg, o Python Permission SDK oferece as seguintes funções:
request_external_data() -> NoneFaz 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() -> booleanDetermina se o consumidor permitiu que o aplicativo usasse tabelas externas ou Iceberg. Retorna
Truese permitido. Caso contrário, retornaFalse.
Como alternativa, um consumidor pode executar a função do sistema SYSTEM$SET_APPLICATION_RESTRICTED_FEATURE_ACCESS para permitir que um aplicativo acesse tabelas externas e do Iceberg.