Esemény közzététele GraphQL-előfizetésben
A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint
A publish-event
szabályzat közzétesz egy eseményt egy GraphQL API-sémában megadott egy vagy több előfizetésben. Konfigurálja a szabályzatot egy GraphQL-feloldóban a séma egy kapcsolódó mezőjéhez egy másik művelettípushoz, például egy mutációhoz. Futásidőben az esemény közzé lesz téve a csatlakoztatott GraphQL-ügyfelek számára. További információ a GraphQL API-król az API Managementben.
Feljegyzés
Állítsa be a szabályzat elemeit és gyermekelemeit a szabályzatutasításban megadott sorrendben. További információ az API Management-szabályzatok beállításáról és szerkesztéséről.
Szabályzatutasítás
<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>
Elemek
Név | Leírás | Kötelező |
---|---|---|
Célok | Egy vagy több előfizetés a GraphQL-sémában, amely az alelemekben target van megadva, amelyekben az esemény közzé van téve. |
Igen |
Használat
-
Szabályzatszakaszok:
http-response
a feloldó elemehttp-data-source
- Szabályzat hatókörei: Csak GraphQL-feloldó
- Átjárók: klasszikus, v2, használat
Használati megjegyzések
- Ez a szabályzat csak egy kapcsolódó GraphQL-lekérdezés vagy -mutáció végrehajtásakor lesz meghívva.
- A feloldó nem definiálható a megfelelő előfizetéshez.
publish-event
A szabályzatok definiálása egy forrás lekérdezésen vagy mutáción elegendő az előfizetési események aktiválásához.
Példa
A következő példaszabályzat definíciója a mutáció feloldójában createUser
van konfigurálva. Egy eseményt tesz közzé az onUserCreated
előfizetésben.
Példaséma
type User {
id: Int!
name: String!
}
type Mutation {
createUser(id: Int!, name: String!): User
}
type Subscription {
onUserCreated: User!
}
Példaházirend
<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>
Kapcsolódó szabályzatok
Kapcsolódó tartalom
A szabályzatok használatával kapcsolatos további információkért lásd:
- Oktatóanyag: AZ API átalakítása és védelme
- Szabályzathivatkozás a szabályzatutasságok és azok beállításainak teljes listájához
- Házirend-kifejezések
- Házirendek beállítása vagy szerkesztése
- Szabályzatkonfigurációk újrafelhasználása
- Szabályzatrészletek adattára
- Azure API Management policy toolkit
- Szabályzatok létrehozása a Microsoft Copilot használatával az Azure-ban