Snowflake (非推奨)
Snowflake を使用すると、従来のオファリングよりも高速で使いやすく、柔軟性の高いデータストレージ、処理、分析ソリューションが可能になります。
このコネクタは、次の製品とリージョンで使用できます。
| サービス | クラス | リージョン |
|---|---|---|
| ロジック アプリ | Standard | 次を除くすべての Logic Apps リージョン : - Azure Government リージョン - Azure China リージョン - 米国国防総省 (DoD) |
| Power Automate | Premium | 次を除くすべての Power Automate リージョン : - 米国政府 (GCC) - 米国政府 (GCC High) - 21Vianet が運営する China Cloud - 米国国防総省 (DoD) |
| Power Apps | Premium | 次を除くすべての Power Apps リージョン : - 米国政府 (GCC) - 米国政府 (GCC High) - 21Vianet が運営する China Cloud - 米国国防総省 (DoD) |
| お問い合わせ | |
|---|---|
| 名前 | Snowflake |
| URL | https://www.snowflake.com/support |
| support@snowflake.com |
| コネクタ メタデータ | |
|---|---|
| Publisher | Snowflake Inc. |
| Web サイト | https://www.snowflake.com |
| プライバシー ポリシー | https://www.snowflake.com/privacy-policy |
| カテゴリ | データ |
注
このコネクタは非推奨です。このコネクタの強化された代替手段を使用してください: Snowflake (プレビュー) コネクタ
このコネクタは、 Snowflake SQL REST API に基づいています。 Snowflake の Data Cloud は、セルフマネージド サービスとして提供される高度なデータ プラットフォームを利用しています。 Snowflake を使用すると、従来のオファリングよりもはるかに高速で使いやすく、柔軟性の高いデータストレージ、処理、分析ソリューションが可能になります。 コネクタでは、Snowflake REST API V2 を使用して同期クエリと非同期クエリを送信し、対応する結果を取得します。
[前提条件]
このコネクタを使用するために必要な前提条件について説明します。 たとえば、Web サイトのアカウントや有料サービス プランなどです。
資格情報を取得する方法
次の手順に従って、Snowflake の Microsoft Entra ID 認証を設定します。
-
手順 1: Microsoft Entra ID で OAuth リソースを構成し、手順 1 から 10 に従い、次の手順に従ってスコープを
SESSION:ROLE-ANYとして定義します。 - 手順 2: Microsoft Entra ID で OAuth クライアントを作成するには、手順 1 から 13 に従います。
- 認証 ->Platform 構成 ->プラットフォームの追加 ->追加 "https://global.consent.azure-apim.net/redirect" に移動します。->保存] をクリックします。 Snowflake OAuth リソースではなく、Snowflake OAuth クライアントでリダイレクト URL が設定されていることを確認します。
- 手順 1. で作成したリソースに移動し、[API の公開] ->[クライアント アプリケーションの追加] に移動します。>上記の手順 3 の前の手順で
APPLICATION_CLIENT_IDを追加>[保存] をクリックします - 手順 3: Snowflake の Microsoft Entra ID 情報を完全に収集します。
- 下のテキストをコピーして Snowflake ワークシートに貼り付けます。このワークシートでは、Snowflake でクエリを実行します。 クエリを実行する前に、クエリが成功するように次の置換を行ってください。
A。 Microsoft Azure で、Snowflake OAuth リソース アプリに移動し、[ エンドポイント] をクリックします。
B: 5 行目のAZURE_AD_ISSUERを取得するには、[ フェデレーション メタデータ ドキュメント ] フィールドのリンクをコピーし、リンクを新しいタブで開きます。entityID リンクをコピーします。これは次のようになります:
https://sts.windows.net/90288a9b-97df-4c6d-b025-95713f21cef9/。 クエリに貼り付け、最後の引用符の前に/があり、引用符を保持していることを確認します。 C. 6 行目のキー URL を取得するには、 OpenID Connect メタデータ ドキュメント フィールドのリンクをコピーし、新しいタブでリンクを開きます。https://login.microsoftonline.com/90288a9b-97df-4c6d-b025-95713f21cef9/discovery/v2.0/keysのようなjwks_uriをコピーします。 クエリに貼り付け、引用符を保持していることを確認します。
D: 7 行目の対象ユーザー リストの URL を、手順 1 のApplication ID URIに置き換えます。 引用符を保持します。
E. Snowflake アカウントで Microsoft Azure アカウントと同じメール アドレスが使用されている場合は、9 行目のlogin_nameをemail_addressに置き換えます。 そうでない場合は、そのまま保持し、ログイン名を入力しないでください。 引用符を保持します。
F. ロールがACCOUNTADMINとして設定されていることを確認します。 これで、クエリを実行できます。
create security integration connector
type = external_oauth
enabled = true
external_oauth_type = azure
external_oauth_issuer = '<AZURE_AD_ISSUER>'
external_oauth_jws_keys_url = 'https://login.windows.net/common/discovery/keys'
external_oauth_audience_list = ('https://analysis.usgovcloudapi.net/powerbi/connector/snowflake')
external_oauth_token_user_mapping_claim = 'upn'
external_oauth_snowflake_user_mapping_attribute = 'login_name'
external_oauth_any_role_mode = 'ENABLE';
コネクタの概要
実行のために SQL ステートメントを送信する
状態を確認して結果を取得する
ステートメントの実行を取り消す
既知の問題と制限事項
- 新しい接続の作成時に 500 応答が返された場合、これは一時的なエラーです。 しばらく待ってからもう一度やり直してください。"
- 401 応答を受け取り、手順 1 で Host フィールドがこの形式の "orgname-accountname" に従う場合は、Host フィールドを "locator" URL に置き換えます。
- コネクタは、大きなクエリ結果でタイムアウトになる場合があります。
FAQ
- Power Apps 内でコネクタを使用する方法 現在、Power Apps では動的スキーマはサポートされていません。 アプリから直接呼び出すのではなく、アプリからフローを呼び出すことで、Power Apps のコネクタを引き続き使用できます。
調整制限
| 名前 | 呼び出し | 更新期間 |
|---|---|---|
| 接続ごとの API 呼び出し | 100 | 60 秒 |
アクション
| ステートメントの実行を取り消す |
ステートメントの実行を取り消す |
| 実行のために SQL ステートメントを送信する |
実行用の SQL ステートメントを送信する |
| 状態を確認して結果を取得する |
ステートメントの実行状態を確認し、結果を取得する |
| 結果セットの行を配列からオブジェクトに変換する |
結果セットの行を配列からオブジェクトに変換する |
ステートメントの実行を取り消す
ステートメントの実行を取り消す
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
事例
|
Instance | True | string |
Snowflake インスタンスの URI (https:// なし) |
|
ステートメント ハンドル
|
statementHandle | True | string |
ステートメント ハンドル |
|
リクエストID
|
requestId | string |
リクエストID |
戻り値
| 名前 | パス | 型 | 説明 |
|---|---|---|---|
|
コード
|
code | string |
コード |
|
sqlState
|
sqlState | string |
sqlState |
|
メッセージ
|
message | string |
メッセージ |
|
statementHandle
|
statementHandle | string |
statementHandle |
|
statementStatusUrl
|
statementStatusUrl | string |
statementStatusUrl |
実行のために SQL ステートメントを送信する
実行用の SQL ステートメントを送信する
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
事例
|
Instance | True | string |
Snowflake インスタンスの URI (https:// なし) |
|
リクエストID
|
requestId | string |
要求の ID |
|
|
非同期
|
async | boolean |
クエリを非同期的に実行する必要があるかどうかを示します |
|
|
Null 許容
|
nullable | boolean |
null 許容値が false の場合、null 値は文字列に置き換えられます |
|
|
ステートメント
|
statement | string |
実行する SQL ステートメント - まだサポートされていないステートメントのバッチ |
|
|
timeout
|
timeout | integer |
タイムアウトが発生するまでの秒数 |
|
|
データベース
|
database | string |
データベース |
|
|
スキーマ
|
schema | string |
スキーマ |
|
|
warehouse
|
warehouse | string |
warehouse |
|
|
ロール
|
role | string |
ロール |
|
|
timezone
|
timezone | string |
ステートメントの実行時に使用するタイム ゾーン。 |
|
|
クエリ タグ
|
query_tag | string |
SQL ステートメントに関連付けるクエリ タグ。 |
|
|
バイナリ出力形式
|
binary_output_format | string |
バイナリ値の出力形式。 |
|
|
日付の出力形式
|
date_output_format | string |
DATE 値の出力形式。 |
|
|
時間出力形式
|
time_output_format | string |
TIME 値の出力形式。 |
|
|
timestamp 出力形式
|
timestamp_output_format | string |
TIMESTAMP 値の出力形式。 |
|
|
timestamp ltz 出力形式
|
timestamp_ltz_output_format | string |
TIMESTAMP_LTZ値の出力形式。 |
|
|
timestamp_ntz_output_format
|
timestamp_ntz_output_format | string |
TIMESTAMP_NTZ値の出力形式。 |
|
|
timestamp tz 出力形式
|
timestamp_tz_output_format | string |
TIMESTAMP_TZ値の出力形式。 |
|
|
multi ステートメントの数
|
multi_statement_count | integer |
複数ステートメント機能を使用する場合に実行するステートメントの数。 0 は、ステートメントの可変数を意味します。 負の数は使用できません。 |
戻り値
| 名前 | パス | 型 | 説明 |
|---|---|---|---|
|
コード
|
code | string | |
|
sqlState
|
sqlState | string | |
|
メッセージ
|
message | string | |
|
statementHandle
|
statementHandle | string | |
|
createdOn
|
createdOn | integer |
ステートメントの実行が開始された日時を指定するタイムスタンプ。 タイムスタンプは、エポック以降のミリ秒単位で表されます。 |
|
statementStatusUrl
|
statementStatusUrl | string | |
|
format
|
resultSetMetaData.format | string |
v2 エンドポイントの場合、このフィールドに使用できる唯一の値は jsonv2 です。 |
|
rowType
|
resultSetMetaData.rowType | array of object | |
|
名前
|
resultSetMetaData.rowType.name | string | |
|
型
|
resultSetMetaData.rowType.type | string | |
|
Null 許容
|
resultSetMetaData.rowType.nullable | boolean | |
|
partitionInfo
|
partitionInfo | array of object |
パーティション情報 |
|
rowCount
|
partitionInfo.rowCount | integer |
パーティション内の行数。 |
|
compressedSize
|
partitionInfo.compressedSize | integer |
展開前のパーティション サイズ。 これは partitionInfo に存在する場合と存在しない場合があります。 圧縮されていないサイズは常に存在します。 |
|
compressedSize
|
partitionInfo.uncompressedSize | integer |
展開後のパーティション サイズ |
|
Null 許容
|
nullable | boolean |
null が文字列 'null' に置き換えられた場合は false、それ以外の場合は false |
|
データ
|
data | array of array |
結果セット のデータ。 |
|
items
|
data | array of string | |
|
numRowsInserted
|
stats.numRowsInserted | integer |
挿入された行の数。 |
|
numRowsUpdated
|
stats.numRowsUpdated | integer |
更新された行の数。 |
|
numRowsDeleted
|
stats.numRowsDeleted | integer |
削除された行の数。 |
|
numDuplicateRowsUpdated
|
stats.numDuplicateRowsUpdated | integer |
更新された重複する行の数。 |
状態を確認して結果を取得する
ステートメントの実行状態を確認し、結果を取得する
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
事例
|
Instance | True | string |
Snowflake インスタンスの URI (https:// なし) |
|
ステートメント ハンドル
|
statementHandle | True | string |
ステートメント ハンドル |
|
リクエストID
|
requestId | string |
リクエストID |
|
|
パーティション
|
partition | integer |
パーティション |
戻り値
| 名前 | パス | 型 | 説明 |
|---|---|---|---|
|
コード
|
code | string | |
|
sqlState
|
sqlState | string | |
|
メッセージ
|
message | string | |
|
statementHandle
|
statementHandle | string | |
|
createdOn
|
createdOn | integer |
ステートメントの実行が開始された日時を指定するタイムスタンプ。 タイムスタンプは、エポック以降のミリ秒単位で表されます。 |
|
statementStatusUrl
|
statementStatusUrl | string | |
|
format
|
resultSetMetaData.format | string |
v2 エンドポイントの場合、このフィールドに使用できる唯一の値は jsonv2 です。 |
|
rowType
|
resultSetMetaData.rowType | array of object | |
|
名前
|
resultSetMetaData.rowType.name | string | |
|
型
|
resultSetMetaData.rowType.type | string | |
|
Null 許容
|
resultSetMetaData.rowType.nullable | boolean | |
|
partitionInfo
|
partitionInfo | array of object |
パーティション情報 |
|
rowCount
|
partitionInfo.rowCount | integer |
パーティション内の行数。 |
|
compressedSize
|
partitionInfo.compressedSize | integer |
展開前のパーティション サイズ。 これは partitionInfo に存在する場合と存在しない場合があります。 圧縮されていないサイズは常に存在します。 |
|
compressedSize
|
partitionInfo.uncompressedSize | integer |
展開後のパーティション サイズ |
|
Null 許容
|
nullable | boolean |
null が文字列 'null' に置き換えられた場合は false、それ以外の場合は false |
|
データ
|
data | array of array |
結果セット のデータ。 |
|
items
|
data | array of string | |
|
numRowsInserted
|
stats.numRowsInserted | integer |
挿入された行の数。 |
|
numRowsUpdated
|
stats.numRowsUpdated | integer |
更新された行の数。 |
|
numRowsDeleted
|
stats.numRowsDeleted | integer |
削除された行の数。 |
|
numDuplicateRowsUpdated
|
stats.numDuplicateRowsUpdated | integer |
更新された重複する行の数。 |
結果セットの行を配列からオブジェクトに変換する
結果セットの行を配列からオブジェクトに変換する
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
rowType
|
resultSetMetaData | string | ||
|
データ
|
data | string |
戻り値
| 名前 | パス | 型 | 説明 |
|---|---|---|---|
|
データ
|
data | array of object |
結果セット のデータ。 |
|
items
|
data | object |