本文提供 Azure API 管理 事件的属性和架构。 有关事件架构的简介,请参阅 Azure 事件网格事件架构。 它还提供了指向使用 API 管理作为事件源的文章的链接。
可用事件类型
API 管理发出以下事件类型:
事件类型 | DESCRIPTION |
---|---|
Microsoft.ApiManagement.UserCreated | 创建用户时引发。 |
Microsoft.ApiManagement.UserUpdated | 更新用户时引发。 |
Microsoft.ApiManagement.UserDeleted | 删除用户时引发。 |
Microsoft.ApiManagement.APICreated | 创建 API 时引发。 |
Microsoft.ApiManagement.APIUpdated | 更新 API 时引发。 |
Microsoft.ApiManagement.APIDeleted | 删除 API 时引发。 |
Microsoft.ApiManagement.ProductCreated | 创建产品时引发。 |
Microsoft.ApiManagement.ProductUpdated | 更新产品时引发。 |
Microsoft.ApiManagement.产品已删除 | 删除产品时引发。 |
Microsoft.ApiManagement.APIReleaseCreated | 创建 API 发布时引发。 |
Microsoft.ApiManagement.APIReleaseUpdated | 更新 API 发布时引发。 |
Microsoft.ApiManagement.APIReleaseDeleted | 删除 API 发布时引发。 |
Microsoft.ApiManagement.SubscriptionCreated | 创建订阅时引发。 |
Microsoft.ApiManagement.SubscriptionUpdated | 更新订阅时引发。 |
Microsoft.ApiManagement.SubscriptionDeleted | 删除订阅时引发。 |
Microsoft.ApiManagement.GatewayCreated | 在创建自托管网关时引发。 |
Microsoft.ApiManagement.GatewayDeleted | 在更新自托管网关时引发。 |
Microsoft.ApiManagement.GatewayUpdated | 在删除自托管网关时引发。 |
Microsoft.ApiManagement.GatewayAPIAdded | 将 API 添加到自托管网关时引发。 |
Microsoft.ApiManagement.GatewayAPIRemoved | 从自托管网关中移除 API 时引发。 |
Microsoft.ApiManagement.GatewayCertificateAuthorityCreated | 更新自托管网关的证书颁发机构时引发。 |
Microsoft.ApiManagement.GatewayCertificateAuthorityDeleted | 删除自托管网关的证书颁发机构时引发。 |
Microsoft.ApiManagement.GatewayCertificateAuthorityUpdated | 更新自托管网关的证书颁发机构时引发。 |
Microsoft.ApiManagement.GatewayHostnameConfigurationCreated | 在为自托管网关创建主机名配置时引发。 |
Microsoft.ApiManagement.GatewayHostnameConfigurationDeleted | 删除自托管网关的主机名配置时引发。 |
Microsoft.ApiManagement.GatewayHostnameConfigurationUpdated | 更新自托管网关的主机名配置时引发。 |
Microsoft.ApiManagement.GatewayTokenNearExpiry (preview) | 自托管网关访问令牌即将过期时引发。 |
Microsoft.ApiManagement.GatewayTokenExpired (preview) | 自托管网关访问令牌过期时引发。 |
Microsoft.ApiManagement.CircuitBreaker.Opened(预览版) | 打开后端断路器时引发。 |
Microsoft.ApiManagement.CircuitBreaker.Closed(预览版) | 关闭后端断路器时引发。 |
示例事件
以下示例显示了产品创建事件的架构。 其他 API 管理资源创建事件的架构类似。
[{
"id": "81dac958-49cf-487e-8805-d0baf0ee485a",
"source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
"subject": "/products/myproduct",
"data": {
"resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/products/myproduct"
},
"Type": "Microsoft.ApiManagement.ProductCreated",
"Time": "2021-07-02T00:38:44.3978295Z",
"specversion":"1.0"
}]
以下示例显示了用户已删除事件的架构。 其他 API 管理资源删除事件的架构类似。
[{
"id": "81dac958-49cf-487e-8805-d0baf0ee485a",
"source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
"subject": "/users/apimuser-contoso-com",
"data": {
"resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/users/apimuser-contoso-com"
},
"Type": "Microsoft.ApiManagement.UserDeleted",
"Time": "2021-07-02T00:38:44.3978295Z",
"specversion":"1.0"
}]
以下示例显示了 API 更新事件的架构。 其他 API 管理资源更新事件的架构类似。
[{
"id": "95015754-aa51-4eb6-98d9-9ee322b82ad7",
"source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
"subject": "/apis/myapi;Rev=1",
"data": {
"resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}/apis/myapi;Rev=1"
},
"Type": "Microsoft.ApiManagement.APIUpdated",
"Time": "2021-07-12T23:13:44.9048323Z",
"specversion":1.0
}]
以下示例显示了断路器打开事件的架构。
{
"source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
"subject": "/backends/{backend-name}/circuit-breaker/rules/{rule-name}",
"type": "Microsoft.ApiManagement.CircuitBreaker.Opened",
"time": "2025-04-02T00:47:47.8536532Z",
"id": "92c502f2-a966-42a7-a428-d3b319844544",
"data": {
"backendName": "{backend-name}",
"circuitBreaker": {
"rules": {
"{rule-name}": {
"tripDuration": "00:00:01"
}
}
}
},
"specVersion": "1.0"
}
以下示例显示了网关令牌过期事件的架构。 网关令牌即将过期事件的架构类似,但用 expiresAtUtc
属性替换 expiredAtUtc
属性。
{
"source": "/subscriptions/{subscription-id}/resourceGroups/{your-rg}/providers/Microsoft.ApiManagement/service/{your-APIM-instance}",
"subject": "/gateways/{gateway-name}/{instance-name}",
"type": "Microsoft.ApiManagement.GatewayTokenExpired",
"time": "2025-04-02T00:47:47.8536532Z",
"id": "92c502f2-a966-42a7-a428-d3b319844544",
"data": {
"gatewayInfo": {
"gatewayId": "{gateway-name}",
"instanceId": "{instance-name}"
},
"tokenInfo": {
"expiredAtUtc": "2025-02-25T08:56:00.0000000Z"
}
},
"specVersion": "1.0"
}
事件属性
事件具有以下顶级数据:
资产 | 类型 | DESCRIPTION |
---|---|---|
source |
字符串 | 事件源的完整资源路径。 此字段不可写入。 事件网格提供此值。 |
subject |
字符串 | 定义了发布者的事件主题路径。 |
type |
字符串 | 该事件源的其中一种注册事件类型。 |
time |
字符串 | 事件生成的时间是基于提供者的 UTC 时间。 |
id |
字符串 | 事件的唯一标识符。 |
data |
物体 | API 管理事件数据。 |
specversion |
字符串 | CloudEvents 架构规范版本。 |
数据对象属性
控制平面事件
该 data
对象具有以下用于控制平面事件的属性,例如创建、更新和删除 API 管理资源。
资产 | 类型 | DESCRIPTION |
---|---|---|
resourceUri |
字符串 | 符合性状态更改所针对的资源的完全限定 ID,包括资源名称和资源类型。 使用格式 /subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName> |
断路器事件
该 data
对象具有以下断路器事件的属性。
资产 | 类型 | DESCRIPTION |
---|---|---|
backendNme |
字符串 | 在其中配置断路器的后端实体的名称(ID)。 |
circuitBreaker |
物体 | 在后端配置的断路器,由一个 rules 对象组成,该对象指定了触发断路器的规则。 规则具有 hh:mm:ss 格式的tripDuration 属性,指定断路器跳闸的持续时间。 |
自托管网关身份验证令牌事件
该 data
对象具有以下自承载网关身份验证令牌事件的属性。
资产 | 类型 | DESCRIPTION |
---|---|---|
gatewayInfo |
物体 | 自托管网关的信息,包括以下字符串属性: * gatewayId - 网关资源的完全限定 ID* instanceId - 已部署网关的唯一实例 ID |
tokenInfo |
物体 | 令牌信息,由提供程序 UTC 时间中的以下属性之一组成: * expiresAtUtc - 用于 GatewayTokenNearExpiry 事件,或* expiredAtUtc - 用于 GatewayTokenExpired 事件 |
教程和作方法
标题 | DESCRIPTION |
---|---|
将事件从 API 管理发送到事件网格 | 如何使用事件网格订阅 API 管理事件。 |