Przykład: interfejs API usług REST produktu Log Management

W tym przykładzie przedstawiono sposób użycia operacji przetwarzania w chmurze Log Management REST API do żądania i pobierania dzienników z serwerów przepływu pracy w subskrypcji w chmurze.

Ten przykład obejmuje pobieranie listy żądań dzienników, poznawanie dostępnych typów dzienników, żądanie i pobieranie dziennika oraz usuwanie żądań dzienników i powiązanych z nimi plików dzienników.
Zanim rozpoczniesz
Wszystkie wywołania funkcji API wymagają poprawnego znacznika CSRF (cross site forgery request) w nagłówku IBM-CSRF-TOKEN wywołania. Znacznik CSRF należy uzyskać za pomocą komendy POST /instance/services/csrf_token. Więcej informacji na ten temat zawiera sekcja Zapobieganie fałszerstowi żądań między ośrodkiem.
Wyświetlanie listy żądań pobrania dzienników wykonanych w subskrypcji
Aby pobrać żądania, należy użyć następującego wywołania:
GET /instance/services/logs
Żądania możesz przefiltrować wg środowiska (np. wg środowiska programistycznego) i możesz zastosować stronicowanie:
GET /instance/services/logs/?environment=dev&offset=5&size=10
Poznawanie dostępnych typów dzienników
Obsługiwanych jest kilka typów dzienników. Aby uzyskać listę typów dzienników obsługiwanych w subskrypcji, należy użyć następującego wywołania:
GET /instance/services/log_types
Lista zawiera nazwy wyświetlane (możliwe do przetłumaczenia) wszystkich typów dzienników i listę dostępnych właściwości.
Żądanie konkretnego typu dziennika dla środowiska
Aby zażądać dziennika, należy użyć następującego wywołania:
POST /instance/services/logs
Szczegółowe informacje o żądaniu dziennika są przekazywane jako obiekt JSON w treści żądania wywołania. Aby na przykład zażądać dzienników z klastra aplikacji w środowisku programistycznym, w treści wywołania należy podać środowisko i typ dziennika:
POST /instance/services/logs
	...
	{
	  "environment": "dev",
	  "log_type": "AppCluster"
	}
W zależności od właściwości, które są obsługiwane w przypadku danego typu dziennika, możesz do treści wywołania dodać więcej kryteriów filtrowania. W tym celu należy ustawić odpowiednie właściwości w obiekcie JSON. Aby na przykład zażądać dziennika klastra aplikacji, który zawiera wszystkie zdarzenia zarejestrowane między 13:07 i 13:17 w dniu 16 sierpnia 2019 roku z zastosowaniem poziomu rejestrowania all (Wszystko), należy użyć następującego wywołania:
POST /instance/services/logs
	...
	{
	  "environment": "dev",
	  "log_type": "AppCluster",
	  "start_time": "2019-08-16T13:17:22.421Z",
	  "duration": 10,
	  "min_log_level": "all"
	}
Odpowiedź zawiera identyfikator dziennika oraz status i szczegóły żądania dziennika. Identyfikatora dziennika można użyć do pobrania wartości statusu, szczegółowych informacji o żądaniu dziennika i pliku dziennika. Jeśli podasz nieobsługiwaną właściwość typu dziennika, interfejs API zwróci błąd. Jeśli nie dołączysz wszystkich obsługiwanych właściwości, w przypadku brakujących właściwości będą używane wartości domyślne.
Pobieranie żądanego dziennika
Sprawdź status żądania pobrania dziennika, dodając parametr log_id do wywołania GET :
GET /instance/services/logs/8015
Gdy zwrócone żądanie dziennika zawiera status „available” (dostępne), w celu pobrania pliku .zip zawierającego dzienniki, można użyć poniższego wywołania z elementem content-type o wartości „application/zip”:
GET /instance/services/logs/8015/file
Usuwanie żądań dzienników i powiązanych plików dzienników
Aby usunąć żądanie dziennika i pliki dziennika, należy użyć następującego wywołania:
DELETE /instance/services/logs/8015