テスト接続
オンプレミス データ ゲートウェイの個人用モードと標準モードの両方で、カスタム コネクタがサポートされます。
どちらのゲートウェイ モードでも インポートがサポートされます。 ダイレクト クエリ は、標準モードでのみサポートされます。 現在、ゲートウェイ経由のカスタム コネクタの OAuth では、他のデータ ソース ユーザーではなく、ゲートウェイ管理者のみがサポートされています。
オンプレミス データ ゲートウェイ経由のスケジュールされた更新をサポートするには、コネクタで TestConnection ハンドラーを実装する 必要があります 。 この関数は、ユーザーがソースの資格情報を構成するときに呼び出され、それらが有効であることを確認するために使用されます。 データ ソースの種類は、レコード内の TestConnection ハンドラーを設定します。 これには次の署名があります。
(dataSourcePath) as list => ...
ここで、 dataSourcePath は関数の データ ソース パス の値であり、戻り値は次で構成されるリストです。
- 呼び出す関数の名前 (この関数は
#sharedとしてマークする必要があり、通常はプライマリ データ ソース関数です)。 - 関数に渡す 1 つ以上の引数。
関数の呼び出しでエラーが発生した場合、TestConnection は失敗し、資格情報は保持されません。
注
前述のように、TestConnection によって提供される関数名は、 shared メンバーである必要があります。
例: 必須の引数のないコネクタ
次のコード スニペットは、必要なパラメーターを持たないデータ ソースの TestConnection を実装します ( TripPin チュートリアルで見つかったものなど)。 必要なパラメーターを持たないコネクタ ( Singletons と呼ばれます) では、(資格情報以外の) 接続をテストするためにユーザー指定の入力は必要ありません。 この場合、 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"
];