刘凤 发表于 2025-6-14 11:04:27

wso2~api生命周期与关联事件

api生命周期



[*]CREATED 建立
[*]PRE-RELEASED 预发布
[*]PUBLISHED 发布
[*]DEPRECATED 删除
[*]BLOCKED 冻结
[*]RETIRED 退役
状态为Published的api,可以在devportal平台即使用者访问
api的获取

/api/am/devportal/apis/{apiId}
{
    "id": "06bba96d-a591-4779-a7f0-ed721fb147aa",
    "name": "百度",
    "description": null,
    "context": "/baidu/v1",
    "version": "v1",
    "provider": "admin",
    "apiDefinition": "",
    "wsdlUri": null,
    "lifeCycleStatus": "PUBLISHED",
    "isDefaultVersion": false,
    "type": "HTTP",
    "transport": [
      "http",
      "https"
    ],
    "operations": [],
    "authorizationHeader": "Authorization",
    "apiKeyHeader": "ApiKey",
    "securityScheme": [
      "oauth_basic_auth_api_key_mandatory",
      "oauth2"
    ],
    "tags": [],
    "tiers": [
      {
            "tierName": "专业版",
            "tierPlan": "FREE",
            "monetizationAttributes": null
      }
    ],
    "hasThumbnail": false,
    "additionalProperties": [],
    "monetization": {
      "enabled": false
    },
    "endpointURLs": [
      {
            "environmentName": "Default",
            "environmentDisplayName": "Default",
            "environmentType": "hybrid",
            "URLs": {
                "http": "http://test-gateway-am-wso2.xxx.com/baidu/v1",
                "https": "https://test-gateway-am-wso2.xxx.com/baidu/v1",
                "ws": null,
                "wss": null
            },
            "defaultVersionURLs": {
                "http": null,
                "https": null,
                "ws": null,
                "wss": null
            }
      }
    ],
    "businessInformation": {
      "businessOwner": null,
      "businessOwnerEmail": null,
      "technicalOwner": null,
      "technicalOwnerEmail": null
    },
    "environmentList": [
      "Default"
    ],
    "scopes": [],
    "avgRating": "0.0",
    "subscriptions": 0,
    "advertiseInfo": {
      "advertised": false,
      "apiExternalProductionEndpoint": null,
      "apiExternalSandboxEndpoint": null,
      "originalDevPortalUrl": null,
      "apiOwner": "admin",
      "vendor": "WSO2"
    },
    "isSubscriptionAvailable": true,
    "categories": [],
    "keyManagers": [
      "all"
    ],
    "createdTime": "2025-06-13 05:31:24.000",
    "lastUpdatedTime": null,
    "gatewayVendor": "wso2",
    "asyncTransportProtocols": [],
    "egress": false,
    "subtype": "DEFAULT"
}api建立与发布


[*]出现场景:api发布者在后台添加api之后,执行create and deploy动作,而且建立后,在Publish > Lifecycle中选择Published,完成api的发布
[*]topic apim
[*]条件 event.payloadData.eventType"API_LIFECYCLE_CHANGE" and event.payloadData.event.lifecycleEvent"Publish"
[*]event.payloadData.event实体结构,先base64解码
{
    "apiName": "user-info-api",
    "apiId": 39,
    "uuid": "8c209615-bc40-44a9-b31e-1a4e8c479b1d",
    "apiVersion": "v1",
    "apiContext": "/user/v1",
    "apiProvider": "admin",
    "apiType": "HTTP",
    "apiStatus": "PUBLISHED",
    "securityScheme": "oauth_basic_auth_api_key_mandatory,oauth2",
    "currentStatus": "CREATED",
    "apiVisibility": "public",
    "lifecycleEvent": "Publish",
    "eventId": "6fe0f743-b659-4a6f-b579-c94599b9901f",
    "timeStamp": 1749721922584,
    "type": "API_LIFECYCLE_CHANGE",
    "tenantId": -1234,
    "tenantDomain": "carbon.super"
}api更新



[*]出现场景:api发布者在后台对api的策略进行调整,如在Portal Configurations > Subscriptions菜单下面,添加标准版,高级版,删除VIP版等
[*]topic apim
[*]条件 event.payloadData.eventType"API_UPDATE" and event.payloadData.event.currentStatus"PUBLISHED",
[*]event.payloadData.event实体结构,先base64解码
{
    "apiName": "xiaohezi01",
    "apiId": 40,
    "uuid": "538afd3f-3b05-46c2-96e9-28412c115f85",
    "apiVersion": "v1",
    "apiContext": "/xiaohezi/v1",
    "apiProvider": "admin",
    "apiType": "HTTP",
    "apiStatus": "PUBLISHED",
    "securityScheme": "oauth_basic_auth_api_key_mandatory,oauth2",
    "currentStatus": "PUBLISHED",
    "apiVisibility": "public",
    "apiVisibleRoles": "",
    "eventId": "02743376-5da1-4d12-9281-9f8520aae705",
    "timeStamp": 1749778764066,
    "type": "API_UPDATE",
    "tenantId": -1234,
    "tenantDomain": "carbon.super"
}api从发布到下线


[*]出现场景:api发布者在Publish > Lifecycle菜单中,去点击Pre-Release,将发布的接口下线
[*]topic apim
[*]条件event.payloadData.eventType=="API_LIFECYCLE_CHANGE" and event.payloadData.event.lifecycleEvent!="Publish"
[*]event.payloadData.event实体结构,先base64解码
{
    "apiName": "xiaohezi01",
    "apiId": 40,
    "uuid": "538afd3f-3b05-46c2-96e9-28412c115f85",
    "apiVersion": "v1",
    "apiContext": "/xiaohezi/v1",
    "apiProvider": "admin",
    "apiType": "HTTP",
    "apiStatus": "PROTOTYPED",
    "securityScheme": "oauth_basic_auth_api_key_mandatory,oauth2",
    "currentStatus": "PUBLISHED",
    "apiVisibility": "public",
    "lifecycleEvent": "Deploy as a Prototype",
    "eventId": "25d4abc0-f74b-4692-9a7b-579e2656c05a",
    "timeStamp": 1749777184970,
    "type": "API_LIFECYCLE_CHANGE",
    "tenantId": -1234,
    "tenantDomain": "carbon.super"
}
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: wso2~api生命周期与关联事件