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.
- Çözümleyici ilgili abonelik için tanımlanmamalıdır .
publish-event
Kaynak sorguda veya mutasyonda ilke tanımlamak abonelik olaylarını tetiklemede yeterlidir.
Ö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:
- Öğretici: API'nizi dönüştürme ve koruma
- İlke deyimlerinin ve ayarlarının tam listesi için ilke başvurusu
- İlke ifadeleri
- İlkeleri ayarlama veya düzenleme
- İlke yapılandırmalarını yeniden kullanma
- İlke kod parçacıkları deposu
- Azure API Management ilke araç seti
- Azure'da Microsoft Copilot kullanarak ilke yazma