Streamlit in Snowflake の外部ネットワークアクセス¶
このトピックでは、Snowflake外部のネットワーク場所への安全なアクセスを作成する方法について説明します。
Streamlit in Snowflake の外部ネットワークアクセス¶
Snowflakeの外部にある特定のネットワークロケーションへの安全なアクセスを作成し、Streamlitアプリのコード内からそのアクセスを使用できるようになりました。アクセスは、外部アクセス統合を介して有効にすることができます。
Streamlit アプリが外部アクセス統合( EAI )を使用できるようにするには、 CREATE STREAMLIT または ALTER STREAMLIT コマンドを実行し、 EXTERNAL_ACCESS_INTEGRATIONS パラメーターをその EAI を含めるように設定します。
EAI を使えば、 requests や urllib のような、外部の場所にアクセスするPythonライブラリを使ったり、ネットワーク場所へのアクセスを必要とするサードパーティのライブラリを使ったりすることができます。
詳細については、 外部ネットワークアクセスの概要 をご参照ください。
例: OpenAI API にアクセスする¶
次の例は、 OpenAI API へのアウトバウンドリクエストのために、 EAI を作成する方法を示しています。
外部ネットワークの場所とアクセス制限を表すネットワークルールを作成するには、 CREATE NETWORK RULE コマンドを使用します。
詳細については、 外部ネットワークロケーションを表すネットワークルールの作成 をご参照ください。
外部ネットワーク拠点との認証情報に相当するシークレットを作成するには、 CREATE SECRET コマンドを使用します。
詳細については、 認証情報を表すシークレットの作成 をご参照ください。
EAI を作成するには、 CREATE EXTERNAL ACCESS INTEGRATION コマンドを実行し、 ALLOWED_NETWORK_RULES を作成したネットワークルールに、 ALLOWED_AUTHENTICATION_SECRETS を作成したシークレットに設定します。
Streamlit アプリ作成者に外部アクセス用の SECRET および INTEGRATION オブジェクトを使用するために必要な権限を付与するには、 GRANT <権限> ... TO ROLE コマンドを使用します。
Streamlit アプリが統合を使用できるようにするには、 ALTER STREAMLIT コマンドを実行し、 EXTERNAL_ACCESS_INTEGRATIONS プロパティを統合にセットします。
注釈
CREATE STREAMLIT コマンドの実行時に EXTERNAL_ACCESS_INTEGRATIONS パラメーターを指定することで、外部アクセス統合を使用する新しい Streamlit オブジェクトをセットアップすることもできます。
Streamlit アプリのコードで、外部 API を呼び出します。