Snowflake (プレビュー)
Snowflake は、従来の製品よりも高速で使いやすく、柔軟性の高いデータ ストレージ、処理、および分析ソリューションを実現します。
このコネクタは、次の製品および地域で利用可能です:
サービス | クラス | 地域 |
---|---|---|
Logic Apps | 標準 | 以下を除くすべての Logic Apps 地域 : - Azure 政府の地域 - Azure 中国の地域 - 国防総省 (DoD) |
Power Automate | プレミアム | 以下を除くすべての Power Automate 地域 : - US Government (GCC) - US Government (GCC High) - 21 Vianet が運用する中国のクラウド - 米国国防総省 (DoD) |
Power Apps | プレミアム | 以下を除くすべての Power Apps 地域 : - US Government (GCC) - US Government (GCC High) - 21 Vianet が運用する中国のクラウド - 米国国防総省 (DoD) |
お問い合わせ先 | |
---|---|
件名 | Snowflake |
[URL] | https://www.snowflake.com/support |
メール | support@snowflake.com |
Connector Metadata | |
---|---|
発行者 | Snowflake Inc. |
Web サイト | https://www.snowflake.com |
プライバシー ポリシー | https://www.snowflake.com/privacy-policy |
カテゴリー | 日付 |
Snowflake
Snowflake は、従来の製品よりも高速で使いやすく、柔軟性の高いデータ ストレージ、処理、および分析ソリューションを実現します。
このコネクタは、次の製品および地域で利用可能です:
サービス | クラス | 地域 |
---|---|---|
Logic Apps | 基準 | 以下を除くすべての Logic Apps 地域 : - Azure Government リージョン - Azure China リージョン - 米国国防総省 (DoD) |
Power Automate | Premium | 以下を除くすべての Power Automate 地域 : - 米国政府 (GCC) - 米国政府 (GCC High) - 21Vianet が運用する中国クラウド - 米国国防総省 (DoD) |
Power Apps | Premium | 以下を除くすべての Power Apps 地域 : - 米国政府 (GCC) - 米国政府 (GCC High) - 21Vianet が運用する中国クラウド - 米国国防総省 (DoD) |
お問い合わせ先 | |
---|---|
件名 | Snowflake |
[URL] | https://www.snowflake.com/support |
メール | support@snowflake.com |
Connector Metadata | |
---|---|
発行者 | Snowflake Inc. |
Web サイト | https://www.snowflake.com |
プライバシー ポリシー | https://www.snowflake.com/privacy-policy |
カテゴリー | 日付 |
Snowflake コネクタは、Snowflake SQL REST API に基づいています。 Snowflake は、従来の製品よりも高速で使いやすく、柔軟性の高いデータ ストレージ、処理、および分析ソリューションを実現します。 コネクタは、Snowflake REST API V2 を使用して、同期および非同期クエリを送信し、対応する結果を取得します。
前提条件
- ユーザーは、外部認証の Microsoft Entra ID を持っていなければいけません。
- ユーザーは Premium Power Apps ライセンスを持っている必要があります。
- ユーザーは Snowflake アカウントを持っている必要があります。
資格情報を取得する方法
以下の手順で Snowflake の Azure AD 認証を設定します。
- ステップ 1: Azure AD で OAuth リソースを構成する で、手順 1~10 に従い、説明書 の手順でスコープを SESSION:ROLE-ANY として定義します。
- 手順 2: Azure AD で OAuth クライアントを作成する で、手順 1 から 13に従います。
- 認証 -> プラットフォームの構成 -> プラットフォームの追加 -> 追加 "https://global.consent.azure-apim.net/redirect" -> クリック 保存 の順に移動します。 リダイレクト URL が Snowflake OAuth リソースではなく Snowflake OAuth クライアントに設定されていることを確認してください。
- ステップ 1 で作成したリソースに移動し、API を公開する -> クライアント アプリケーションを追加する -> 追加 上記の手順 3 で取得したAPPLICATION_CLIENT_ID -> クリック 保存 に移動します
- 手順 3: Snowflake の Azure AD 情報を収集する に従います。
- すでに Snowflake 認定コネクタを使用して接続を確立している場合は、セクション Snowflake の既存のセキュリティ統合を更新する の手順に従ってください。 新しい接続を確立する場合は、セクション Snowflake に新しいセキュリティ統合を作成する の手順に従ってください。 クエリを実行する前に、ロールが ACCOUNTADMIN に設定されていることを確認してください。
Snowflake で新しいセキュリティ統合を作成する
Microsoft Azure で、Snowflake OAuth リソースアプリに移動し、エンドポイント をクリックします。
5 行目の AZURE_AD_ISSUER を取得するには、フェデレーションメタデータドキュメント フィールドに入力し、新しいタブでリンクを開きます。https://sts.windows.net/90288a9b-97df-4c6d-b025-95713f21cef9/ のようなエンティティIDリンクをコピーします。 これをクエリに貼り付け、最後の引用符の前に / があることと、引用符が残っていることを確認します。
6 行目のキー URL を取得するには、OpenID Connect メタデータドキュメント フィールドに入力し、新しいタブでリンクを開きます。https://login.microsoftonline.com/90288a9b-97df-4c6d-b025-95713f21cef9/discovery/v2.0/keys のように見える jwks_uri をコピーします。 これをクエリに貼り付け、引用符を必ず保持してください。
ステップ 1 から、7 行目の対象者リスト URL を アプリケーション ID URI で置き換えます。 引用符はそのままにしておきます。
Snowflake アカウントが Microsoft Azure アカウントの場合は、9 行目の login_name を email_address に置き換えます。 そうでない場合は、ログイン名を入力せずにそのままにしておきます。 引用符はそのままにしておきます。
CREATE SECURITY INTEGRATION <integration name>
type = external_oauth
enabled = true
external_oauth_type = azure
external_oauth_issuer = '<AZURE_AD_ISSUER>'
external_oauth_jws_keys_url = '<Keys URL from section "How to get your credentials:step 6">'
external_oauth_audience_list = ('<Application ID URI from registered resource app in Azure>')
external_oauth_token_user_mapping_claim = 'upn'
external_oauth_snowflake_user_mapping_attribute = 'login_name'
external_oauth_any_role_mode = 'ENABLE';
Snowflake で既存のセキュリティ統合を更新する
ALTER SECURITY INTEGRATION <existing integration name>
set external_oauth_audience_list = ('<existing power bi audience list url>', '< Application ID URI from Step 1>')
資格情報を使用する
Power Platform で接続を作成するときは、以下のスナップショットに示す資格情報を使用します。
- クライアント ID: Azure に登録されたクライアント アプリからの Snowflake OAuth クライアント ID
- クライアント シークレット: Azure に登録されたクライアント アプリからの Snowflake OAuth クライアント シークレット
- リソース URL: Azure に登録されたリソース アプリのアプリケーション ID URI
コネクタの使用を開始する
- 実行用に SQL ステートメントを送信する
- 状態を確認して結果を取得する
- ステートメントの実行をキャンセルする
既知の問題と制限事項
- "インスタンス URL" エラーがある場合は、アカウント識別子 ドキュメントを参照してください。
- コネクタは、大量のクエリ結果が原因でタイムアウトになる場合があります。
- Snowflake SQL API の制限。
スロットリング制限
件名 | 呼び出し | 更新期間 |
---|---|---|
接続ごとの API 呼び出し | 100 | 60 秒 |
Actions
Action | プロパティ |
---|---|
ステートメントの実行をキャンセルする | ステートメントの実行をキャンセルする |
状態を確認して結果を取得する | ステートメントの実行状態を確認し、結果を取得する |
結果セットの行を配列からオブジェクトに変換する | 結果セットの行を配列からオブジェクトに変換する |
実行用に SQL ステートメントを送信する | 実行用に SQL ステートメントを送信する |
ステートメントの実行をキャンセルする
操作 ID: キャンセル
ステートメントの実行をキャンセルする
Parameters
件名 | Key | 必須 | タイプ | 説明設定 |
---|---|---|---|---|
Instance | インスタンス | True | String | Snowflake インスタンスの URI (https:// なし) |
ステートメント ハンドル | statementHandle | True | String | ステートメント ハンドル |
要求 ID | requestId | String | 要求 ID |
返品
件名 | パス | タイプ | 説明設定 |
---|---|---|---|
コード | コード | String | コード |
sqlState | sqlState | String | sqlState |
Message | Message | String | Message |
statementHandle | statementHandle | String | statementHandle |
statementStatusUrl | statementStatusUrl | String | statementStatusUrl |
状態を確認して結果を取得する
操作 ID: GetResults
ステートメントの実行状態を確認し、結果を取得します。 結果を取得する際、最初のパーティションは常にデータとともにスキーマを返し、それ以降のパーティションは結果セット アクションを使用して変換する必要がある可能性のあるデータのみを返します。
Parameters
件名 | Key | 必須 | タイプ | 説明設定 |
---|---|---|---|---|
Instance | インスタンス | True | String | Snowflake インスタンスの URL |
ステートメント ハンドル | statementHandle | True | String | ステートメント ハンドル |
要求 ID | requestId | String | 要求 ID | |
パーティション | パーティション | 整数 | パーティション |
返品
件名 | パス | タイプ | 説明設定 |
---|---|---|---|
コード | メタデータ コード | String | |
SqlState | Metadata.SqlState | String | |
行 | Metadata.Rows | 整数 | 行の合計数 |
StatementHandle | Metadata.StatementHandle | String | |
CreatedOn | Metadata.CreatedOn | 整数 | ステートメントの実行開始時を特定するタイムスタンプ。 タイムスタンプは、エポックからのミリ秒単位で表されます |
StatementStatusUrl | Metadata.StatementStatusUrl | String | |
フォーマット | Metadata.Format | string | v2 エンドポイントの場合、このフィールドに指定できる値は jsonv2 のみです。 |
Partitions | Partitions | オブジェクトの配列 | パーティション情報 |
RowCount | Partitions.RowCount | 整数 | パーティションが含む行数。 |
CompressedSize | Partitions.CompressedSize | 整数 | 圧縮解除前のパーティション サイズ。 これはパーティション内に存在する場合と存在しない場合があります。 非圧縮サイズは常に存在することになります。 |
UncompressedSize | Partitions.UncompressedSize | 整数 | 圧縮解除後のパーティション サイズ |
日付 | 日付 | 配列の配列 | 結果のデータ セット。 |
スキーマ | Schema | 文字列の配列 | 結果セットのスキーマ |
結果セットの行を配列からオブジェクトに変換する
操作 ID: 変換
結果セットの行を配列からオブジェクトに変換する
Parameters
件名 | Key | 必須 | タイプ | 説明設定 |
---|---|---|---|---|
スキーマ | Schema | string | ||
日付 | 日付 | string |
返品
件名 | パス | タイプ | 説明設定 |
---|---|---|---|
日付 | 日付 | オブジェクトの配列 | 結果のデータ セット。 |
スキーマ | Schema | オブジェクトの配列 | 結果セットのスキーマ |
実行用に SQL ステートメントを送信する
操作 ID: ExecuteSqlStatement
実行用に SQL ステートメントを送信する
Parameters
件名 | Key | 必須 | タイプ | 説明設定 |
---|---|---|---|---|
Instance | インスタンス | True | string | Snowflake インスタンスの URL |
要求 ID | requestId | string | 要求の ID | |
非同期 | 非同期 | ブール値 | クエリを非同期で実行する必要があるかどうかを示します | |
Nullable | Nullable | ブール値 | nullable が false の場合、null 値は文字列に置き換えられます | |
ステートメント | ステートメント | string | 実行する SQL ステートメント - ステートメントのバッチはまだサポートされていません | |
タイムアウト | タイムアウト | 整数 | タイムアウトが発生するまでの秒数 | |
データベース | データベース | string | データベース | |
スキーマ | スキーマ | string | Schema | |
倉庫 | 倉庫 | string | 倉庫 | |
役割 | 役割 | string | 役割 | |
タイムゾーン | タイムゾーン | string | ステートメントの実行時に使用するタイム ゾーン。 | |
クエリ タグ | query_tag | string | SQL ステートメントに関連付けるクエリ タグ。 | |
バイナリの出力形式 | binary_output_format | string | バイナリ値の出力形式。 | |
日付の出力形式 | date_output_format | string | 日付値の出力形式。 | |
時刻の出力形式 | time_output_format | string | 時刻値の出力形式。 | |
タイムスタンプの出力形式 | timestamp_output_format | string | タイムスタンプ値の出力形式。 | |
タイムスタンプ ltz の出力形式 | timestamp_ltz_output_format | string | TIMESTAMP_LTZ 値の出力形式。 | |
timestamp_ntz_output_format | timestamp_ntz_output_format | string | TIMESTAMP_NTZ 値の出力形式。 | |
タイムスタンプ tz の出力形式 | timestamp_tz_output_format | string | TIMESTAMP_TZ 値の出力形式。 | |
複数ステートメント数 | multi_statement_count | integer | マルチ ステートメント機能を使用するときに実行するステートメントの数。0 は可変数のステートメントを意味します。負の数は許可されません。 |
返品
件名 | パス | タイプ | 説明設定 |
---|---|---|---|
コード | メタデータ コード | String | |
SqlState | Metadata.SqlState | String | |
StatementHandle | Metadata.StatementHandle | String | |
CreatedOn | Metadata.CreatedOn | 整数 | ステートメントの実行開始時を特定するタイムスタンプ。 タイムスタンプは、エポックからのミリ秒単位で表されます |
StatementStatusUrl | Metadata.StatementStatusUrl | String | |
フォーマット | Metadata.Format | String | v2 エンドポイントの場合、このフィールドに指定できる値は jsonv2 のみです。 |
Partitions | Partitions | オブジェクトの配列 | パーティション情報 |
RowCount | Partitions.RowCount | 整数 | パーティションが含む行数。 |
CompressedSize | Partitions.CompressedSize | 整数 | 圧縮解除前のパーティション サイズ。 これは、partitionInfo に存在する場合と存在しない場合があります。 非圧縮サイズは常に存在することになります。 |
UncompressedSize | Partitions.UncompressedSize | 整数 | 圧縮解除後のパーティション サイズ |
日付 | 日付 | 配列の配列 | 結果のデータ セット。 |
スキーマ | Schema | 文字列の配列 | 結果セットのスキーマ |
よくあるご質問
- 応答とパーティションをどのように処理しますか?
Snowflake SQL API ドキュメント こちら を参照してください - パーティション 1 以上をどのように処理しますか?
コネクタの "結果セットの行を配列からオブジェクトに変換する" アクションを使用してデータを変換します。
接続を作成する
このコネクタは、次の認証タイプをサポートしています:
既定 | 接続を作成するためのパラメーター。 | すべての地域 | 共有不可 |
既定
適用できるもの: すべての領域
接続を作成するためのパラメーター。
これは共有可能な接続ではありません。 Power App が別のユーザーと共有されている場合、別のユーザーは新しい接続を明示的に作成するように求められます。
件名 | タイプ | プロパティ | Required |
---|---|---|---|
Client ID | string | Snowflake OAuth のクライアント ID | True |
Client Secret | securestring | Snowflake OAuth のクライアント シークレット | True |
リソース URL | string | Snowflake OAuth 対象者用 URL (リソースの URL) | True |
調整制限
名前 | 呼び出し | 更新期間 |
---|---|---|
接続ごとの API 呼び出し | 100 | 60 秒 |
アクション
ステートメントの実行をキャンセルする |
ステートメントの実行をキャンセルする |
実行用に SQL ステートメントを送信する |
実行用に SQL ステートメントを送信する |
状態を確認して結果を取得する |
ステートメントの実行状態を確認し、結果を取得する |
結果セットの行を配列からオブジェクトに変換する |
結果セットの行を配列からオブジェクトに変換する |
ステートメントの実行をキャンセルする
ステートメントの実行をキャンセルする
パラメーター
名前 | キー | 必須 | 型 | 説明 |
---|---|---|---|---|
インスタンス
|
Instance | True | string |
Snowflake インスタンスの URI (https:// なし) |
ステートメント ハンドル
|
statementHandle | True | string |
ステートメント ハンドル |
要求 ID
|
requestId | string |
要求 ID |
戻り値
名前 | パス | 型 | 説明 |
---|---|---|---|
code
|
code | string |
code |
sqlState
|
sqlState | string |
sqlState |
message
|
message | string |
message |
statementHandle
|
statementHandle | string |
statementHandle |
statementStatusUrl
|
statementStatusUrl | string |
statementStatusUrl |
実行用に SQL ステートメントを送信する
実行用に SQL ステートメントを送信する
パラメーター
名前 | キー | 必須 | 型 | 説明 |
---|---|---|---|---|
インスタンス
|
Instance | True | string |
Snowflake インスタンスの URI (https:// なし) |
要求 ID
|
requestId | string |
要求の ID |
|
非同期
|
async | boolean |
クエリを非同期で実行する必要があるかどうかを示します |
|
nullable
|
nullable | boolean |
nullable が false の場合、null 値は文字列に置き換えられます |
|
statement
|
statement | string |
実行する SQL ステートメント - ステートメントのバッチはまだサポートされていません |
|
タイムアウト
|
timeout | integer |
タイムアウトが発生するまでの秒数 |
|
データベース
|
database | string |
データベース |
|
スキーマ
|
schema | string |
スキーマ |
|
倉庫
|
warehouse | string |
倉庫 |
|
role
|
role | string |
role |
|
タイムゾーン
|
timezone | string |
ステートメントの実行時に使用するタイム ゾーン。 |
|
クエリ タグ
|
query_tag | string |
SQL ステートメントに関連付けるクエリ タグ。 |
|
バイナリの出力形式
|
binary_output_format | string |
バイナリ値の出力形式。 |
|
日付の出力形式
|
date_output_format | string |
日付値の出力形式。 |
|
時刻の出力形式
|
time_output_format | string |
時刻値の出力形式。 |
|
タイムスタンプの出力形式
|
timestamp_output_format | string |
タイムスタンプ値の出力形式。 |
|
タイムスタンプ ltz の出力形式
|
timestamp_ltz_output_format | string |
TIMESTAMP_LTZ 値の出力形式。 |
|
timestamp_ntz_output_format
|
timestamp_ntz_output_format | string |
TIMESTAMP_NTZ 値の出力形式。 |
|
タイムスタンプ tz の出力形式
|
timestamp_tz_output_format | string |
TIMESTAMP_TZ 値の出力形式。 |
|
複数ステートメント数
|
multi_statement_count | integer |
複数ステートメント機能の使用時に実行するステートメントの数。 0 はステートメントの変数を意味します。 負の数は使用できません。 |
戻り値
名前 | パス | 型 | 説明 |
---|---|---|---|
Partitions
|
Partitions | array of object |
Partitions |
RowCount
|
Partitions.RowCount | integer |
RowCount |
UncompressedSize
|
Partitions.UncompressedSize | integer |
UncompressedSize |
CompressedSize
|
Partitions.CompressedSize | integer |
CompressedSize |
Schema
|
Schema | array of object |
Schema |
名称
|
Schema.name | string |
名称 |
データベース
|
Schema.database | string |
データベース |
スキーマ
|
Schema.schema | string |
スキーマ |
テーブル
|
Schema.table | string |
テーブル |
nullable
|
Schema.nullable | boolean |
nullable |
プレシジョン
|
Schema.precision | integer |
プレシジョン |
スケール
|
Schema.scale | integer |
スケール |
byteLength
|
Schema.byteLength | integer |
byteLength |
照合順序
|
Schema.collation | string |
照合順序 |
length
|
Schema.length | integer |
length |
タイプ
|
Schema.type | string |
タイプ |
日付
|
Data | array of |
日付 |
行
|
Metadata.Rows | integer |
行 |
Format
|
Metadata.Format | string |
Format |
コード
|
Metadata.Code | string |
コード |
StatementStatusUrl
|
Metadata.StatementStatusUrl | string |
StatementStatusUrl |
RequestId
|
Metadata.RequestId | string |
RequestId |
SqlState
|
Metadata.SqlState | string |
SqlState |
StatementHandle
|
Metadata.StatementHandle | string |
StatementHandle |
CreatedOn
|
Metadata.CreatedOn | string |
CreatedOn |
状態を確認して結果を取得する
ステートメントの実行状態を確認し、結果を取得する
パラメーター
名前 | キー | 必須 | 型 | 説明 |
---|---|---|---|---|
インスタンス
|
Instance | True | string |
Snowflake インスタンスの URI (https:// なし) |
ステートメント ハンドル
|
statementHandle | True | string |
ステートメント ハンドル |
要求 ID
|
requestId | string |
要求 ID |
|
パーティション
|
partition | integer |
パーティション |
戻り値
名前 | パス | 型 | 説明 |
---|---|---|---|
Partitions
|
Partitions | array of object |
Partitions |
RowCount
|
Partitions.RowCount | integer |
RowCount |
UncompressedSize
|
Partitions.UncompressedSize | integer |
UncompressedSize |
CompressedSize
|
Partitions.CompressedSize | integer |
CompressedSize |
Schema
|
Schema | array of object |
Schema |
名称
|
Schema.name | string |
名称 |
データベース
|
Schema.database | string |
データベース |
スキーマ
|
Schema.schema | string |
スキーマ |
テーブル
|
Schema.table | string |
テーブル |
プレシジョン
|
Schema.precision | integer |
プレシジョン |
スケール
|
Schema.scale | integer |
スケール |
タイプ
|
Schema.type | string |
タイプ |
nullable
|
Schema.nullable | boolean |
nullable |
byteLength
|
Schema.byteLength | integer |
byteLength |
照合順序
|
Schema.collation | string |
照合順序 |
length
|
Schema.length | integer |
length |
日付
|
Data | array of object |
日付 |
ID
|
Data.ID | integer |
ID |
FIRSTNAME
|
Data.FIRSTNAME | string |
FIRSTNAME |
LASTNAME
|
Data.LASTNAME | string |
LASTNAME |
GENDER
|
Data.GENDER | string |
GENDER |
年齢
|
Data.AGE | integer |
年齢 |
メール アドレス
|
Data.EMAIL | string |
メール アドレス |
PHONE
|
Data.PHONE | string |
PHONE |
学歴
|
Data.EDUCATION | string |
学歴 |
行
|
Metadata.Rows | integer |
行 |
Format
|
Metadata.Format | string |
Format |
コード
|
Metadata.Code | string |
コード |
StatementStatusUrl
|
Metadata.StatementStatusUrl | string |
StatementStatusUrl |
RequestId
|
Metadata.RequestId | string |
RequestId |
SqlState
|
Metadata.SqlState | string |
SqlState |
StatementHandle
|
Metadata.StatementHandle | string |
StatementHandle |
CreatedOn
|
Metadata.CreatedOn | string |
CreatedOn |
結果セットの行を配列からオブジェクトに変換する
結果セットの行を配列からオブジェクトに変換する
パラメーター
名前 | キー | 必須 | 型 | 説明 |
---|---|---|---|---|
スキーマ
|
schema | string |
スキーマ |
|
データ
|
data | string |
データ |
戻り値
名前 | パス | 型 | 説明 |
---|---|---|---|
データ
|
data | array of object |
データ |