Olayı GraphQL aboneliğine yayımlama
UYGULANANLAR: Tüm API Management katmanları
İlke, publish-event
GraphQL API şemasında belirtilen bir veya daha fazla aboneliğe bir olay yayımlar. Şemadaki ilgili bir alan için GraphQL çözümleyicisindeki ilkeyi mutasyon gibi başka bir işlem türü için yapılandırın. Çalışma zamanında olay bağlı GraphQL istemcilerinde yayımlanır. API Management'ta GraphQL API'leri hakkında daha fazla bilgi edinin.
Not
İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.
İlke bildirimi
<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>
Öğeler
Veri Akışı Adı | Açıklama | Gerekli |
---|---|---|
Hedef | GraphQL şemasında olayın yayımlandığı alt öğelerde target belirtilen bir veya daha fazla abonelik. |
Yes |
Kullanım
- İlke bölümleri:
http-response
çözümleyicidekihttp-data-source
öğe - İlke kapsamları: Yalnızca GraphQL çözümleyicisi
- Ağ geçitleri: klasik, v2, tüketim
Kullanım notları
- Bu ilke yalnızca ilgili bir GraphQL sorgusu veya mutasyonu yürütülürse çağrılır.
Örnek
Aşağıdaki örnek ilke tanımı mutasyon için createUser
bir çözümleyicide yapılandırılır. Abonelikte onUserCreated
bir olay yayımlar.
Örnek şema
type User {
id: Int!
name: String!
}
type Mutation {
createUser(id: Int!, name: String!): User
}
type Subscription {
onUserCreated: User!
}
Örnek ilke
<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>
İlgili ilkeler
İlgili içerik
İlkelerle çalışma hakkında daha fazla bilgi için bkz: