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.Type
yang 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"
];