Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Trigger Azure Web PubSub slouží ke zpracování klientských událostí ze služby Azure Web PubSub.
Vzor koncového bodu triggeru by byl následující, který by se měl nastavit na straně služby Web PubSub (portál: nastavení –> obslužná rutina události –> šablona adresy URL). Ve vzoru koncového bodu se část code=<API_KEY> dotazu vyžaduje, pokud používáte aplikaci Azure Function App z bezpečnostních důvodů. Klíč najdete na webu Azure Portal. Najděte prostředek aplikace funkcí a po nasazení aplikace funkcí do Azure přejděte na Functions ->App keys ->System keys ->webpubsub_extension. I když pracujete s místními funkcemi, tento klíč není potřeba.
<Function_App_Url>/runtime/webhooks/webpubsub?code=<API_KEY>
Příklad
Následující ukázka ukazuje, jak zpracovávat uživatelské události z klientů.
[Function("Broadcast")]
public static void Run(
[WebPubSubTrigger("<hub>", WebPubSubEventType.User, "message")] UserEventRequest request, ILogger log)
{
log.LogInformation($"Request from: {request.ConnectionContext.UserId}");
log.LogInformation($"Request message data: {request.Data}");
log.LogInformation($"Request message dataType: {request.DataType}");
}
WebPubSubTrigger Vazba také podporuje návratovou hodnotu ve scénářích synchronizace, například událost systému Connect a uživatele, kdy server může zkontrolovat a odepřít požadavek klienta nebo odesílat zprávy volajícímu přímo.
Connect respektuje ConnectEventResponse události a EventErrorResponsea uživatelská událost respektuje UserEventResponse a EventErrorResponse, typy rest, které neodpovídají aktuálnímu scénáři, se ignorují.
[Function("Broadcast")]
public static UserEventResponse Run(
[WebPubSubTrigger("<hub>", WebPubSubEventType.User, "message")] UserEventRequest request)
{
return new UserEventResponse("[SYSTEM ACK] Received.");
}
const { app, trigger } = require('@azure/functions');
const wpsTrigger = trigger.generic({
type: 'webPubSubTrigger',
name: 'request',
hub: '<hub>',
eventName: 'message',
eventType: 'user'
});
app.generic('message', {
trigger: wpsTrigger,
handler: async (request, context) => {
context.log('Request from: ', request.connectionContext.userId);
context.log('Request message data: ', request.data);
context.log('Request message dataType: ', request.dataType);
}
});
WebPubSubTrigger Vazba také podporuje návratovou hodnotu ve scénářích synchronizace, například událost systému Connect a uživatele, kdy server může zkontrolovat a odepřít požadavek klienta nebo odeslat zprávu klientovi přímo. V javascriptovém slabě napsaný jazyk je deserializován v souvislosti s klíči objektu. A EventErrorResponse má nejvyšší prioritu porovnávat s objekty rest, že pokud code je ve návratu, pak se parsuje na EventErrorResponse.
Poznámka:
Kompletní ukázky pro tento jazyk čekají na vyřízení.
Poznámka:
Rozšíření Web PubSub pro Javu se zatím nepodporují.
Konfigurace
Následující tabulka vysvětluje vlastnosti konfigurace vazby, které jste nastavili v souboru function.json .
| vlastnost function.json | Vlastnost atributu | Popis |
|---|---|---|
| typ | Není k dispozici | Povinné – musí být nastaveno na webPubSubTriggerhodnotu . |
| směr | Není k dispozici | Povinné – musí být nastaveno na inhodnotu . |
| Jméno | Není k dispozici | Povinné – název proměnné použité v kódu funkce pro parametr, který přijímá data události. |
| rozbočovač | Centrum | Povinný argument – hodnota musí být nastavena na název centra Web PubSub, aby se funkce aktivovala. Podporujeme nastavení hodnoty v atributu jako vyšší prioritu nebo ji lze nastavit v nastavení aplikace jako globální hodnotu. |
| typ události | Typ události WebPubSub | Povinný argument – hodnota musí být nastavena jako typ události zpráv, aby se funkce aktivovala. Hodnota by měla být buď user nebo system. |
| eventName | Název Události | Povinný argument – hodnota musí být nastavena jako událost zpráv, aby se funkce aktivovala.
Pro system typ události by název události měl být v connect, connected, disconnected.
Pro uživatelem definované dílčíprotokoly je messagenázev události .
V případě systému podporovaného subprotocolu json.webpubsub.azure.v1.je název události definovaný uživatelem. |
| clientProtocols | ClientProtocols | Volitelné – určuje, který klientský protokol může aktivovat funkce triggeru Web PubSub.
Následující hodnoty nerozlišující malá a velká písmena jsou platné: all: Přijímá všechny klientské protokoly. Výchozí hodnota.
webPubSub: Přijímá pouze protokoly Web PubSub.
mqtt: Přijímá pouze protokoly MQTT. |
| připojení | Připojení | Volitelné – název nastavení aplikace nebo nastavení kolekce, která určuje nadřazenou službu Azure Web PubSub. Hodnota se používá k ověření podpisu. A hodnota je automaticky vyřešena s nastavením WebPubSubConnectionString aplikace ve výchozím nastavení. A null znamená, že ověření není potřeba a vždy proběhne úspěšně. |
Důležité
Pro zajištění optimálního zabezpečení by vaše aplikace funkcí měla používat spravované identity při připojování ke službě Web PubSub místo připojovacího řetězce, který obsahuje sdílený tajný klíč. Další informace naleznete v tématu Autorizace žádosti o spravovanou identitu pomocí Microsoft Entra ID.
Použití
V jazyce C# WebPubSubEventRequest je typ rozpoznaný parametr vazby, parametry rest jsou vázané na název parametru. V následující tabulce najdete dostupné parametry a typy.
Ve slabě zadaném jazyce, jako je JavaScript, namefunction.json se používá k vytvoření vazby objektu triggeru týkajícího se následující tabulky mapování. A úcta dataTypefunction.json k převodu zprávy odpovídajícím způsobem, pokud name je nastavena jako data vazba objekt pro aktivační vstup. Všechny parametry lze načíst context.bindingData.<BindingName> a JObject převést.
| Název vazby | Typ vazby | Popis | Vlastnosti |
|---|---|---|---|
| prosba | WebPubSubEventRequest |
Popisuje upstreamové požadavky. | Vlastnost se liší různými typy událostí, včetně odvozených tříd ConnectEventRequest, MqttConnectEventRequest, ConnectedEventRequest, MqttConnectedEventRequest, UserEventRequest, , , DisconnectedEventRequesta MqttDisconnectedEventRequest. |
| kontext připojení | WebPubSubConnectionContext |
Běžné informace o žádostech | TypUdálosti, NázevUdálosti, Centrum, IdPřipojení, IdUživatele, Hlavičky, Původ, Podpis, Stavy |
| údaje |
BinaryData,string,Stream,byte[] |
Vyžádání dat zpráv z klienta v události uživatele message |
- |
| Datatype | WebPubSubDataType |
Požadovat datový typ zprávy, který podporuje binary, text, json |
- |
| deklarace identity | IDictionary<string, string[]> |
Deklarace identity uživatelů v systémové connect žádosti |
- |
| dotaz | IDictionary<string, string[]> |
Dotaz uživatele v systémovém connect požadavku |
- |
| subprotocoly | IList<string> |
Dostupné dílčí protokoly v systémovém connect požadavku |
- |
| klientské certifikáty | IList<ClientCertificate> |
Seznam kryptografického otisku certifikátu od klientů v connect systémové žádosti |
- |
| důvod | string |
Důvod v systémové disconnected žádosti |
- |
Důležité
V jazyce C# musí.
Návratová odpověď
WebPubSubTrigger respektuje odpověď vrácenou zákazníkem pro synchronní události connect a událost uživatele. Odpověď se odešle zpět do služby, jinak se ignoruje.
WebPubSubTrigger Kromě toho návratový objekt podporuje uživatele do SetState() a ClearStates() správu metadat pro připojení. A rozšíření sloučí výsledky z návratové hodnoty s původními výsledky z požadavku WebPubSubConnectionContext.States. Hodnota v existujícím klíči se přepíše a přidá se hodnota v novém klíči.
| Návratový typ | Popis | Vlastnosti |
|---|---|---|
ConnectEventResponse |
Odpověď na connect událost |
Skupiny, role, userId, subprotocol |
UserEventResponse |
Odpověď na událost uživatele | Datový typ, data |
EventErrorResponse |
Chybová odpověď na událost synchronizace | Kód, ErrorMessage |
*WebPubSubEventResponse |
Základní typ odpovědi podporovaných pro nejisté případy vrácení | - |