シークレットへのアクセスのための API 参照情報¶
Java、PythonまたはScalaを使用して、 CREATE SECRET ステートメントで作成したシークレットに含まれる認証情報を取得することができます。このトピックでは、シークレットから情報を取得する方法を示します。これらはSnowflakeに含まれる APIs で利用できます。
シークレットアクセスのための Java API¶
Javaのコードでは、 com.snowflake.snowpark_java.types.SnowflakeSecrets クラスを使います。
注釈
ScalaコードでJava API を使用することもできます。
次のテーブルは、シークレット内のデータにアクセスするためのメソッドをリストしたものです。
メソッド |
説明 |
|---|---|
|
|
|
|
|
|
|
|
|
AWS など、クラウドプロバイダーとのセッションを作成するために使用できる値を含むクラウドプロバイダーのトークンを取得します。以下のメソッドを持つ
|
SnowflakeSecrets クラスを使うには
CREATE FUNCTION に記載されているように、 PACKAGES 句を使用してハンドラーコードでSnowparkライブラリを使用できるようにします。
ハンドラーコードで、
com.snowflake.snowpark_java.types.SnowflakeSecretsをインポートします。SnowflakeSecretsオブジェクトを作成し、上記のメソッドのいずれかを呼び出してシークレットにアクセスします。
次の例のコードは、 TYPE 句に設定された値を CREATE SECRET でシークレットを作成したときに取得します。ここで、 oauth_token のシークレットは、 OAUTH2 型です。
シークレットアクセスのためのPython API¶
Pythonのコードには、Snowflake内で実行されるPython UDFs に公開される _snowflake モジュールを使用します。次のテーブルは、シークレット内のデータにアクセスするための _snowflake 関数をリストしたものです。
関数 |
説明 |
|---|---|
|
|
|
|
|
|
|
|
|
AWS のような、クラウド・プロバイダーとのセッションを作成するために使用できる値を含むクラウド・プロバイダー・オブジェクトを取得します。以下の属性を持つ型を返します。
|
ハンドラーコードで _snowflake モジュールを使うには、他のモジュールと同じようにインポートします。
次の例のコードは、 TYPE 句に設定された値を CREATE SECRET でシークレットを作成したときに取得します。ここで、 oauth_token のシークレットは、 OAUTH2 型です。
以下の例のコードは、シークレットで保持されているユーザー名とパスワードを取得します。