GraphQL 구독에 이벤트 게시
적용 대상: 모든 API Management 계층
publish-event
정책은 GraphQL API 스키마에 지정된 하나 이상의 구독에 이벤트를 게시합니다. 변형과 같은 다른 작업 유형에 대한 스키마의 관련 필드에 대해 GraphQL 해결 프로그램에서 정책을 구성합니다. 런타임에 이벤트는 연결된 GraphQL 클라이언트에 게시됩니다. API Management의 GraphQL API에 대해 자세히 알아봅니다.
참고 항목
정책 문에 제공된 순서대로 정책의 요소 및 자식 요소를 설정합니다. API Management 정책을 설정하거나 편집하는 방법에 대해 자세히 알아봅니다.
정책 문
<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>
Elements
이름 | 설명 | 필수 |
---|---|---|
대상 | 이벤트가 게시되는 target 하위 요소에 지정된 GraphQL 스키마에 있는 하나 이상의 구독입니다. |
예 |
사용
사용법 참고 사항
- 이 정책은 관련 GraphQL 쿼리 또는 변형이 실행될 때만 호출됩니다.
예시
다음 예제 정책 정의는 createUser
변형에 대한 해결 프로그램에서 구성됩니다. onUserCreated
구독에 이벤트를 게시합니다.
스키마 예제
type User {
id: Int!
name: String!
}
type Mutation {
createUser(id: Int!, name: String!): User
}
type Subscription {
onUserCreated: User!
}
예제 정책
<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>
관련 정책
관련 콘텐츠
정책 작업에 대한 자세한 내용은 다음을 참조하세요.
- 자습서: API 변환 및 보호
- 정책 문 및 해당 설정에 대한 전체 목록에 대한 정책 참조
- 정책 식
- 정책 설정 또는 편집
- 정책 구성 재사용
- 정책 코드 조각 리포지토리
- Azure의 Microsoft Copilot을 사용하는 작성자 정책