Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY: Wszystkich poziomów zarządzania API
W tym artykule opisano sposób rejestrowania zdarzeń usługi API Management przy użyciu usługi Azure Event Hubs.
Azure Event Hubs to wysoce skalowalna usługa ruchu przychodzącego danych, która może pozyskiwać miliony zdarzeń na sekundę, dzięki czemu można przetwarzać i analizować ogromne ilości danych generowanych przez połączone urządzenia i aplikacje. Usługa Event Hubs działa jako "wejście" do potoku zdarzeń, a po zebraniu danych w centrum zdarzeń można je przekształcić i przechowywać przy użyciu dowolnego dostawcy analizy w czasie rzeczywistym lub adapterów wsadowych/magazynowania. Usługa Event Hubs rozdziela produkcję strumienia zdarzeń od konsumpcji tych zdarzeń, umożliwiając odbiorcom zdarzeń dostęp do nich w dogodnym dla siebie czasie.
Uwaga / Notatka
Obecnie ta funkcja nie jest dostępna w obszarach roboczych.
Wymagania wstępne
- Instancja usługi API Management. Jeśli go nie masz, zobacz Tworzenie wystąpienia usługi API Management.
- Przestrzeń nazw i centrum zdarzeń usługi Azure Event Hubs. Aby uzyskać szczegółowe instrukcje, zobacz Jak utworzyć przestrzeń nazw usługi Event Hubs oraz centrum zdarzeń za pomocą portalu Azure.
Uwaga / Notatka
Zasób usługi Event Hubs może znajdować się w innej subskrypcji, a nawet w innej dzierżawie niż zasób usługi API Management
Konfigurowanie dostępu do centrum zdarzeń
Aby rejestrować zdarzenia w centrum zdarzeń, należy skonfigurować poświadczenia dostępu z usługi API Management. Usługa API Management obsługuje jeden z dwóch następujących mechanizmów dostępu:
- Tożsamość zarządzana dla wystąpienia zarządzania API (zalecane)
- Parametry połączenia usługi Event Hubs
Uwaga / Notatka
Jeśli to możliwe, firma Microsoft zaleca używanie poświadczeń tożsamości zarządzanej w celu zapewnienia zwiększonych zabezpieczeń.
Opcja 1. Konfigurowanie tożsamości zarządzanej usługi API Management
Włącz tożsamość zarządzaną przypisaną przez system lub przypisaną przez użytkownika dla usługi API Management w wystąpieniu usługi API Management.
- Jeśli włączysz tożsamość zarządzaną, przypisaną przez użytkownika, zanotuj identyfikator klienta.
Przypisz tożsamość roli nadawcy danych usługi Azure Event Hubs w zakresie przestrzeni nazw usługi Event Hubs lub centrum zdarzeń używanego do logowania. Aby przypisać rolę, użyj witryny Azure Portal lub innych narzędzi platformy Azure.
Opcja 2. Konfigurowanie parametrów połączenia usługi Event Hubs
Aby utworzyć łańcuch połączenia usługi Event Hubs, zobacz Pobieranie łańcucha połączenia do usługi Event Hubs.
- Możesz użyć ciągu połączenia dla przestrzeni nazw usługi Event Hubs lub dla określonego centrum zdarzeń, którego używasz do rejestrowania z usługi API Management.
- Polityka dostępu współdzielonego dla ciągu połączenia musi umożliwiać co najmniej uprawnienia Wyślij.
Tworzenie rejestratora usługi API Management
Następnym krokiem jest skonfigurowanie rejestratora w usłudze API Management w celu rejestrowania zdarzeń w centrum zdarzeń.
Tworzenie rejestratorów usługi API Management i zarządzanie nimi przy użyciu interfejsu API REST usługi API Management bezpośrednio lub przy użyciu narzędzi, w tym programu Azure PowerShell, pliku Bicep lub szablonu usługi Azure Resource Management.
Opcja 1. Rejestrator z poświadczeniami tożsamości zarządzanej (zalecane)
Rejestrator usługi API Management można skonfigurować w centrum zdarzeń przy użyciu poświadczeń tożsamości zarządzanej przypisanej przez system lub przypisanej przez użytkownika.
Rejestrator z poświadczeniami systemowo przypisanej tożsamości zarządzanej
Aby uzyskać informacje o wymaganiach wstępnych, zobacz Konfigurowanie tożsamości zarządzanej usługi API Management.
Użyj rejestratora usługi API Management — utwórz lub zaktualizuj interfejs API REST z następującą treścią żądania.
{
"properties": {
"loggerType": "azureEventHub",
"description": "Event Hub logger with system-assigned managed identity",
"credentials": {
"endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
"identityClientId":"SystemAssigned",
"name":"<EventHubName>"
}
}
}
Rejestrator z poświadczeniami tożsamości zarządzanej, przypisanymi przez użytkownika
Aby uzyskać informacje o wymaganiach wstępnych, zobacz Konfigurowanie tożsamości zarządzanej usługi API Management.
Użyj rejestratora usługi API Management — utwórz lub zaktualizuj interfejs API REST z następującą treścią żądania.
{
"properties": {
"loggerType": "azureEventHub",
"description": "Event Hub logger with user-assigned managed identity",
"credentials": {
"endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
"identityClientId":"<ClientID>",
"name":"<EventHubName>"
}
}
}
Opcja 2. Rejestrator z poświadczeniami parametrów połączenia
Aby uzyskać informacje o wymaganiach wstępnych, zobacz Konfigurowanie parametrów połączenia usługi Event Hubs.
Uwaga / Notatka
Jeśli to możliwe, firma Microsoft zaleca skonfigurowanie rejestratora przy użyciu poświadczeń tożsamości zarządzanej. Zobacz Konfigurowanie rejestratora przy użyciu poświadczeń tożsamości zarządzanej, wcześniej w artykule.
W poniższym przykładzie użyto polecenia cmdlet New-AzApiManagementLogger w celu utworzenia rejestratora w centrum zdarzeń przez skonfigurowanie parametrów połączenia.
# API Management service-specific details
$apimServiceName = "apim-hello-world"
$resourceGroupName = "myResourceGroup"
# Create logger
$context = New-AzApiManagementContext -ResourceGroupName $resourceGroupName -ServiceName $apimServiceName
New-AzApiManagementLogger -Context $context -LoggerId "ContosoLogger1" -Name "ApimEventHub" -ConnectionString "Endpoint=sb://<EventHubsNamespace>.servicebus.windows.net/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<key>" -Description "Event hub logger with connection string"
Konfiguracja zasad logowania do Event Hub
Po skonfigurowaniu rejestratora w usłudze API Management można skonfigurować politykę logowania do usługi EventHub, aby rejestrować pożądane zdarzenia. Na przykład użyj log-to-eventhub
zasad w sekcji ruchu przychodzącego, aby rejestrować żądania, lub w sekcji ruchu wychodzącego, aby rejestrować odpowiedzi.
Przejdź do instancji usługi API Management.
Wybierz Interfejsy API, a następnie wybierz interfejs API, do którego chcesz dodać politykę. W tym przykładzie dodajemy politykę do Echo API w produkcie Unlimited.
Wybierz opcję Wszystkie operacje.
W górnej części ekranu wybierz kartę Projektowanie .
W oknie Przetwarzanie przychodzące lub Przetwarzanie wychodzące wybierz ikonę
</>
(edytor kodu). Aby uzyskać więcej informacji, zobacz Jak ustawić lub edytować zasady.Umieść kursor w
inbound
sekcji zasad luboutbound
.W oknie po prawej stronie wybierz pozycję Zaawansowane zasady>Zaloguj się do usługi EventHub. Spowoduje to wstawienie szablonu oświadczenia polityki
log-to-eventhub
.<log-to-eventhub logger-id="logger-id"> @{ return new JObject( new JProperty("EventTime", DateTime.UtcNow.ToString()), new JProperty("ServiceName", context.Deployment.ServiceName), new JProperty("RequestId", context.RequestId), new JProperty("RequestIp", context.Request.IpAddress), new JProperty("OperationName", context.Operation.Name) ).ToString(); } </log-to-eventhub>
- Zastąp
logger-id
nazwą loggera, którą utworzyłeś w poprzednim kroku. - Możesz użyć dowolnego wyrażenia zwracającego ciąg jako wartość elementu
log-to-eventhub
. W tym przykładzie jest rejestrowany ciąg w formacie JSON zawierający datę i godzinę, nazwę usługi, identyfikator żądania, adres IP żądania i nazwę operacji.
- Zastąp
Wybierz pozycję Zapisz , aby zapisać zaktualizowaną konfigurację zasad. Jak tylko zostanie to zapisane, zasada jest aktywna, a zdarzenia są rejestrowane w wyznaczonym centrum zdarzeń.
Uwaga / Notatka
Maksymalny obsługiwany rozmiar komunikatu, który można wysłać do centrum zdarzeń z tych zasad usługi API Management, to 200 kilobajtów (KB). Jeśli komunikat wysyłany do centrum zdarzeń jest większy niż 200 KB, zostanie automatycznie obcięty, a obcięty komunikat zostanie przeniesiony do centrum zdarzeń. W przypadku większych komunikatów rozważ użycie usługi Azure Storage z usługą Azure API Management jako obejście limitu 200 KB. Więcej szczegółów można znaleźć w tym artykule.
Podglądaj logi w Event Hubs za pomocą Azure Stream Analytics
Możesz wyświetlić podgląd dziennika w usłudze Event Hubs przy użyciu zapytań usługi Azure Stream Analytics.
- W witrynie Azure Portal przejdź do centrum zdarzeń, do którego rejestrator wysyła zdarzenia.
- W obszarze Funkcje wybierz kartę Przetwarzanie danych .
- Na karcie Włącz szczegółowe informacje w czasie rzeczywistym ze zdarzeń wybierz pozycję Uruchom.
- Powinno być możliwe wyświetlenie podglądu dziennika na karcie Podgląd danych wejściowych . Jeśli wyświetlane dane nie są aktualne, wybierz pozycję Odśwież , aby wyświetlić najnowsze zdarzenia.
Powiązana zawartość
- Dowiedz się więcej o usłudze Azure Event Hubs
- Dowiedz się więcej o integracji usług API Management i Event Hubs
- Dowiedz się więcej o integracji z usługą Azure Application Insights