ゲートウェイ サポートの処理
接続をテスト
カスタム コネクタのサポートは、オンプレミス データ ゲートウェイの個人用モードと標準モードの両方で使用できます。 どちらのゲートウェイ モードでも、インポート がサポートされます。 直接クエリ は、標準モードでのみサポートされます。 現在、ゲートウェイを使用したカスタム コネクタの OAuth はゲートウェイ管理者に対してのみサポートされています。他のデータ ソース ユーザーはサポートされていません。
TestConnection 機能を実装する方法は、Power BI カスタム データ コネクタ機能のプレビュー中に変更される可能性があります。
オンプレミス データ ゲートウェイを介したスケジュール済みの更新をサポートするには、コネクタで TestConnection ハンドラーを実装する 必要があります。 関数は、ユーザーがソースの資格情報を構成するときに呼び出され、有効であることを確認するために使用されます。 TestConnection ハンドラーは、データ ソースの種類レコードで設定され、次のシグネチャを備えています。
(dataSourcePath) as list => ...
ここで dataSourcePath は関数のデータ ソース パス値で、戻り値は次で構成されるリストです。
- 呼び出す関数の名前 (この関数は
#sharedとしてマークする必要があります。通常はプライマリ データ ソース関数です)。 - 関数に渡す 1 つ以上の引数。
関数の呼び出しでエラーが発生した場合、TestConnection は失敗したと見なされ、資格情報は保持されません。
注意
上記のように、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"
];