モナコ エディターとアプリのKusto 照会言語サポートを統合する
モナコ エディターとKusto 照会言語サポート (monaco-kusto) をアプリに統合できます。 monaco-kusto をアプリに統合すると、入力候補、色付け、リファクタリング、名前変更、定義変換などの編集エクスペリエンスが提供されます。 認証、クエリ実行、結果表示、およびスキーマ探索のためのソリューションを構築する必要があります。 ニーズに合ったユーザー エクスペリエンスを柔軟にファッションできます。
この記事では、モナコ エディターに monaco-kusto を追加し、それをアプリに統合する方法について説明します。 パッケージは GitHub と npm で入手できます。
次の手順を使用して、npm を使用して monaco-kusto をアプリに統合します。
手順 1: monaco-kusto パッケージをインストールする
手順 2: monaco-kusto パッケージを使用するようにアプリを設定する
手順 3: データベース スキーマをエディターに追加する
サンプル プロジェクトとの統合をお試しください。
前提条件
- Node.js (v6.10.3 以降)
monaco-kusto パッケージをインストールする
モナコ エディター npm パッケージをインストールします。
npm i monaco-editor
注意
ネイティブのモナコ エディターをカスタマイズするには、「 Monaco Editor GitHub リポジトリ」を参照してください。
monaco-kusto npm パッケージをインストールします。
npm i @kusto/monaco-kusto
monaco-kusto パッケージを使用するようにアプリを設定する
次のいずれかの方法を使用して 、monaco-kusto を使用するようにアプリを設定できます。
index.html ファイルなど、モナコ エディターが使用されているページに次の HTML を追加します。 パッケージが に対して持っている依存関係が原因で
kusto-language-service
必要です。<script src="%PUBLIC_URL%/monaco-editor/min/vs/language/kusto/bridge.min.js"></script> <script src="%PUBLIC_URL%/monaco-editor/min/vs/language/kusto/kusto.javascript.client.min.js"></script> <script src="%PUBLIC_URL%/monaco-editor/min/vs/language/kusto/newtonsoft.json.min.js"></script> <script src="%PUBLIC_URL%/monaco-editor/min/vs/language/kusto/Kusto.Language.Bridge.min.js"></script>
静的ファイルを モナコ および モナコ kusto パッケージから Web サーバー上 の monaco-editor フォルダーにコピーします。 アプリは、これらの静的ファイルにアクセスする必要があります。
モナコを使用してそれらを読み込みます。 例については、 サンプルを参照してください。
データベース スキーマをエディターに追加する
monaco-kusto パッケージは、データベース スキーマをエディターに追加する方法を提供します。 スキーマを使用すると、エディターはオートコンプリートの提案やその他の機能を提供できます。
スキーマを定義するには、次の構造を使用します。
const schema = {... <YOUR_DATABASE_SCHEMA> ...};
export function setSchema(editor) {
window.monaco.languages.kusto.getKustoWorker().then((workerAccessor) => {
const model = editor.getModel();
workerAccessor(model.uri).then((worker) => {
//EITHER: Set schema from a show schema command
// worker.setSchemaFromShowSchema(
// schema,
// clusterURI,
// database
// );
//OR: Set schema from a manually created schema
// worker.setSchema(schema);
});
});
}
データベース スキーマは、次のいずれかの方法で取得できます。
Azure Data Explorer Web UI の左側のメニューで、[クエリ] を選択します。
スキーマを作成するデータベースを選択します。
クエリ ウィンドウで、次のクエリを実行します。
.show schema as json
クエリの結果をコピーし、 スキーマ 定数として貼り付けます。 クエリの結果は、データベースの一覧です (schema.ts ファイルのインターフェイス
Result
を参照)。メソッドを
setSchemaFromShowSchema()
使用して、エディターでスキーマを設定します。 また、クラスター URI と、エディターで使用するデータベースの名前も指定する必要があります。
サンプル プロジェクト
monaco-kusto パッケージを使用するサンプル プロジェクトを見つけることができます。 サンプルを使用するには、 monaco-kusto GitHub リポジトリを複製します。 サンプルは samples /react フォルダーにあります。
サンプル プロジェクトを設定してテストする
複製されたリポジトリのルートから次のコマンドを実行します。
依存関係をインストールし、プロジェクトをビルドします。
npm install
プロジェクトが動作していることを確認します。 成功した場合は、 index.html が開きます。
npm run watch
関連コンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示