
# 发布官方事件到事件通道 - PutOfficialEvents
#### 功能介绍
发布官方事件到事件通道。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/EG/doc?api=PutOfficialEvents)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-eg/eg-api-025.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v1/{project_id}/official/sources/{source_name}/events
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| project_id  | 是    | String | 租户资源空间ID |
| source_name | 是    | String | 事件源名称    |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数     | 是否必选 | 参数类型                                                                    | 描述                                                                          |
|:---|:---|:---|:---|
| events | 否    | Array of [CloudEvents] objects | CloudEvents事件格式定义，参考https://github.com/cloudevents/spec/blob/v1.0.1/spec.md |
   
 表4CloudEvents 
| 参数              | 是否必选 | 参数类型   | 描述                                                                                                      |
|:---|:---|:---|:---|
| id              | 是    | String | 事件唯一标识串，同一个事件来源里必须唯一                                                                                    |
| source          | 是    | String | 事件源名称。事件源上下文标识串，source+id可以唯一确定一个事件。采用URI-Reference格式，参考https://tools.ietf.org/html/rfc3986#section-4.1 |
| specversion     | 是    | String | CloudEvents协议版本，格式为major.minor                                                                          |
| type            | 是    | String | 事件类型                                                                                                    |
| datacontenttype | 否    | String | 事件内容格式，采用MIME格式，遵循RFC2046，参考https://tools.ietf.org/html/rfc2046                                         |
| dataschema      | 否    | String | 事件内容模型定义的URI，遵循RFC3986，参考https://tools.ietf.org/html/rfc3986#section-4.3                                |
| data            | 否    | Object | 事件的负载内容，采用datacontenttype字段指定的格式，内容字段遵循dataschema字段的描述                                                  |
| time            | 否    | String | 事件发生UTC日期时间，相同来源的事件格式相同，遵循RFC3339，格式需满足2018-04-05T17:31:00Z，参考https://tools.ietf.org/html/rfc3339       |
| subject         | 否    | String | 事件发生的主题或对象，用以标识哪个具体对象发生了当前事件                                                                            |
   
#### 响应参数
**状态码：200**
表5响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                |
|:---|:---|:---|
| X-Request-Id | String | This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. |
   
表6响应Body参数 
| 参数           | 参数类型                                                           | 描述        |
|:---|:---|:---|
| failed_count | Integer                                                        | 发布失败的事件个数 |
| events       | Array of [events] objects | 事件列表      |
   
 表7events 
| 参数         | 参数类型   | 描述       |
|:---|:---|:---|
| error_code | String | 发布失败的错误码 |
| error_msg  | String | 发布失败的原因  |
| event_id   | String | 事件唯一标识串  |
   
#### 请求示例
发布官方事件到事件通道
```
POST https://{endpoint}/v1/{project_id}/official/sources/{source_name}/events
{
  "events" : [ {
    "id" : "id",
    "source" : "source",
    "specversion" : "specversion",
    "type" : "blob_created"
  } ]
}
```
#### 响应示例
**状态码：200**
Information
```
{
  "failed_count" : 0,
  "events" : [ {
    "event_id" : "r652c3f4e52c4eab89265b7a09ae6196"
  } ]
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | Information |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-eg/ErrorCode.html)。
