
# 创建流日志 - CreateFlowLog
#### 功能介绍
给ER实例创建流日志。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-er/er_02_0008.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-er/er_02_0015.html)。
| 授权项                | 访问级别  | 资源类型（\*为必须）    | 条件键                                                                                                                                                                                                                                                                                                                               | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| er:flowLogs:create | Write | instances \*   | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | -  | -      |
| er:flowLogs:create | Write | attachments \* | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | -  | -      |
| er:flowLogs:create | Write | flowFlogs \*   | -                                                                                                                                                                                                                                                                                                                                 | -  | -      |
   
#### URI
POST /v3/{project_id}/enterprise-router/{er_id}/flow-logs
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述        |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID      |
| er_id      | 是    | String | 企业路由器实例ID |
   
#### 请求参数
表2请求Header参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                             |
|:---|:---|:---|:---|
| X-Client-Token | 否    | String | 幂等性标识 最小长度：**1** 最大长度：**64** |
   
表3请求Body参数 
| 参数       | 是否必选 | 参数类型                                                            | 描述       |
|:---|:---|:---|:---|
| flow_log | 是    | [FlowLogRequest] object | 创建流日志请求体 |
   
 表4FlowLogRequest 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| name           | 是    | String | 流日志名称 最小长度：**1** 最大长度：**64**                                                                                                                                                                                                                                                                                                                                                                                                                     |
| description    | 否    | String | 流日志描述 最小长度：**0** 最大长度：**255**                                                                                                                                                                                                                                                                                                                                                                                                                    |
| resource_type  | 是    | String | - 参数解释：流日志采集的资源类型   - 取值范围： - attachment：连接      |
| resource_id    | 是    | String | 要采集的资源ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| log_group_id   | 是    | String | 日志组ID。请在云日志服务中获取，详情请参见《云日志服务用户指南》。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| log_stream_id  | 是    | String | 日志主题ID。请在云日志服务中获取，详情请参见《云日志服务用户指南》。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| log_store_type | 是    | String | 流日志存储类型: - LTS: 云日志服务LTS，表示流日志存储在LTS服务侧                                                                                                                                                                                                                                                                                     |
   
#### 响应参数
**状态码：202**
表5响应Header参数 
| 参数             | 参数类型   | 描述    |
|:---|:---|:---|
| X-Client-Token | String | 幂等性标识 |
   
表6响应Body参数 
| 参数         | 参数类型                                               | 描述    |
|:---|:---|:---|
| flow_log   | [FlowLog] object | 流日志详情 |
| request_id | String                                             | 请求id  |
   
 表7FlowLog 
| 参数                       | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| id                       | String  | 流日志ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| name                     | String  | 流日志名称                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| description              | String  | 流日志描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| project_id               | String  | 流日志任务创建者项目ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| resource_type            | String  | - 参数解释：流日志采集的资源类型   - 取值范围： - attachment：连接                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| resource_id              | String  | 采集的资源ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| log_group_id             | String  | 日志组ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| log_stream_id            | String  | 日志流ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| log_store_type           | String  | 流日志存储类型: - LTS: 云日志服务LTS，表示流日志存储在LTS服务侧                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| log_aggregation_interval | Integer | 日志聚合时间，单位s，取值范围：60-600                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| created_at               | String  | 创建时间,格式:YYYY-MM-DDTHH:mm:ss.sssZ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| updated_at               | String  | 更新时间,格式:YYYY-MM-DDTHH:mm:ss.sssZ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| state                    | String  | - 参数解释：日志资源状态   - 取值范围： - pending：等待中   - available：可用   - modifying：修改中   - deleting：删除中   - deleted：已删除   - failed：失败      |
| enabled                  | Boolean | - 参数解释：日志开关   - 取值范围： - true：开启   - false：关闭                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
#### 请求示例
创建流日志
```
POST https://{erouter_endpoint}/v3/0605767a9980d5762fbcc00b3537e757/enterprise-router/a43c55e9-4911-4030-90e1-5c2bf6ae6fe2/flow-logs
{
  "flow_log" : {
    "name" : "flow-log",
    "description" : "flow log test",
    "resource_type" : "attachment",
    "resource_id" : "6f83b848-8331-4271-ac0c-ef94b7686402",
    "log_group_id" : "0139393c-eeb2-49f0-bbd4-c5faec6b1497",
    "log_stream_id" : "d22c3b44-2f71-470f-83f3-96a8af6956ad",
    "log_store_type" : "LTS"
  }
}
```
#### 响应示例
**状态码：202**
Accepted
```
{
  "flow_log" : {
    "id" : "b216bc1d-5963-41a7-89f9-779a5128c5ac",
    "name" : "flow_log",
    "project_id" : "0605767a9980d5762fbcc00b3537e757",
    "resource_type" : "attachment",
    "resource_id" : "6f83b848-8331-4271-ac0c-ef94b7686402",
    "log_group_id" : "0139393c-eeb2-49f0-bbd4-c5faec6b1497",
    "log_stream_id" : "d22c3b44-2f71-470f-83f3-96a8af6956ad",
    "log_store_type" : "LTS",
    "log_aggregation_interval" : 600,
    "created_at" : "2020-03-11T15:13:31.000Z",
    "updated_at" : "2022-03-11T15:13:31.000Z",
    "state" : "available",
    "enabled" : true,
    "description" : "ER流日志"
  },
  "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9"
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  创建流日志
  ```
  package com.huaweicloud.sdk.test;
  import com.huaweicloud.sdk.core.auth.ICredential;
  import com.huaweicloud.sdk.core.auth.BasicCredentials;
  import com.huaweicloud.sdk.core.exception.ConnectionException;
  import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  import com.huaweicloud.sdk.er.v3.region.ErRegion;
  import com.huaweicloud.sdk.er.v3.*;
  import com.huaweicloud.sdk.er.v3.model.*;
  public class CreateFlowLogSolution {
      public static void main(String[] args) {
          // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
          // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
          String ak = System.getenv("CLOUD_SDK_AK");
          String sk = System.getenv("CLOUD_SDK_SK");
          String projectId = "{project_id}";
          ICredential auth = new BasicCredentials()
                  .withProjectId(projectId)
                  .withAk(ak)
                  .withSk(sk);
          ErClient client = ErClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(ErRegion.valueOf("<YOUR REGION>"))
                  .build();
          CreateFlowLogRequest request = new CreateFlowLogRequest();
          request.withErId("{er_id}");
          CreateFlowLogRequestBody body = new CreateFlowLogRequestBody();
          FlowLogRequest flowLogbody = new FlowLogRequest();
          flowLogbody.withName("flow-log")
              .withDescription("flow log test")
              .withResourceType(FlowLogRequest.ResourceTypeEnum.fromValue("attachment"))
              .withResourceId("6f83b848-8331-4271-ac0c-ef94b7686402")
              .withLogGroupId("0139393c-eeb2-49f0-bbd4-c5faec6b1497")
              .withLogStreamId("d22c3b44-2f71-470f-83f3-96a8af6956ad")
              .withLogStoreType(FlowLogRequest.LogStoreTypeEnum.fromValue("LTS"));
          body.withFlowLog(flowLogbody);
          request.withBody(body);
          try {
              CreateFlowLogResponse response = client.createFlowLog(request);
              System.out.println(response.toString());
          } catch (ConnectionException e) {
              e.printStackTrace();
          } catch (RequestTimeoutException e) {
              e.printStackTrace();
          } catch (ServiceResponseException e) {
              e.printStackTrace();
              System.out.println(e.getHttpStatusCode());
              System.out.println(e.getRequestId());
              System.out.println(e.getErrorCode());
              System.out.println(e.getErrorMsg());
          }
      }
  }
  ```
- [Python]
  创建流日志
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdker.v3.region.er_region import ErRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdker.v3 import *
  if __name__ == "__main__":
      # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak = os.environ["CLOUD_SDK_AK"]
      sk = os.environ["CLOUD_SDK_SK"]
      projectId = "{project_id}"
      credentials = BasicCredentials(ak, sk, projectId)
      client = ErClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(ErRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = CreateFlowLogRequest()
          request.er_id = "{er_id}"
          flowLogbody = FlowLogRequest(
              name="flow-log",
              description="flow log test",
              resource_type="attachment",
              resource_id="6f83b848-8331-4271-ac0c-ef94b7686402",
              log_group_id="0139393c-eeb2-49f0-bbd4-c5faec6b1497",
              log_stream_id="d22c3b44-2f71-470f-83f3-96a8af6956ad",
              log_store_type="LTS"
          )
          request.body = CreateFlowLogRequestBody(
              flow_log=flowLogbody
          )
          response = client.create_flow_log(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  创建流日志
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      er "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/er/v3"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/er/v3/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/er/v3/region"
  )
  func main() {
      // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak := os.Getenv("CLOUD_SDK_AK")
      sk := os.Getenv("CLOUD_SDK_SK")
      projectId := "{project_id}"
      auth, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := er.ErClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := er.NewErClient(hcClient)
      request := &model.CreateFlowLogRequest{}
  request.ErId = "{er_id}"
  descriptionFlowLog:= "flow log test"
  flowLogbody := &model.FlowLogRequest{
  Name: "flow-log",
  Description: &descriptionFlowLog,
  ResourceType: model.GetFlowLogRequestResourceTypeEnum().ATTACHMENT,
  ResourceId: "6f83b848-8331-4271-ac0c-ef94b7686402",
  LogGroupId: "0139393c-eeb2-49f0-bbd4-c5faec6b1497",
  LogStreamId: "d22c3b44-2f71-470f-83f3-96a8af6956ad",
  LogStoreType: model.GetFlowLogRequestLogStoreTypeEnum().LTS,
  }
  request.Body = &model.CreateFlowLogRequestBody{
  FlowLog: flowLogbody,
  }
  response, err := client.CreateFlowLog(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ER/sdk?api=CreateFlowLog)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 202 | Accepted |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-er/ErrorCode.html)。
