Accès au réseau externe dans Streamlit in Snowflake¶
Cette rubrique décrit comment créer un accès sécurisé à des emplacements réseau externes à Snowflake.
Accès au réseau externe dans Streamlit in Snowflake¶
Vous pouvez créer un accès sécurisé à des emplacements réseau spécifiques externes à Snowflake, puis utiliser cet accès à partir du code de l’application Streamlit. Vous pouvez activer cet accès par le biais d’une intégration d’accès externe.
Pour permettre à une application Streamlit d’utiliser une intégration d’accès externe (EAI), vous pouvez exécuter la commande CREATE STREAMLIT ou ALTER STREAMLIT et définir le paramètre EXTERNAL_ACCESS_INTEGRATIONS à inclure dans cette EAI.
Avec une EAI, vous pouvez utiliser des bibliothèques Python qui accèdent à des emplacements externes, tels que requests ou urllib, et utiliser des bibliothèques tierces qui nécessitent l’accès à un emplacement réseau.
Pour plus d’informations, voir Vue d’ensemble de l’accès au réseau externe.
Exemple : accéder à l’API OpenAI¶
L’exemple suivant montre comment créer une EAI pour une requête sortante vers l’API OpenAI :
Pour créer une règle réseau qui représente l’emplacement du réseau externe et les restrictions d’accès, utilisez la commande CREATE NETWORK RULE :
Pour plus d’informations, voir Création d’une règle de réseau pour représenter l’emplacement réseau externe.
Pour créer un secret qui représente les identifiants requis pour s’authentifier auprès de l’emplacement réseau externe, utilisez la commande CREATE SECRET :
Pour plus d’informations, voir Création d’un secret pour représenter les identifiants de connexion.
Pour créer une EAI, exécutez la commande CREATE EXTERNAL ACCESS INTEGRATION, en réglant ALLOWED_NETWORK_RULES sur la règle réseau que vous avez créée et ALLOWED_AUTHENTICATION_SECRETS sur le secret que vous avez créé :
Pour accorder les privilèges nécessaires à l’utilisation des objets SECRET et INTEGRATION pour l’accès externe au créateur de l’application Streamlit, utilisez la commande GRANT <privilèges> … TO ROLE :
Pour permettre à l’application Streamlit d’utiliser l’intégration, exécutez la commande ALTER STREAMLIT, en définissant la propriété EXTERNAL_ACCESS_INTEGRATIONS sur l’intégration :
Note
Vous pouvez également définir un nouvel objet Streamlit pour qu’il utilise une intégration d’accès externe en spécifiant le paramètre EXTERNAL_ACCESS_INTEGRATIONS lorsque vous exécutez la commande CREATE STREAMLIT :
Dans le code de votre application Streamlit, appelez l’API externe :