Dodawanie źródła HTTP do strumienia zdarzeń (wersja zapoznawcza)

W tym artykule pokazano, jak dodać źródło HTTP do strumienia zdarzeń.

Łącznik HTTP zapewnia konfigurowalny sposób bez kodu na przesyłanie strumieniowe danych z dowolnego interfejsu API REST bezpośrednio do Eventstream do przetwarzania w czasie rzeczywistym. Umożliwia ona ciągłe ściąganie danych z platform SaaS i publicznych źródeł danych oraz automatyczne analizowanie odpowiedzi JSON w zdarzenia strukturalne. Oferuje również przykładowe publiczne źródła danych, aby pomóc Ci szybko rozpocząć. Wybierz przykładowy interfejs API, wprowadź swój klucz API, a Eventstream automatycznie uzupełni wymagane nagłówki i parametry.

Wymagania wstępne

  • Obszar roboczy z pojemnością Fabric lub typem obszaru roboczego Fabric Trial.
  • Dostęp do obszaru roboczego z rolą Kontrybutora lub wyższą.
  • Punkt końcowy HTTP, który jest publicznie dostępny. Jeśli znajduje się w chronionej sieci, połącz się z nią za pomocą iniekcji sieci wirtualnej łącznika eventstream.

Dodawanie protokołu HTTP jako źródła

Jeśli jeszcze nie dodano żadnego źródła do strumienia zdarzeń, wybierz kafelek Połącz źródła danych . Możesz również wybrać pozycję Dodaj źródło>Połącz źródła danych na wstążce.

Zrzut ekranu przedstawiający wybór kafelka do korzystania z zewnętrznego źródła.

Jeśli dodajesz źródło do już opublikowanego strumienia zdarzeń, przełącz się na tryb edycji. Na wstążce wybierz pozycję Dodaj źródło>Połącz źródła danych.

Zrzut ekranu przedstawiający opcje dodawania źródeł zewnętrznych.

Wyszukaj HTTP i wybierz Połącz, aby dodać konektor HTTP do strumienia zdarzeń.

Zrzut ekranu przedstawiający wybór protokołu HTTP jako typ źródła w kreatorze wyboru źródła danych.

Konfigurowanie i nawiązywanie połączenia z protokołem HTTP

Możesz wybrać jeden z przykładowych publicznych interfejsów API , aby szybko rozpocząć pracę ze wstępnie zdefiniowanymi nagłówkami i parametrami, lub wybrać pozycję Zakończ , aby skonfigurować własny niestandardowy łącznik HTTP.

Użyj przykładowych publicznych interfejsów API

  1. Wybierz przykładowy publiczny interfejs API, aby szybko skonfigurować łącznik HTTP: zrzut ekranu przedstawiający przykładową stronę interfejsu API.

    • Binance. Pobierz najnowszą cenę bitcoina
    • CoinGecko. Pobierz bieżącą cenę bitcoina w USD
    • Transport do Londynu. Uzyskiwanie przewidywań przyjazdu na żywo dla stacji w Londynie
    • Alfa Vantage. Uzyskiwanie ceny akcji Microsoft w czasie rzeczywistym (MSFT)
    • OpenWeather. Pobieranie prognozy pogody dla lokalizacji
    • NewsAPI. Zdobądź najnowsze nagłówki biznesowe ze Stanów Zjednoczonych
  2. W przypadku interfejsów API, które wymagają klucza interfejsu API, użyj podanego linku, aby ubiegać się o klucz interfejsu API i wprowadź go w polu wejściowym. Następnie łącznik automatycznie tworzy połączenie Fabric w chmurze i wstępnie wypełnia wymagane nagłówki i parametry HTTP.

    Ważne

    Przykładowy interfejs API binance nie wymaga klucza interfejsu API, ale odpowiadasz za przestrzeganie warunków użytkowania.

  3. Jeśli wybierzesz pozycję Użyj istniejącego połączenia, wybierz pozycję Zastosuj przykład , aby wstępnie wypełnić wymagane nagłówki i parametry dla przykładowego interfejsu API bez wprowadzania klucza interfejsu API.

  4. Alternatywnie wybierz pozycję Zakończ , aby zamknąć okno i skonfigurować własne źródło HTTP od podstaw.

Konfigurowanie własnego źródła HTTP

Wykonaj kroki, aby skonfigurować własne źródło HTTP bez przykładowego interfejsu API.

  1. Utwórz nowe połączenie. Wybierz pozycję Nowe połączenie i wprowadź wymagane właściwości źródła HTTP:

    Zrzut ekranu pokazujący, gdzie wybrać nową stronę połączenia.

    • Podstawowy adres URL: podstawowy adres URL punktu końcowego HTTP.
    • Identyfikator URI odbiorców tokenu (opcjonalnie): zasób, dla którego jest przeznaczony token.
    • Nazwa połączenia: wprowadź nazwę połączenia.
    • Rodzaj uwierzytelniania: Obecnie Łącznik HTTP obsługuje tylko uwierzytelnianie Anonymous, Basic i API Key.

    Zrzut ekranu przedstawiający nową stronę połączenia.

  2. Metoda żądania: Wybierz GET lub POST.

  3. Nagłówki i parametry: w przypadku wybrania uwierzytelniania klucza interfejsu API podczas tworzenia połączenia w chmurze użyj parametru dynamicznego ${apiKey} w nagłówkach lub parametrach, aby odwołać się do klucza interfejsu API.

    Aby na przykład nawiązać połączenie z witryną CoinGecko, użyj nagłówka: x_cg_demo_api_key = ${apiKey}.

    Ważne

    Nie należy podawać klucza API ani innych poświadczeń w nagłówkach lub parametrach.

  4. Interwał żądania (s): określa czas oczekiwania w sekundach między kolejnymi żądaniami; prawidłowy zakres to [1, 3600].

  5. Maksymalna liczba ponownych prób: maksymalna liczba ponownych prób w łączniku w przypadku wystąpienia błędu; prawidłowy zakres to [10, 100].

  6. Odstęp przed ponowną próbą (s): czas w sekundach oczekiwania po błędzie przed ponownym podjęciem próby łącza; prawidłowy zakres to [1, 3600].

  7. Kod stanu ponawiania: zwrócone kody błędów HTTP, które skłaniają łącznik do ponowienia próby żądania. Wprowadź rozdzielaną przecinkami listę kodów lub zakres kodów. Zakresy są określane przy użyciu kodu początkowego i opcjonalnego kodu końcowego. Przykład:

    • 400- zawiera wszystkie kody większe lub równe 400.
    • 400-500 zawiera kody z zakresu od 400 do 500, w tym 500.
    • 404,408,500- powoduje, że łącznik ponawia próbę dla 404 NIE ZNALEZIONO, 408 ŻĄDANIE PRZEKROCZYŁO LIMIT CZASU oraz wszystkich kodów błędów 5xx.

    Niektóre kody stanu są zawsze ponawiane, takie jak nieautoryzowane, przekroczenia limitu czasu i zbyt wiele żądań.

    Zrzut ekranu przedstawiający skonfigurowane ustawienia.

Obsługuj stronicowane interfejsy API

Niektóre interfejsy API REST zwracają dane na wielu stronach zamiast pojedynczej odpowiedzi. Na przykład interfejs API może zwrócić 100 rekordów w każdej odpowiedzi i wymagać dodatkowych żądań pobrania pozostałych rekordów. Łącznik HTTP obsługuje stronicowanie, dzięki czemu może pobierać dane między wieloma stronami w cyklu sondowania.

Obsługiwane typy stronicowania

Łącznik HTTP obsługuje następujące wzorce stronicowania:

  • Stronicowanie oparte na stronach: żądanie zawiera parametr strony, taki jak page=1 lub page=2. Łącznik zwiększa numer strony, aby zażądać następnej strony.
  • Stronicowanie oparte na kursorach: Odpowiedź interfejsu API zawiera kursor lub token kontynuacji, taki jak continuationToken lub nextPageToken. Łącznik używa tej wartości do żądania następnej strony.

Skonfiguruj stronicowanie

Aby użyć stronicowania, skonfiguruj te ustawienia w łączniku HTTP:

  • Włączono stronicowanie: włącza obsługę stronicowania.
  • Tryb stronicowania: określa typ stronicowania. Obsługiwane wartości to Page (Strona ) i Cursor (Kursor).
  • Wskaźnik JSON danych odpowiedzi: określa lokalizację tablicy danych w odpowiedzi interfejsu API, na przykład /value, /itemslub /articles.

Przykład stronicowania opartego na stronach

W przypadku interfejsu API opartego na stronach pierwsze żądanie może mieć wartość GET /api/data?page=1.

Przykładowa konfiguracja:

  • Włączono stronicowanie: true.
  • Tryb stronicowania: Strona.

Łącznik wysyła żądania dotyczące kolejnych stron, takich jak page=2 i page=3. Stronicowanie zatrzymuje się, gdy odpowiedź API wskazuje, że nie ma już więcej danych, na przykład zwracając pustą tablicę.

Przykład stronicowania opartego na kursorach

W przypadku interfejsu API opartego na kursorach odpowiedź może zawierać token kontynuacji, taki jak "continuationToken": "ABC123".

Łącznik wyodrębnia token kontynuacji i używa go w następnym żądaniu, takim jak GET /api/data?continuationToken=ABC123. Stronicowanie zatrzymuje się, gdy odpowiedź nie zawiera innego tokenu lub wartość tokenu ma wartość null.

Gdy paginacja się zatrzymuje

Łącznik zatrzymuje żądanie dodatkowych stron po spełnieniu jednego z następujących warunków:

  • Interfejs API zwraca pustą odpowiedź.
  • Odpowiedź nie zawiera tokenu następnej strony.
  • Interfejs API wskazuje, że nie ma już kolejnych stron.

Zagadnienia do rozważenia

  • Każdy cykl sondowania rozpoczyna się od pierwszej strony.
  • Przed włączeniem tej funkcji upewnij się, że interfejs API obsługuje stronicowanie.
  • Nieprawidłowa konfiguracja stronicowania lub ustawienia wskaźnika JSON mogą powodować brakujące lub zduplikowane dane.

Użyj funkcji stronicowania, gdy interfejs API ogranicza liczbę rekordów zwracanych w każdym żądaniu.

Szczegóły strumienia lub źródła

  1. Na stronie Łączenie wykonaj jedną z tych czynności w zależności od tego, czy używasz usługi Eventstream, czy Real-Time Hub.

    • Strumień zdarzeń:

      W okienku Szczegóły źródła po prawej stronie wykonaj następujące kroki:

      1. W polu Nazwa źródła wybierz przycisk Ołówek , aby zmienić nazwę.

      2. Zwróć uwagę, że nazwa strumienia zdarzeń i nazwa strumienia są tylko do odczytu.

    • Centrum czasu rzeczywistego:

      W sekcji Szczegóły usługi Stream po prawej stronie wykonaj następujące kroki:

      1. Wybierz obszar roboczy Fabric gdzie chcesz utworzyć strumień zdarzeń.

      2. W polu Nazwa strumienia zdarzeń wybierz przycisk Ołówek i wprowadź nazwę strumienia zdarzeń.

      3. Wartość nazwy strumienia jest automatycznie generowana przez dodanie -stream do nazwy eventstream. Strumień ten pojawia się na stronie Wszystkie strumienie danych na centrum czasu rzeczywistego, gdy kreator zakończy działanie.

  2. Wybierz pozycję Dalej w dolnej części strony Konfigurowanie .

Przeglądanie i nawiązywanie połączenia

Na ekranie Przeglądanie i łączenie przejrzyj podsumowanie, a następnie wybierz pozycję Dodaj (Eventstream) lub Połącz (Real-Time hub).

Źródło HTTP dodane do strumienia zdarzeń jest widoczne w trybie edycji.

Zrzut ekranu przedstawiający dodane źródło HTTP w trybie edycji z wyróżnionym przyciskiem Publikuj.

Wybierz Publikuj, aby wprowadzić zmiany i rozpocząć przesyłanie danych strumieniowych ze źródła HTTP do strumienia zdarzeń.

Zrzut ekranu przedstawiający dodane źródło HTTP w widoku na żywo z wyróżnionym przyciskiem Publikuj.

Ograniczenia

  • Łącznik HTTP obsługuje obecnie tylko odpowiedzi interfejsu API JSON .
  • Uwierzytelnianie OAuth nie jest obsługiwane.
  • Źródło HTTP nie obsługuje funkcji CI/CD, w tym integracji z Gitem i potoku wdrożeń. Eksportowanie lub importowanie elementu strumienia zdarzeń zawierającego to źródło za pośrednictwem usługi Git może spowodować błędy.

Inne łączniki: