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:
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 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, retornaFalse
.