Megosztás a következőn keresztül:


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

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.

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>

A szabályzatok használatával kapcsolatos további információkért lásd: