Integracja edytora Monaco z obsługą język zapytań Kusto w aplikacji
Edytor Monaco można zintegrować z obsługą język zapytań Kusto (monaco-kusto) w aplikacji. Zintegrowanie aplikacji monaco-kusto oferuje środowisko edycji, takie jak uzupełnianie, kolorowanie, refaktoryzacja, zmienianie nazw i przechodzenie do definicji. Wymaga to utworzenia rozwiązania do uwierzytelniania, wykonywania zapytań, wyświetlania wyników i eksploracji schematu. Zapewnia ona pełną elastyczność w zakresie dostosowywania środowiska użytkownika, które odpowiada Twoim potrzebom.
W tym artykule dowiesz się, jak dodać aplikację monaco-kusto do edytora Monaco i zintegrować ją z aplikacją. Pakiet jest dostępny w witrynie GitHub i w witrynie npm.
Wykonaj poniższe kroki, aby zintegrować aplikację monaco-kusto z aplikacją przy użyciu narzędzia npm.
Krok 1. Instalowanie pakietu monaco-kusto
Krok 2. Konfigurowanie aplikacji do korzystania z pakietu monaco-kusto
Krok 3. Dodawanie schematu bazy danych do edytora
Wypróbuj integrację z naszym przykładowym projektem!
Wymagania wstępne
- Node.js (wersja 6.10.3 lub nowsza)
Instalowanie pakietu monaco-kusto
Zainstaluj pakiet npm edytora Monaco:
npm i monaco-editor
Uwaga
Aby dostosować natywny edytor Monaco, zobacz repozytorium GitHub Editor Monaco.
Zainstaluj pakiet npm monaco-kusto :
npm i @kusto/monaco-kusto
Konfigurowanie aplikacji do korzystania z pakietu monaco-kusto
Aplikację można skonfigurować do korzystania z usługi monaco-kusto przy użyciu jednej z następujących metod:
Dodaj następujący kod HTML do stron, na których jest używany edytor Monaco, na przykład plik index.html . Są one wymagane ze względu na zależność, którą pakiet ma w elemecie
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>
Skopiuj pliki statyczne z pakietów monaco i monaco-kusto do folderu monaco-editor na serwerze internetowym. Aplikacja będzie musiała uzyskać dostęp do tych plików statycznych.
Użyj monako, aby je załadować. Aby zapoznać się z przykładami, zobacz przykłady.
Dodawanie schematu bazy danych do edytora
Pakiet monaco-kusto umożliwia dodanie schematu bazy danych do edytora. Schemat umożliwia edytorowi udostępnianie sugestii autouzupełnianych i innych funkcji.
Użyj następującej struktury, aby zdefiniować schemat:
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);
});
});
}
Schemat bazy danych można uzyskać przy użyciu jednej z następujących metod:
W internetowym interfejsie użytkownika usługi Azure Data Explorer w menu po lewej stronie wybierz pozycję Zapytanie.
Wybierz bazę danych, dla której chcesz utworzyć schemat.
W oknie zapytania uruchom następujące zapytanie:
.show schema as json
Skopiuj wynik zapytania i wklej go jako stałą schematu . Wynikiem zapytania jest lista baz danych (zobacz interfejs
Result
w pliku schema.ts ).setSchemaFromShowSchema()
Użyj metody , aby ustawić schemat w edytorze. Należy również określić identyfikator URI klastra i nazwę bazy danych do użycia w edytorze.
Przykładowy projekt
Przykładowy projekt korzystający z pakietu monaco-kusto można znaleźć. Aby użyć przykładu, sklonuj repozytorium monaco-kusto GitHub. Przykład znajdziesz w folderze samples/react .
Konfigurowanie i testowanie przykładowego projektu
Uruchom następujące polecenia z katalogu głównego sklonowanego repozytorium:
Zainstaluj zależności i skompiluj projekt:
npm install
Sprawdź, czy projekt działa. W przypadku pomyślnego otwarcia index.html .
npm run watch
Zawartość pokrewna
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla