要約:◀▼
OAuth 2.0認証を使用して、アクションフローをSnowflakeに接続することで、SQLクエリ、テーブル検索、スキーマ参照などのワークフローを自動化できます。安全なインテグレーションのため、専用のサービスアカウントを使用してください。利用可能なアクションにより、SQL文の実行、パターンフィルターによるテーブルの検索、詳細なテーブルスキーマ情報の取得が可能となり、プラットフォームをまたいだデータ管理やタスクの自動化を効果的に行うことができます。
アクションビルダーをSnowflakeに接続する
外部アクションをアクションフローで使用するには、アクションビルダーを外部システムへ接続する必要があります。
- アクションフローによって実行される外部アクションは、すべて外部システムを接続したユーザーに帰属します。したがって、各外部システムに接続する場合、個人の資格情報ではなく専用のサービスアカウントを使用することが推奨されます。
- すべてのインテグレーションでは、必要なスコープへのアクセスが要求されます。ただし、外部システムへの接続を承認する前に、スコープを確認し、妥当性を検証することが重要です。
- OpenAIなどのAPIキーベースのツールの認証情報を管理する場合は、キーを安全な保管庫または認証情報マネージャーに保存することをお勧めします。
Snowflakeコネクションでは、認証コードグラント方式を使用するOAuth 2.0認証が採用されています。以下の3つの情報を指定する必要があります。
-
アカウント識別子:Snowflakeのアカウント識別子(例:APAC_DEV.AWS_AP_NORTHEAST_1)
-
OAuthクライアントID:Snowflakeセキュリティインテグレーションから取得したOAuthクライアントID
-
OAuthクライアントシークレット:Snowflakeセキュリティインテグレーションから取得したOAuthクライアントシークレット
SnowflakeでOAuth認証を設定するには
- OAuth設定でSnowflakeにセキュリティインテグレーションを作成します。
- クライアントIDとクライアントシークレットの認証情報を生成します。
- アクションフロー用に適切なリダイレクトURIを設定します。
- 管理センターで、サイドバーにある「
アプリおよびインテグレーション」をクリックし、「アクション」>「アクションフロー」を選択します。 - アクションフローを新規作成するか、既存のアクションフローを編集します。
- ステップサイドバーを開きます。
- 「外部アクション」セクションで、「Snowflake」をクリックします。
- 「接続」をクリックします。
- Snowflakeの指示に従って認証を行い、コネクションを完了します。
このコネクタは、認証時に
refresh_tokenスコープを使用します。ロールとウェアハウスは実行時にアクションごとに指定されるため、ワークロードのニーズに応じて適切なリソースを柔軟に選択できます。コネクションを承認する前に、要求されている権限を慎重に確認してください。クライアントシークレットは安全に保管し、他人と共有したり、バージョン管理システムにコミットしたりしないでください。
メモ:アクションフローによって実行される外部アクションは、すべて外部システムを接続したユーザーに帰属します。したがって、各外部システムに接続する場合、個人の資格情報ではなく専用のサービスアカウントを使用することが推奨されます。
接続が完了すると、接続済みであることを示すインジケーター、接続先インスタンスの詳細、およびSnowflakeで利用可能なアクションが表示されます。
アクションフローでSnowflakeアクションを使用する
クエリを実行する
「クエリを実行」アクションを使用して、Snowflakeで任意のSQLステートメントを実行します。
このアクションには以下の入力と出力が含まれます。
| 変数 | |
|---|---|
| 入力 | 必須:SQL statement、Warehouse、Roleオプション: 「クエリを実行」アクションを使用する際の注意点:
|
| 出力 | クエリの実行結果:ステートメントハンドル、ステータスURL、実行メッセージ、行数、影響を受けた行数、およびSELECTクエリのデータ配列など。 |
テーブルを検索する
「テーブルを検索」アクションを使用して、オプションのパターンフィルタリングを適用し、Snowflakeデータベーススキーマ内のテーブルを検出できます。
このアクションには以下の入力と出力が含まれます。
| 変数 | |
|---|---|
| 入力 | 必須:Database、Schema、Warehouse、Roleオプション: 「テーブルを検索」アクションを使用する際の注意点:
|
| 出力 | テーブルオブジェクトの配列:名前、種類、行数、バイトサイズ、作成日、および総件数など。 「種類」フィールドは、テーブルのタイプ(TABLE、VIEWなど)を示します。 |
テーブルスキーマを参照する
「テーブルスキーマを参照」アクションを使用して、特定のSnowflakeテーブルの列定義とメタデータを取得します。
このアクションには以下の入力と出力が含まれます。
| 変数 | |
|---|---|
| 入力 | 必須:Database、Schema、Table、Warehouse、Role「テーブルスキーマを参照」アクションを使用する際の注意点:
|
| 出力 | 列オブジェクトの配列:名前、データ型、NULL値の許容ステータス、デフォルト値、主キーかどうかを示す情報、および主キーの列名の配列など。 列の出力には、データ型情報(例:VARCHAR、NUMBER、DATE)、各列がNULL値を許容するかどうか、デフォルト値(定義されている場合)、およびその列が主キーの一部であるかどうかが含まれる。「primary keys」フィールドには、すべての主キー列名が参照しやすいように別途一覧表示されます。 |