データ ソース関数
データ コネクタは、 M ライブラリ内のデータ ソース関数の動作をラップしてカスタマイズします。 たとえば、REST API の拡張機能では、 Web.Contents 関数を使用して HTTP 要求を行います。 現在、拡張をサポートするために、限られたデータ ソース関数のセットが有効になっています。
Example:
[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が含まれている場合は、パラメーターは必要と見なされません)。
特定のデータ ソースの種類の関数では、その種類に関連付けられている資格情報のみを使用できます。 資格情報は、関数の必須パラメーターの組み合わせに基づいて検索を実行することで、実行時に識別されます。 資格情報の識別方法の詳細については、「 データ ソース パス」を参照してください。
Example:
HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];
プロパティ
次の表に、データ ソース定義レコードのフィールドを示します。
| フィールド | タイプ | 詳細 |
|---|---|---|
| Authentication | レコード | データ ソースでサポートされる 1 つ以上の種類の認証を指定します。 少なくとも 1 種類が必要です。 各種類は、Power Query 資格情報プロンプトにオプションとして表示されます。 詳細については、「認証の 種類」を参照してください。 |
| ラベル | SMS 送信 | (省略可能) 資格情報ダイアログでのこの拡張機能のフレンドリ表示名。 |
| 暗号化をサポート | 論理的 | (省略可能) true の場合、UI は暗号化された接続を使用してデータ ソースに接続するオプションを表示します。 これは通常、暗号化されていないフォールバック メカニズム (通常は ODBC または ADO.NET ベースのソース) を持つデータ ソースに使用されます。 |
UI に発行する
データ ソース定義レコードと同様に、発行レコードは、データの取得ダイアログでこの拡張機能を公開するために必要な情報を Power Query UI に提供します。
Example:
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 | list | テキスト項目の一覧。 最初の項目は、Power BI の [データの 取得 ] ダイアログでデータ ソースのアイコンの横に表示される名前を定義します。 2 番目の項目 (省略可能) は、前の名前がマウス オーバーされたときに表示されるツール ヒントを定義します。 |
| カテゴリ | SMS 送信 | [ データの取得 ] ダイアログに拡張機能を表示する場所。 現在、特別な処理が適用されるカテゴリ値は、Azure と Database だけです。 その他のすべての値は、その他のカテゴリの下に表示されます。 |
| ベータ | 論理的 | (省略可能) true に設定すると、UI によってコネクタ名の横にプレビュー/ベータ識別子が表示され、コネクタの実装が破壊的変更の影響を受けるという警告ダイアログが表示されます。 |
| LearnMoreUrl | SMS 送信 | (省略可能) このデータ ソースまたはコネクタに関する詳細情報を含む Web サイトの URL。 |
| SupportsDirectQuery | 論理的 | (省略可能) 拡張機能の直接クエリを有効にします。 |
| SourceImage | レコード | (省略可能) バイナリ イメージの一覧を含むレコード ( Extension.Contents メソッドを使用して拡張ファイルから取得)。 レコードには、それぞれ独自のリストを持つ 2 つのフィールド (Icon16、Icon32) が含まれています。 各アイコンは異なるサイズにする必要があります。 |
| SourceTypeImage | レコード | (省略可能) SourceImage と同様に、多くの既定のコネクタの規則を除き、右下隅にソース固有のアイコンを含むシート アイコンを表示します。 SourceTypeImage に異なるアイコン セットを用意することは省略可能です。多くの拡張機能では、両方のフィールドに同じアイコン のセットを再利用するだけです。 |