ALIYUN::SLS::Etl类型用于创建数据加工任务。

语法

{
  "Type": "ALIYUN::SLS::Etl",
  "Properties": {
    "Description": String,
    "Configuration": Map,
    "ProjectName": String,
    "Schedule": Map,
    "DisplayName": String,
    "Name": String
  }
}

属性

属性名称类型必须允许更新描述约束
DescriptionString数据加工任务的描述。
ConfigurationMap数据加工任务的配置。更多信息,请参见Configuration属性
ProjectNameString数据加工任务的目标日志项目名称。
ScheduleMap数据加工任务的调度策略。更多信息,请参见Schedule属性
DisplayNameString数据加工任务的显示名称。
NameString数据加工任务的名称。

Configuration语法

"Configuration": {
  "Script": String,
  "Sinks": List,
  "Parameters": Map,
  "ToTime": Number,
  "Version": Number,
  "Logstore": String,
  "FromTime": Number,
  "RoleArn": String
}

Configuration属性

属性名称类型必须允许更新描述约束
ScriptString数据加工任务的语法。
SinksList数据加工任务的存储目标配置。存储目标包括日志项目、日志库等。

更多信息,请参见Sinks属性

ParametersMap数据加工任务的高级参数配置。
ToTimeNumber数据加工任务的结束时间。默认值:None。
VersionNumber数据加工任务的脚本版本。
LogstoreString数据加工任务的日志库(源日志库)。
FromTimeNumber数据加工任务的开始时间。默认从当前时间开始。
RoleArnString数据加工任务的目标日志库中的STS角色信息。

Sinks语法

"Sinks": [
  {
    "Project": String,
    "Type": String,
    "Endpoint": String,
    "Logstore": String,
    "RoleArn": String,
    "Name": String
  }
]

Sinks属性

属性名称类型必须允许更新描述约束
ProjectString数据加工任务的目标日志项目。
TypeString数据加工任务的存储目标类型。存储目标包括日志项目、日志库等。

默认值:AliyunLOG。

EndpointString数据加工任务的目标日志项目所在的服务端地址。
LogstoreString数据加工任务的目标日志库。
RoleArnString数据加工任务的目标日志库中的STS角色信息。
NameString数据加工任务的存储目标名称。存储目标包括日志项目、日志库等。

Schedule语法

"Schedule": {
  "Type": String
}

Schedule属性

属性名称类型必须允许更新描述约束
TypeString数据加工任务的调度策略类型。取值:Resident。

返回值

Fn::GetAtt

Name:数据加工任务名称。

示例

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters: {}
    Resources:
      Etl:
        Type: ALIYUN::SLS::Etl
        Properties:
          Configuration:
            Logstore: actiontrail_log
            Parameters:
              test_key: test value
            RoleArn: acs:ram::17545809XXXXXXX:role/aliyunlogetlrole
            Script: |-
              e_json("event")
              e_drop_fields("event")
            Sinks:
              - Name: drds_service
                Project: test-project
                Logstore: drds_service_audit
                RoleArn: acs:ram::17545809XXXXXXX:role/aliyunlogetlrole
                Endpoint: cn-beijing-intranet.log.aliyuncs.com
                Type: AliyunLOG
              - Name: rds_service
                Project: test-project
                Logstore: rds_service_audit
                RoleArn: acs:ram::17545809XXXXXXX:role/aliyunlogetlrole
            Version: 2
          ProjectName: sls-audit
          Schedule:
            Type: Resident
          DisplayName: test_etl
          Name: test_etl_api
    Outputs:
      Name:
        Description: ETL name.
        Value:
          Fn::GetAtt:
            - Etl
            - Name
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
      },
      "Resources": {
        "Etl": {
          "Type": "ALIYUN::SLS::Etl",
          "Properties": {
            "Configuration": {
              "Logstore": "actiontrail_log",
              "Parameters": {
                "test_key": "test value"
              },
              "RoleArn": "acs:ram::17545809XXXXXXX:role/aliyunlogetlrole",
              "Script": "e_json(\"event\")\ne_drop_fields(\"event\")",
              "Sinks": [
                {
                  "Name": "drds_service",
                  "Project": "test-project",
                  "Logstore": "drds_service_audit",
                  "RoleArn": "acs:ram::17545809XXXXXXX:role/aliyunlogetlrole",
                  "Endpoint": "cn-beijing-intranet.log.aliyuncs.com",
                  "Type": "AliyunLOG"
                },
                {
                  "Name": "rds_service",
                  "Project": "test-project",
                  "Logstore": "rds_service_audit",
                  "RoleArn": "acs:ram::17545809XXXXXXX:role/aliyunlogetlrole"
                }
              ],
              "Version": 2
            },
            "ProjectName": "sls-audit",
            "Schedule": {
              "Type": "Resident"
            },
            "DisplayName": "test_etl",
            "Name": "test_etl_api"
          }
        }
      },
      "Outputs": {
        "Name": {
          "Description": "ETL name.",
          "Value": {
            "Fn::GetAtt": [
              "Etl",
              "Name"
            ]
          }
        }
      }
    }