ゲートウェイ サポートの処理
接続をテスト
カスタム コネクタのサポートは、オンプレミス データ ゲートウェイの個人用モードと標準モードの両方で使用できます。 どちらのゲートウェイ モードでも、インポートがサポートされます。 直接クエリは、標準モードでのみサポートされます。 ゲートウェイ経由のカスタム コネクタの OAuth は現在、ゲートウェイ管理者のみがサポートされており、他のデータ ソース ユーザーはサポートされていません。
TestConnection 機能を実装する方法は、Power BI カスタム データ コネクタ機能のプレビュー中に変更される可能性があります。
オンプレミス データ ゲートウェイを介したスケジュール済みの更新をサポートするには、コネクタで TestConnection ハンドラーを実装する必要があります。 関数は、ユーザーがソースの資格情報を構成するときに呼び出され、有効であることを確認するために使用されます。 TestConnection ハンドラーは、データ ソースの種類レコードで設定され、次のシグネチャを備えています。
(dataSourcePath) as list => ...
ここで dataSourcePath
は関数のデータ ソース パス値で、戻り値は次で構成されるリストです。
- 呼び出す関数の名前 (この関数は
#shared
としてマークする必要があります。通常はプライマリ データ ソース関数です)。 - 関数に渡す 1 つ以上の引数。
関数の呼び出しでエラーが発生した場合、TestConnection は失敗したと見なされ、資格情報は保持されません。
Note
上記のように、TestConnection によって提供される関数名は shared
メンバーである必要があります。
例: 必須の引数がないコネクタ
下のコード スニペットは、必須パラメーターを持たないデータ ソース (TripPin チュートリアルにあるものなど) の TestConnection を実装しています。 必須パラメーターのないコネクタ ("シングルトン" と呼ばれます) では、接続をテストするために (資格情報以外は) ユーザー入力の必要はありません。 この場合、dataSourcePath
値はデータ ソースの種類の名前と等しく、無視できます。
TripPin.Contents
関数は、追加のパラメーターなしで呼び出されます。
TripPin = [
TestConnection = (dataSourcePath) => { "TripPin.Contents" },
Authentication = [
Anonymous = []
],
Label = "TripPin"
];
例: URL パラメーターを使用したコネクタ
データ ソース関数に Uri.Type
型の 1 つの必須パラメーターがある場合、その dataSourcePath
はユーザーが指定した URL と同じになります。 下のスニペットは、Github サンプルの TestConnection 実装を示しています。
GithubSample = [
TestConnection = (dataSourcePath) => {"GithubSample.Contents", dataSourcePath},
Authentication = [
OAuth = [
StartLogin = StartLogin,
FinishLogin = FinishLogin,
Label = Extension.LoadString("AuthenticationLabel")
]
]
];
例: 必須パラメーターを使用したコネクタ
データ ソース関数に複数のパラメーターがある場合、または単一の非 URL パラメーターがある場合、dataSourcePath
値はそれらのパラメーターを含む JSON 文字列になります。 下のスニペットは、DirectQueryForSQL サンプルから取得されています。
DirectSQL = [
TestConnection = (dataSourcePath) =>
let
json = Json.Document(dataSourcePath),
server = json[server],
database = json[database]
in
{ "DirectSQL.Database", server, database },
Authentication = [
Windows = [],
UsernamePassword = []
],
Label = "Direct Query for SQL"
];