Snowflake (プレビュー)
Snowflake は、従来の製品よりも高速で使いやすく、柔軟性の高いデータ ストレージ、処理、および分析ソリューションを実現します。
このコネクタは、次の製品および地域で利用可能です:
Service | クラス | 地域 |
---|---|---|
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 SQL REST API に基づいています。 Snowflake のデータ クラウドは、セルフマネージド サービスとして提供される高度なデータ プラットフォームを利用しています。 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 に従います。
- 認証 -> プラットフォームの構成 -> プラットフォームの追加 -> 追加 "https://global.consent.azure-apim.net/redirect" -> クリック 保存 の順に移動します。 リダイレクト URL が Snowflake OAuth リソースではなく Snowflake OAuth クライアントに設定されていることを確認してください。
- 手順 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 メタデータ ドキュメント フィールドのリンクをコピーし、新しいタブでリンクを開きます。次のような jwks_uri をコピーします:https://login.microsoftonline.com/90288a9b-97df-4c6d-b025-95713f21cef9/discovery/v2.0/keys
。 これをクエリに貼り付け、引用符を必ず保持してください。
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 のホスト フィールドが "組織名-アカウント名" の形式に従っている場合は、ホスト フィールドを "ロケーター" URL に置き換えます。
- コネクタは、大量のクエリ結果が原因でタイムアウトになる場合があります。
- コネクタが 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
|
code | string |
code |
sqlState
|
sqlState | string |
sqlState |
message
|
message | string |
message |
statementHandle
|
statementHandle | string |
statementHandle |
statementStatusUrl
|
statementStatusUrl | string |
statementStatusUrl |
実行用に 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 はステートメントの変数を意味します。 負の数は使用できません。 |
戻り値
名前 | パス | 型 | 説明 |
---|---|---|---|
code
|
code | string | |
sqlState
|
sqlState | string | |
message
|
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 | |
nullable
|
resultSetMetaData.rowType.nullable | boolean | |
partitionInfo
|
partitionInfo | array of object |
パーティション情報 |
rowCount
|
partitionInfo.rowCount | integer |
パーティションが含む行数。 |
compressedSize
|
partitionInfo.compressedSize | integer |
圧縮解除前のパーティション サイズ。 これは、partitionInfo に存在する場合と存在しない場合があります。 非圧縮サイズは常に存在することになります。 |
uncompressedSize
|
partitionInfo.uncompressedSize | integer |
圧縮解除後のパーティション サイズ |
nullable
|
nullable | boolean |
null が文字列 'null' に置き換えられる場合は false、それ以外の場合は false |
データ
|
data | array of array |
結果のデータ セット。 |
アイテム
|
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
|
code | string | |
sqlState
|
sqlState | string | |
message
|
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 | |
nullable
|
resultSetMetaData.rowType.nullable | boolean | |
partitionInfo
|
partitionInfo | array of object |
パーティション情報 |
rowCount
|
partitionInfo.rowCount | integer |
パーティションが含む行数。 |
compressedSize
|
partitionInfo.compressedSize | integer |
圧縮解除前のパーティション サイズ。 これは、partitionInfo に存在する場合と存在しない場合があります。 非圧縮サイズは常に存在することになります。 |
uncompressedSize
|
partitionInfo.uncompressedSize | integer |
圧縮解除後のパーティション サイズ |
nullable
|
nullable | boolean |
null が文字列 'null' に置き換えられる場合は false、それ以外の場合は false |
データ
|
data | array of array |
結果のデータ セット。 |
アイテム
|
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 |
結果のデータ セット。 |
アイテム
|
data | object |