處理數據存取
數據源函式
Data 連線 or 包裝並自定義 M 連結庫中數據源函式的行為。 例如,REST API 的延伸模組會使用 Web.Contents 函 式來提出 HTTP 要求。 目前,已啟用一組有限的數據源函式來支持擴充性。
範例:
[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents = (optional message as text) =>
let
message = if (message <> null) then message else "Hello world"
in
message;
資料來源種類
在延伸模組中標示為 shared
的函式可以透過包含 DataSource.Kind
具有數據源定義記錄名稱之函式上的常值屬性,來與特定數據源產生關聯。
數據源記錄會定義數據源支援的驗證類型,以及基本商標資訊(例如顯示名稱/標籤)。
記錄的名稱會變成其唯一標識碼。
與相同數據源相關聯的每個函式都必須具有相同的必要函式參數,包括名稱、類型和順序。 (針對數據源種類的目的,如果參數已標示 optional
,或其元數據包含 DataSource.Path = false
,則不視為必要參數。
特定數據源種類的函式只能使用與該 Kind 相關聯的認證。 認證是在運行時間藉由根據函式必要參數的組合來執行查閱來識別。 如需如何識別認證的詳細資訊,請參閱 數據源路徑。
範例:
HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];
屬性
下表列出數據源定義記錄的欄位。
欄位 | 類型 | 詳細資料 |
---|---|---|
驗證 | 記錄 | 指定數據源支援的一或多個驗證類型。 至少需要一種。 每一種類型都會在Power Query認證提示中顯示為選項。 如需詳細資訊,請參閱 驗證種類。 |
標籤 | text | (選擇性) 認證對話框中此延伸模組的易記顯示名稱。 |
SupportsEncryption | 邏輯 | (選擇性) 若為 true,UI 會提供選項,以使用加密連線至數據源。 這通常用於具有非加密後援機制的數據源(通常是 ODBC 或 ADO.NET 型來源)。 |
發佈至UI
與數據源定義記錄類似,[發佈] 記錄會提供Power Query UI 在 [取得資料] 對話框中公開此延伸模組所需的資訊。
範例:
HelloWorld.Publish = [
Beta = true,
ButtonText = { Extension.LoadString("FormulaTitle"), Extension.LoadString("FormulaHelp") },
SourceImage = HelloWorld.Icons,
SourceTypeImage = HelloWorld.Icons
];
HelloWorld.Icons = [
Icon16 = { Extension.Contents("HelloWorld16.png"), Extension.Contents("HelloWorld20.png"), Extension.Contents("HelloWorld24.png"), Extension.Contents("HelloWorld32.png") },
Icon32 = { Extension.Contents("HelloWorld32.png"), Extension.Contents("HelloWorld40.png"), Extension.Contents("HelloWorld48.png"), Extension.Contents("HelloWorld64.png") }
];
屬性
下表列出 [發佈] 記錄的欄位。
欄位 | 類型 | 詳細資料 |
---|---|---|
ButtonText | 清單 | 文字項目清單。 第一個項目會定義 Power BI [取得資料 ] 對話框中資料源圖示旁顯示的名稱。 第二個專案 (選擇性) 定義工具提示,當上述名稱是滑鼠停留時,將會顯示的工具提示。 |
類別 | text | 延伸模組應該顯示在 [取得數據 ] 對話框中的位置。 目前唯一具有特殊手法的類別值是 Azure 和 Database 。 所有其他值最終都會在 [其他] 類別之下。 |
Beta | 邏輯 | (選擇性) 當設定為 true 時,UI 會顯示連接器名稱旁的預覽/Beta 識別碼,以及連接器實作受限於重大變更的警告對話框。 |
LearnMoreUrl | text | (選擇性) 包含此數據源或連接器詳細信息的網站URL。 |
SupportsDirectQuery | 邏輯 | (選擇性) 啟用延伸模組的直接查詢。 |
SourceImage | 記錄 | (選擇性) 包含二進位影像清單的記錄(使用 Extension.Contents 方法從擴展名檔案來源)。 記錄包含兩個字段(Icon16,Icon32),每個字段都有自己的清單。 每個圖示的大小都應該不同。 |
SourceTypeImage | 記錄 | (選擇性) 與 SourceImage 類似,除了許多現成連接器的慣例,就是在右下角顯示具有來源特定圖示的工作表圖示。 SourceTypeImage 有一組不同的圖示是選擇性的,許多延伸模組只會針對這兩個字段重複使用相同的圖示集。 |