Felsőbb rétegbeli végpontok
A felsőbb rétegbeli végpontok funkció lehetővé teszi, hogy az Azure SignalR Service kiszolgáló nélküli módban küldjön üzeneteket és kapcsolati eseményeket egy végpontkészletbe. A felsőbb rétegbeli végpontokkal kiszolgáló nélküli módban hívhat meg egy központi metódust az ügyfelektől, hogy értesítse a végpontokat, ha az ügyfélkapcsolatok csatlakoznak vagy megszakadnak.
Feljegyzés
A felsőbb rétegbeli végpontok csak kiszolgáló nélküli módban konfigurálhatók.
Felsőbb rétegbeli végpont beállításai
A felsőbb rétegbeli végpont beállításai a sorrendre érzékeny elemek listáját tartalmazzák:
- EGY URL-sablon, amely meghatározza, hogy hová küldenek üzeneteket.
- Egy szabálykészlet.
- Hitelesítési konfigurációk.
Egy esemény aktiválásakor a rendszer egyenként ellenőrzi az elemek szabályait. A rendszer üzeneteket küld az első egyező elem felső végpontjának URL-címére.
URL-sablon beállításai
A különböző minták támogatásához paraméterezheti a felső végpont URL-címét. Három előre definiált paraméter létezik:
Előre definiált paraméter | Leírás |
---|---|
{hub} | A központ az Azure SignalR Szolgáltatás fogalma. A központ az elkülönítés egysége. A felhasználók hatóköre és az üzenetkézbesítés egy központra van korlátozva. |
{category} | A kategória a következő értékek egyike lehet:
|
{event} | Az üzenetek kategóriájában egy esemény az ügyfelek által küldött meghívási üzenet célja. A kapcsolatok kategória esetében a rendszer csak a csatlakoztatott és a leválasztott kapcsolatot használja. |
Ezek az előre definiált paraméterek használhatók az URL-mintában. A paramétereket a rendszer egy megadott értékre cseréli a felső végpont URL-címének kiértékelésekor. Példa:
http://host.com/{hub}/api/{category}/{event}
Ha a "csevegőközpont" ügyfélkapcsolata csatlakozik, a rendszer a következő URL-címre küld üzenetet:
http://host.com/chat/api/connections/connected
Amikor a "csevegőközpont" egyik ügyfele meghívja a hub metódust broadcast
, a rendszer üzenetet küld erre az URL-címre:
http://host.com/chat/api/messages/broadcast
Key Vault titkos kulcshivatkozás az URL-sablon beállításaiban
A felső végpont URL-címe nincs titkosítva. Bizalmas, felsőbb rétegbeli végpontokat biztonságossá tehet a Key Vault használatával, és felügyelt identitással érheti el őket.
Felügyelt identitás engedélyezése a SignalR szolgáltatáspéldányban, és Key Vault-hozzáférés biztosítása:
Adjon hozzá egy rendszer által hozzárendelt vagy felhasználó által hozzárendelt identitást. Lásd : Felügyelt identitás hozzáadása az Azure Portalon.
Titkos olvasási engedélyt adhat a felügyelt identitáshoz a Key Vault hozzáférési szabályzataiban. Lásd: Key Vault hozzáférési szabályzat hozzárendelése az Azure Portal használatával
Cserélje le a bizalmas szöveget az alábbi szintaxisra a felső végpont URL-mintázatában:
{@Microsoft.KeyVault(SecretUri=<secret-identity>)}
<secret-identity>
a Key Vault titkos kulcsainak teljes adatsík URI-ja, opcionálisan egy verziót is beleértve, például https://myvault.vault.azure.net/secrets/mysecret/https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931Egy teljes hivatkozás például a következőhöz hasonlóan nézne ki:
{@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)}
Az Azure-függvényhez tartozó felső végpont URL-címe a következőhöz hasonlóan nézne ki:
https://contoso.azurewebsites.net/runtime/webhooks/signalr?code={@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)}
Feljegyzés
30 percenként, vagy amikor a felsőbb rétegbeli végpont beállításai vagy a felügyelt identitás megváltozik, a szolgáltatás újraolvasja a titkos tartalmat. A frissítés azonnal aktiválható a felsőbb rétegbeli végpont beállításainak módosításával.
Szabálybeállítások
A központi szabályokat, a kategóriaszabályokat és az eseményszabályokat külön állíthatja be. Az egyező szabály három formátumot támogat:
- Bármely eseményhez használjon csillagot (*).
- Több esemény összekapcsolásához használjon vesszőt (,). Például
connected, disconnected
egyezik a csatlakoztatott és a leválasztott eseményekkel. - Használja a teljes eseménynevet az eseményhez való igazodáshoz. Például
connected
egyezik a csatlakoztatott eseményével.
Feljegyzés
Ha az Azure Functionst SignalR-eseményindítóval használja, a SignalR-eseményindító egyetlen végpontot tesz elérhetővé a következő formátumban: <Function_App_URL>/runtime/webhooks/signalr?code=<API_KEY>
.
Ehhez az URL-címhez egyszerűen konfigurálhatja az URL-sablon beállításait , és megtarthatja az alapértelmezett szabálybeállításokat . A keresés és <API_KEY>
a keresés <Function_App_URL>
részleteiért tekintse meg a SignalR szolgáltatás integrációját ismertető cikket.
Hitelesítési beállítások
A hitelesítést minden felsőbb rétegbeli végponthoz külön konfigurálhatja. A hitelesítés konfigurálásakor egy jogkivonat van beállítva a Authentication
felsőbb rétegbeli üzenet fejlécében. Az Azure SignalR Szolgáltatás jelenleg a következő hitelesítési típusokat támogatja:
None
ManagedIdentity
Ha ezt választja ManagedIdentity
, először engedélyeznie kell egy felügyelt identitást az Azure SignalR Szolgáltatásban, és opcionálisan meg kell adnia egy erőforrást. A részleteket az Azure SignalR Service felügyelt identitásai között találja.
Felsőbb rétegbeli végpontbeállítások konfigurálása az Azure Portalon
Feljegyzés
Az App Service-környezettel való integráció jelenleg nem támogatott.
- Nyissa meg az Azure SignalR Szolgáltatást.
- Válassza a Beállítások lehetőséget.
- Szolgáltatás mód váltása kiszolgáló nélkülire.
- URL-címek hozzáadása a felsőbb rétegbeli URL-minta alatt.
- Válassza a Központi szabályok lehetőséget a felsőbb réteg beállításainak megnyitásához.
- Módosítsa a központi szabályokat, az eseményszabályokat és a kategóriaszabályokat úgy, hogy megadja a szabály értékét a megfelelő mezőben.
- Az Upstream Authentication (Felsőbb rétegbeli hitelesítés) területen válassza a
- Felügyelt identitás használata. (Győződjön meg arról, hogy engedélyezte a felügyelt identitást)
- A kibocsátott jogkivonat Célközönség területén válasszon lehetőségeket. A részleteket az Azure SignalR Service felügyelt identitásai között találja.
Felsőbb rétegbeli végpontbeállítások konfigurálása Resource Manager-sablonnal
A felsőbb rétegbeli végpontbeállítások Azure Resource Manager-sablonnal való konfigurálásához állítsa be a upstream
tulajdonság tulajdonságátproperties
. Az alábbi kódrészlet bemutatja, hogyan állíthatja be a tulajdonságot a upstream
felsőbb rétegbeli végpontbeállítások létrehozásához és frissítéséhez.
{
"properties": {
"upstream": {
"templates": [
{
"UrlTemplate": "http://host.com/{hub}/api/{category}/{event}",
"EventPattern": "*",
"HubPattern": "*",
"CategoryPattern": "*",
"Auth": {
"Type": "ManagedIdentity",
"ManagedIdentity": {
"Resource": "<resource>"
}
}
}
]
}
}
}
Kiszolgáló nélküli protokollok
Az Azure SignalR Service az alábbi protokollokat követő végpontoknak küld üzeneteket. A SignalR Service eseményindító kötését a Függvényalkalmazással használhatja, amely kezeli ezeket a protokollokat.
Metódus
POST
Kérelem fejléce
Név | Leírás |
---|---|
X-ASRS-Connection-Id | Az ügyfélkapcsolat kapcsolatazonosítója. |
X-ASRS-Hub | Az a központ, amelyhez az ügyfélkapcsolat tartozik. |
X-ASRS-Category | Az a kategória, amelyhez az üzenet tartozik. |
X-ASRS-Event | Az az esemény, amelyhez az üzenet tartozik. |
X-ASRS-Signature | Az ellenőrzéshez használt kivonatalapú üzenethitelesítési kód (HMAC). Részletekért tekintse meg az Aláírás című témakört. |
X-ASRS-User-Claims | Az ügyfélkapcsolat jogcímcsoportja. |
X-ASRS-User-Id | Az üzenetet küldő ügyfél felhasználói identitása. |
X-ASRS-Client-Query | A kérés lekérdezése, amikor az ügyfelek csatlakoznak a szolgáltatáshoz. |
Hitelesítés | Nem kötelező jogkivonat használata esetén ManagedIdentity . |
Kérés törzse
Csatlakoztatva
Tartalomtípus: application/json
Leválasztva
Tartalomtípus: application/json
Név | Típus | Leírás |
---|---|---|
Hiba | húr | Egy lezárt kapcsolat hibaüzenete. Üres, ha a kapcsolatok hiba nélkül bezárulnak. |
Meghívási üzenet
Tartalomtípus: application/json
vagy application/x-msgpack
Név | Típus | Leírás |
---|---|---|
InvocationId | húr | Nem kötelező sztring, amely egy meghívási üzenetet jelöl. A meghívások részleteinek megkeresése. |
Cél | húr | Ugyanaz, mint az esemény, és ugyanaz, mint a meghívási üzenetben szereplő cél. |
Argumentumok | Objektumtömb | Olyan tömb, amely a hivatkozott Target metódusra alkalmazandó argumentumokat tartalmazza. |
Aláírás
A szolgáltatás az érték SHA256-kódját X-ASRS-Connection-Id
az elsődleges hozzáférési kulcs és a másodlagos hozzáférési kulcs kulcsként HMAC
való használatával számítja ki. A szolgáltatás a fejlécben fogja beállítani, X-ASRS-Signature
amikor HTTP-kéréseket küld egy felsőbb rétegbeli végpontra:
Hex_encoded(HMAC_SHA256(accessKey, connection-id))