Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
GÄLLER FÖR: Alla API Management-nivåer
Principen publish-event publicerar en händelse till en eller flera prenumerationer som anges i ett GraphQL API-schema. Konfigurera principen i en GraphQL-matchare för ett relaterat fält i schemat för en annan åtgärdstyp, till exempel en mutation. Vid körning publiceras händelsen till anslutna GraphQL-klienter. Läs mer om GraphQL-API:er i API Management.
Kommentar
Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.
Principuttryck
<http-data-source>
<!-- http-data-source is an example resolver policy -->
<http-request>
[...]
</http-request>
<http-response>
[...]
<publish-event>
<targets>
<graphql-subscription id="subscription field" />
</targets>
</publish-event>
</http-response>
</http-data-source>
Element
| Namn | beskrivning | Obligatoriskt |
|---|---|---|
| Mål | En eller flera prenumerationer i GraphQL-schemat, som anges i target underelement, till vilka händelsen publiceras. |
Ja |
Förbrukning
-
Principavsnitt:
http-responseelement ihttp-data-sourceresolver - Principomfattningar: Endast GraphQL-matchare
- Gatewayer: klassisk, v2, förbrukning
Användningsanteckningar
- Den här principen anropas endast när en relaterad GraphQL-fråga eller mutation körs.
- Lösen bör inte definieras för motsvarande prenumeration. Det räcker att definiera en
publish-eventprincip för en källfråga eller mutation för att utlösa prenumerationshändelser.
Exempel
Följande exempelprincipdefinition konfigureras i en lösning för mutationen createUser . Den publicerar en händelse till prenumerationen onUserCreated .
Exempelschema
type User {
id: Int!
name: String!
}
type Mutation {
createUser(id: Int!, name: String!): User
}
type Subscription {
onUserCreated: User!
}
Exempelprincip
<http-data-source>
<http-request>
<set-method>POST</set-method>
<set-url>https://contoso.com/api/user</set-url>
<set-body template="liquid">{ "id" : {{body.arguments.id}}, "name" : "{{body.arguments.name}}"}</set-body>
</http-request>
<http-response>
<publish-event>
<targets>
<graphql-subscription id="onUserCreated" />
</targets>
</publish-event>
</http-response>
</http-data-source>
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Principreferens för en fullständig lista över principinstruktioner och deras inställningar
- Principuttryck
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Lagringsplats för principlekplats
- Principverktyg för Azure API Management
- Få Hjälp med Copilot för att skapa, förklara och felsöka principer