Bagikan melalui


Menangani Dukungan Gateway

Menguji koneksi

Dukungan Koneksi or kustom tersedia dalam mode Pribadi dan Standar gateway data lokal. Kedua mode gateway mendukung Impor. Kueri Langsung hanya didukung dalam mode Standar. OAuth untuk konektor kustom melalui gateway saat ini hanya didukung untuk admin gateway tetapi bukan pengguna sumber data lainnya.

Metode untuk menerapkan fungsionalitas Uji Koneksi ion kemungkinan akan berubah saat fungsionalitas Koneksi or Data Kustom Power BI sedang dalam pratinjau.

Untuk mendukung refresh terjadwal melalui gateway data lokal, konektor Anda harus menerapkan handler Uji Koneksi ion. Fungsi ini dipanggil ketika pengguna mengonfigurasi kredensial untuk sumber Anda, dan digunakan untuk memastikan kredensial valid. Handler Uji Koneksi ion diatur dalam catatan Jenis Sumber Data, dan memiliki tanda tangan berikut:

(dataSourcePath) as list => ...

Di mana dataSourcePath nilai Jalur Sumber Data untuk fungsi Anda, dan nilai yang dikembalikan adalah daftar yang terdiri dari:

  • Nama fungsi yang akan dipanggil (fungsi ini harus ditandai sebagai #shared, dan biasanya merupakan fungsi sumber data utama Anda).
  • Satu atau beberapa argumen untuk diteruskan ke fungsi Anda.

Jika pemanggilan fungsi menghasilkan kesalahan, Pengujian Koneksi ion dianggap gagal, dan kredensial tidak akan dipertahankan.

Catatan

Seperti yang dinyatakan di atas, nama fungsi yang disediakan oleh Test Koneksi ion harus menjadi shared anggota.

Contoh: Koneksi or tanpa argumen yang diperlukan

Cuplikan kode di bawah ini menerapkan Test Koneksi ion untuk sumber data tanpa parameter yang diperlukan (seperti yang ditemukan dalam tutorial TripPin). Koneksi or tanpa parameter yang diperlukan (disebut sebagai 'Singletons') tidak memerlukan input yang disediakan pengguna untuk menguji koneksi (selain kredensial). Dalam hal ini, dataSourcePath nilainya akan sama dengan nama Jenis Sumber Data, dan dapat diabaikan. Fungsi TripPin.Contents ini dipanggil tanpa parameter tambahan.

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

Contoh: Koneksi or dengan parameter URL

Jika fungsi sumber data Anda memiliki satu parameter jenis Uri.Typeyang diperlukan , itu dataSourcePath akan sama dengan URL yang disediakan oleh pengguna. Cuplikan di bawah ini menunjukkan implementasi Uji Koneksi ion dari Sampel Github.

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

Contoh: Koneksi or dengan parameter yang diperlukan

Jika fungsi sumber data Anda memiliki beberapa parameter, atau parameter non-URL tunggal, maka nilainya dataSourcePath akan menjadi string JSON yang berisi parameter. Cuplikan di bawah ini berasal dari sampel 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"
];