Acesso à rede externa no Streamlit in Snowflake¶
Este tópico descreve como criar acesso seguro a locais de rede externos ao Snowflake.
Acesso à rede externa no Streamlit in Snowflake¶
É possível criar acesso seguro a locais de rede específicos externos ao Snowflake e usar esse acesso de dentro do código do aplicativo Streamlit. É possível habilitar o acesso por meio de uma integração de acesso externo.
Para que um app Streamlit use uma integração de acesso externo (EAI), é possível executar o comando CREATE STREAMLIT ou ALTER STREAMLIT e definir o parâmetro EXTERNAL_ACCESS_INTEGRATIONS para incluir essa EAI.
Com uma EAI, é possível usar bibliotecas Python que acessam locais externos, como requests ou urllib, e usar bibliotecas de terceiros que exigem acesso a um local de rede.
Para obter mais informações, consulte Visão geral do acesso à rede externa.
Exemplo: Acesse a API OpenAI¶
O exemplo a seguir mostra como criar uma EAI para uma solicitação de saída para a OpenAI API:
Para criar uma regra de rede que represente o local da rede externa e as restrições de acesso, use o comando CREATE NETWORK RULE:
Para obter mais informações, consulte Criação de uma regra de rede para representar o local da rede externa.
Para criar um segredo que represente as credenciais necessárias para autenticação no local da rede externa, use o comando CREATE SECRET:
Para obter mais informações, consulte Criação de um segredo para representar credenciais.
Para criar uma EAI, execute o comando CREATE EXTERNAL ACCESS INTEGRATION, configurando ALLOWED_NETWORK_RULES como a regra de rede que você criou e ALLOWED_AUTHENTICATION_SECRETS como o segredo que você criou:
Para conceder os privilégios necessários para usar os objetos SECRET e INTEGRATION para acesso externo ao criador do aplicativo Streamlit, use o comando GRANT <privilégios> … TO ROLE:
Para permitir que o aplicativo Streamlit use a integração, execute o comando ALTER STREAMLIT, configurando a propriedade EXTERNAL_ACCESS_INTEGRATIONS para a integração:
Nota
Você também pode definir um novo objeto Streamlit para usar uma integração de acesso externo especificando o parâmetro EXTERNAL_ACCESS_INTEGRATIONS ao executar o comando CREATE STREAMLIT:
No código do aplicativo Streamlit, chame a API externa: