處理閘道支援

測試連接

內部部署資料閘道 的個人和標準模式 都提供自訂連線or 支援。 這兩種閘道模式都支援 匯入 只有標準模式才支援直接查詢 。 透過閘道的自訂連接器 OAuth 目前僅支援閘道系統管理員,但不支援其他資料來源使用者。

當 Power BI 自訂資料連線或功能處於預覽狀態時,實作 Test連線ion 功能的方法可能會變更。

若要支援透過內部部署資料閘道排程重新整理,連接器 必須 實作 Test連線ion 處理常式。 當使用者設定來源的認證,並用來確保它們有效時,就會呼叫 函式。 Test連線ion 處理常式是在資料來源種類 記錄中 設定,且具有下列簽章:

(dataSourcePath) as list => ...

其中 dataSourcePath 是函式的 資料來源路徑 值,而傳回值是由下列專案所組成的清單:

  • 要呼叫的函式名稱(此函式必須標示為 #shared ,而且通常是您的主要資料來源函式)。
  • 要傳遞至函式的一或多個引數。

如果函式的叫用造成錯誤,則 Test連線ion 會被視為失敗,而且不會保存認證。

注意

如上所述,Test連線ion 所提供的函式名稱必須是 shared 成員。

範例:沒有必要引數連線or

下列程式碼片段會針對沒有必要參數的資料來源實作 Test連線ion(例如 TripPin 教學 課程中找到 的參數)。 沒有必要參數(稱為'Singletons') 的連線器不需要任何使用者提供的輸入來測試連線(認證以外的)。 在此情況下, dataSourcePath 值會等於資料來源種類的名稱,而且可以忽略。 未使用其他參數叫用函 TripPin.Contents 式。

TripPin = [
    TestConnection = (dataSourcePath) => { "TripPin.Contents" },
    Authentication = [
        Anonymous = []
    ],
    Label = "TripPin"
];

範例:使用 URL 參數連線or

如果您的資料來源函式具有類型的 Uri.Type 單一必要參數,則其 dataSourcePath 會等於使用者提供的 URL。 下列程式碼片段顯示 Github 範例 中的 Test連線ion 實作。

GithubSample = [
    TestConnection = (dataSourcePath) => {"GithubSample.Contents", dataSourcePath},
    Authentication = [
        OAuth = [
            StartLogin = StartLogin,
            FinishLogin = FinishLogin,
            Label = Extension.LoadString("AuthenticationLabel")
        ]
    ]
];

範例:具有必要參數連線or

如果您的資料來源函式有多個參數或單一非 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"
];