导入Google Cloud Storage数据

更新时间:
复制为 MD 格式

日志服务支持将 Google Cloud Storage(GCS)中的日志文件导入到日志服务进行查询分析和数据加工。本文介绍如何创建和管理 GCS 数据导入配置。

重要

本文档为阿里云原创,知识产权归阿里云所有。由于本文档旨在介绍阿里云与第三方产品交互的服务能力,因此可能会提及第三方公司或其产品名称。

重要

单个 GCS 文件大小不超过 5 GB(压缩文件按压缩后大小计算)。

前提条件

创建数据导入配置

  1. 登录日志服务控制台

  2. 单击控制台右侧接入数据,选择数据导入页签,选择GCS - 数据导入。

  3. 选择目标 Project 和 LogStore,单击下一步。

  4. 在导入配置中,设置如下参数。

    参数

    说明

    任务名称

    SLS 任务的唯一名称。

    显示名称

    任务的显示名称。

    任务描述

    导入任务的描述。

    GCS Endpoint

    GCS 服务入口。默认使用全局端点:https://storage.googleapis.com。如有特殊需求,可手动输入。

    Bucket

    GCS Bucket 名称。

    AccessKeyId

    GCS Access Key ID。

    AccessKeySecret

    GCS Access Key Secret。获取AK方式请参见:GCS 侧

    文件路径前缀过滤

    按文件路径前缀过滤待导入的 GCS 文件。例如文件在 test/ 目录下,指定前缀为 test/。不设置时遍历整个 Bucket。

    说明

    建议设置此参数。Bucket 文件数量较多时,全量遍历会导致导入效率降低。

    文件路径正则过滤

    按正则表达式过滤 GCS 文件路径。仅路径匹配该正则表达式的文件会被导入,默认为空(不过滤)。例如文件路径为 test1/test.txt,可设置正则表达式为 tes.*

    文件修改时间过滤

    按文件修改时间过滤待导入的 GCS 文件。

    • 所有:导入所有符合条件的文件。

    • 某时间开始:仅导入指定时间点之后修改的文件。

    • 特定时间范围:仅导入指定时间范围内修改的文件。

    数据格式

    文件的解析格式,如下所示。

    • CSV:分隔符分割的文本文件。支持将首行作为字段名称或手动指定字段名称,其余每行解析为日志字段值。

    • 单行JSON:逐行读取文件,每行解析为一个 JSON 对象,对象字段映射为日志字段。

    • 单行文本日志:每行解析为一条日志。

    • 跨行文本日志:多行模式,通过首行或尾行正则表达式匹配日志边界。

    • JSON数组:整个文件作为 JSON 数组读取,数组中每个 JSON 对象解析为一条日志。

    • CloudTrail:整个文件按标准 CloudTrail 数据结构格式解析。

    压缩格式

    GCS 文件的压缩格式。日志服务按指定格式解压后读取数据。

    编码格式

    GCS 文件的编码格式,支持 UTF-8 和 GBK。

    检查新文件周期

    如果目标 GCS 文件路径中不断有新文件产生,可以根据需求设置检查新文件周期。设置后,导入任务会一直在后台运行,自动周期性地发现并读取新文件(后台保证不会将同一个 GCS 文件中的数据重复写入到日志服务)。如果目标 GCS 文件路径中不再产生新文件,请修改为永不检查,即导入任务读取完所有符合条件的文件后,将自动退出。

    写入处理器

    对导入数据进行预处理,支持数据过滤、字段提取、字段扩展、数据脱敏等。更多信息,参见管理写入处理器

    日志时间配置

    参数

    说明

    时间字段

    当选择数据格式为 CSV、单行 JSON、JSON 数组、CloudTrail 时,可以设置一个时间字段,即设置为文件中代表时间的列名,用于指定导入日志到日志服务时的时间。

    提取时间正则

    通过正则表达式从日志中提取时间。例如日志为 127.0.0.1 - 2026-04-16 17:25:42 audit-log,正则设置为 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}

    说明

    针对其他类型的数据格式,如果只需提取时间字段中的部分内容,也可通过正则表达式提取。

    时间字段格式

    指定时间格式,用于解析时间字段的值。

    • 支持 Java SimpleDateFormat 语法的时间格式,例如 yyyy-MM-dd HH:mm:ss

    • 支持 epoch 格式,包括 epoch、epochMillis、epochMicro 和 epochNano。

    时间字段分区

    时间字段对应的时区。epoch 格式无需设置时区。需考虑夏令时时选择 UTC 格式,否则选择 GMT 格式。

    说明

    默认使用东八区时间。

    选择 CSV 或跨行文本日志格式时,需额外设置以下参数。

    CSV 特有参数

    参数

    说明

    分隔符

    设置日志的分隔符,默认值为半角逗号(,)。

    引号

    CSV 字符串的引号字符。

    转义符

    配置日志的转义符,默认值为反斜线(\)。

    日志最大跨行数

    单条日志的最大行数,默认为 1。

    说明

    最大限制 10000 行。

    首行作为字段名称

    打开首行作为字段名称开关后,将使用 CSV 文件中的首行作为字段名称。

    自定义字段列表

    关闭首行作为字段名称开关后,请根据需求自定义日志字段名称,多个字段名称之间用半角逗号(,)隔开。

    跳过行数

    跳过的行数。例如设置为 1 表示从第 2 行开始采集。

    跨行文本日志特有参数

    参数

    说明

    正则匹配位置

    正则表达式匹配位置:

    • 首行正则:使用正则表达式匹配一条日志的行首,未匹配部分为该条日志的一部分,直到达到最大行数。

    • 尾行正则:使用正则表达式匹配一条日志的行尾,未匹配部分为下一条日志的一部分,直到达到最大行数。

    正则表达式

    根据日志内容设置匹配正则表达式。

    最大行数

    单条日志的最大行数。

    说明

    最大限制 10000 行。

  5. 单击预览,预览导入结果。

  6. 确认无误后,单击下一步。

  7. 单击查询日志,进入查询和分析页面,确认是否成功导入 GCS 数据。等待 1 分钟左右,如果有目标 GCS 数据导入,则说明导入成功。

查看导入配置

创建导入配置后,可在控制台查看配置详情及统计报表。

  1. 在 Project 列表区域,单击目标 Project。

  2. 选择 日志存储,在目标日志库下选择 数据接入>数据导入 ,单击配置名称。

  3. 查看导入配置的基本信息和统计报表。

  4. 可修改配置、启停导入或删除配置。

    警告

    删除配置后不可恢复,请谨慎操作。

费用说明

日志服务不对导入功能收费,但访问 GCS API 会产生流量费用和请求费用,具体以 Google Cloud 账单为准。计价模型与涉及参数如下:image

字段

说明

T

每天导入的总数据量,单位:GB。

p_read

每 GB 数据的外网流出费用。

p_put

每万次的 Put 类型请求费用。

p_get

每万次的 Get 类型请求费用。

M

新文件检查周期,单位:分钟。

N

按前缀可列出的 Bucket 文件数量。

常见问题

问题

可能原因

解决方法

预览时显示无数据。

GCS 中没有文件、文件中没有数据或者没有符合过滤条件的文件。

检查 GCS Bucket 下是否存在非空文件(CSV 文件是否仅包含 headers 行)。确认文件有数据后,调整文件路径或时间过滤配置。

数据中存在乱码。

数据格式、压缩格式或编码格式配置不符合预期。

确认 GCS 文件的实际格式,调整数据格式、压缩格式或编码格式配置。已导入的乱码数据无法修复,需创建新的 Logstore 和导入配置重新导入。

日志服务中显示的数据时间和数据本身的时间不一致。

设置导入配置时,没有指定日志时间字段或者设置时间格式、时区有误。

设置正确的日志时间字段、时间格式和时区。

导入数据后,无法查询和分析数据。

数据不在查询范围内。未配置索引。索引未生效。

确认查询时间范围是否覆盖已导入数据的时间。检查 Logstore 是否已配置索引,未配置则创建索引。若索引已配置且导入量正常,尝试重建索引。

导入的数据条目数量少于预期。

部分文件中单行数据超过 3 MB,导入时被丢弃。

确保 GCS 文件中单行数据不超过 3 MB。

部分文件没有导入。

过滤条件设置有误,或文件大小超过 5 GB。

检查文件是否符合过滤条件,确认文件大小不超过 5 GB。

多行文本日志解析错误。

首行或尾行正则表达式设置有误。

检查并修正首行或尾行正则表达式。

新文件导入延迟大。

符合前缀过滤条件的存量文件过多。

当文件数量超过 100 万时,建议细化前缀设置并创建多个导入任务分担负载。

错误处理机制

错误项

说明

读取文件失败

遇到文件不完整错误(网络异常、文件损坏等)时自动重试,重试 3 次后跳过该文件。重试间隔与检查新文件周期一致,若为永不检查则重试间隔为 5 分钟。

压缩格式解析错误

压缩格式无效时直接跳过该文件。

数据格式解析错误

解析失败时,原始文本存入日志的 content 字段。

GCS Bucket 不存在

导入任务定期重试,重建 Bucket 后自动恢复。

权限错误

读取 GCS 或写入 Logstore 出现权限错误时,导入任务定期重试且不跳过文件。修复权限后,任务自动恢复并处理所有未导入的文件。

GCS 导入接口