Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym zestawie artykułów wyjaśniono, jak uwierzytelniać i wysyłać komunikaty w czasie rzeczywistym do klientów połączonych z usługą Azure Web PubSub przy użyciu powiązań usługi Azure Web PubSub w usłudze Azure Functions.
| Akcja | Typ |
|---|---|
| Obsługa zdarzeń klienta z usługi Web PubSub | Powiązanie wyzwalacza |
| Obsługa zdarzeń klienta z usługi Web PubSub za pomocą wyzwalacza HTTP lub zwracania adresu URL i tokenu dostępu klienta | Powiązanie wejściowe |
| Wywoływanie interfejsów API usługi | Powiązanie wyjściowe |
Instalowanie rozszerzenia
Instalowany pakiet NuGet rozszerzenia zależy od trybu języka C#, którego używasz w aplikacji funkcji:
Funkcje są wykonywane w izolowanym procesie roboczym języka C#. Aby dowiedzieć się więcej, zobacz Przewodnik dotyczący uruchamiania usługi Azure Functions w języku C# w izolowanym procesie roboczym.
Dodaj rozszerzenie do projektu, instalując ten pakiet NuGet.
Instalowanie pakietu
Aby móc używać tego rozszerzenia powiązania w aplikacji, upewnij się, że plik host.json w katalogu głównym projektu zawiera następujące extensionBundle odwołanie:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
W tym przykładzie version[4.0.0, 5.0.0) wartość polecenia nakazuje hostowi usługi Functions użycie wersji pakietu, która jest co najmniej 4.0.0 mniejsza niż 5.0.0, która zawiera wszystkie potencjalne wersje 4.x. Ta notacja skutecznie utrzymuje aplikację w najnowszej dostępnej wersji pomocniczej pakietu rozszerzenia v4.x.
Jeśli to możliwe, należy użyć najnowszej wersji głównej pakietu rozszerzeń i zezwolić środowisku uruchomieniowemu na automatyczne utrzymywanie najnowszej wersji pomocniczej. Zawartość najnowszego pakietu można wyświetlić na stronie wydania pakietów rozszerzeń. Aby uzyskać więcej informacji, zobacz Pakiety rozszerzeń usługi Azure Functions.
Uwaga
Rozszerzenia Web PubSub dla języka Java nie są jeszcze obsługiwane.
Najważniejsze pojęcia
(1)-(2) WebPubSubConnection powiązanie wejściowe za pomocą narzędzia HttpTrigger w celu wygenerowania połączenia klienta.
(3)-(4) WebPubSubTrigger powiązanie wyzwalacza lub WebPubSubContext powiązanie wejściowe za pomocą narzędzia HttpTrigger do obsługi żądania obsługi.
(5)-(6) WebPubSub powiązanie wyjściowe z usługą żądań wykonuje coś.
Połączenie
Aby nawiązać połączenie z usługą Azure Web PubSub, możesz użyć parametrów połączenia lub tożsamości firmy Microsoft Entra .
Ciąg połączenia
Domyślnie ustawienie aplikacji o nazwie WebPubSubConnectionString jest używane do przechowywania parametry połączenia Web PubSub. Jeśli zdecydujesz się użyć innej nazwy ustawienia dla połączenia, musisz jawnie ustawić tę nazwę jako nazwę klucza w definicjach powiązań. Podczas programowania lokalnego należy również dodać to ustawienie do Values kolekcji w plikulocal.settings.json.
Ważne
Parametry połączenia zawiera informacje o autoryzacji wymagane przez aplikację w celu uzyskania dostępu do usługi Azure Web PubSub. Klucz dostępu wewnątrz parametry połączenia jest podobny do hasła głównego usługi. Aby uzyskać optymalne zabezpieczenia, aplikacja funkcji powinna używać tożsamości zarządzanych podczas nawiązywania połączenia z usługą Web PubSub zamiast używać parametrów połączenia.
Aby uzyskać szczegółowe informacje na temat sposobu konfigurowania i używania usług Web PubSub i Azure Functions razem, zobacz Samouczek: tworzenie bezserwerowej aplikacji powiadomień za pomocą usług Azure Functions i Azure Web PubSub.
Połączenia oparte na tożsamości
Jeśli używasz rozszerzeń usługi Azure Web PubSub Functions w wersji 1.10.0 lub nowszej, zamiast używać parametrów połączenia z kluczem dostępu, możesz skonfigurować aplikację funkcji do uwierzytelniania w usłudze Azure Web PubSub przy użyciu tożsamości firmy Microsoft Entra.
Takie podejście eliminuje konieczność zarządzania wpisami tajnymi i jest zalecana w przypadku obciążeń produkcyjnych.
Wymagania wstępne
Upewnij się, że tożsamość entra firmy Microsoft używana przez aplikację funkcji otrzymała odpowiednią rolę RBAC platformy Azure w docelowym zasobie Web PubSub:
Konfiguracja
Połączenia oparte na tożsamościach w usłudze Azure Functions używają zestawu ustawień, które mają wspólny prefiks. Domyślnie rozszerzenia usługi Azure Web PubSub Functions szukają ustawień z prefiksem WebPubSubConnectionString. Ten prefiks można dostosować, ustawiając connection właściwość w wyzwalaczu lub powiązaniu.
W przypadku usługi Azure Web PubSub należy podać ustawienie specyficzne dla usługi to identyfikator URI punktu końcowego usługi:
| Majątek | Szablon zmiennej środowiskowej | Description | Wymagania |
|---|---|---|---|
| URI usługi | WebPubSubConnectionString__serviceUri |
Identyfikator URI punktu końcowego usługi Web PubSub. | Tak |
W przypadku hostowania w usłudze Azure Functions połączenia oparte na tożsamości używają zarządzanej tożsamości. Tożsamość przypisana przez system jest używana domyślnie, chociaż można określić tożsamość przypisaną przez użytkownika. Aby uzyskać więcej informacji na temat dostosowywania tożsamości, typowe właściwości połączeń opartych na tożsamościach.
Gdy jest uruchamiane w innych kontekstach, takich jak lokalny rozwój, jest używana twoja tożsamość dewelopera, co można dostosować, jeśli to konieczne. Zobacz Rozwój lokalny z połączeniami opartymi na tożsamościach.
Przykładowa konfiguracja
W poniższym przykładzie pokazano, jak skonfigurować tożsamość opartą na ustawieniach domyślnych:
{
"WebPubSubConnectionString__serviceUri": "https://your-webpubsub.webpubsub.azure.com"
}
Uwaga
W przypadku używania local.settings.json pliku w lokalizacji lokalnej, konfiguracji aplikacja systemu Azure lub usługi Key Vault w celu zapewnienia ustawień połączeń opartych na tożsamościach zastąp element __ w : nazwie ustawienia, aby upewnić się, że nazwy są rozpoznawane poprawnie.
Na przykład WebPubSubConnectionString:serviceUri.