调用CLI命令关联外部数据源。当前支持关联RDS MySQL、OSS、本地CSV文件作为外部数据源。
注意事项
说明 在进行日志数据查询分析时,日志中的部分信息需要和外部存储(ExternalStore)的信息进行关联查询,从而进一步丰富日志服务中的日志数据。更多信息,请参见关联外部数据源简介、关联Logstore与OSS外表进行查询和分析和外部存储API接口。在使用CLI命令之前,您需要注意以下事项:
- 已开通日志服务。具体操作,请参见如何开始使用日志服务?。
- 已采集日志。更多信息,请参见数据采集。
- 已开启并配置索引。更多信息,请参见创建索引。
- 确定关联的外部数据源。
- 若是关联OSS数据源,则已经上传CSV格式文件到OSS Bucket。更多信息,请参见控制台上传文件。
- 若是关联RDS MySQL数据源,则已经存储数据到RDS MySQL数据库,并已获取RDS MySQL的实例ID、访问域名、端口、数据库账号和密码等。更多信息,请参见创建数据库和账号。
- 若是关联本地CSV数据源,则已经创建本地CSV文件。更多信息,请参见关联托管的CSV数据源。
- 已安装日志服务CLI,并完成配置。具体操作,请参见安装CLI和配置CLI。
命令格式
aliyunlog log create_external_store --project_name= --config= [--access-id=] [--access-key=] [--sts-token=] [--region-endpoint=] [--client-name=] [--jmes-filter=] [--format-output=] [--decode-output=] [--profile=]
命令参数
该命令的必选和特有参数描述如下。
参数名称 | 数值类型 | 是否必选 | 示例值 | 描述 |
–project_name | String | 是 | ali-test-project | Project名称。 |
–config | String | 是 | file://./external_store_config.json | 关联外部数据源的配置文件路径。您需要在执行该命令前,创建该文件,指定外部存储名称、表的Schema、OSS访问信息或者RDS MySQL等信息。
您可以参考命令示例中说明创建该文件。 |
关于该命令的全局参数,请参见全局参数。
命令示例
- 通过CLI创建OSS外部数据源
- 创建external_store_config.json文件,用于指定关联OSS外部数据源,其内容示例如下:
{ "externalStoreName": "oss-store-demo", "storeType": "oss", "parameter": { "endpoint": "oss-cn-hangzhou.aliyuncs.com", "accessid": "your_accesskey_id", "accesskey": "your_accesskey_secret", "bucket": "doc-test", "objects": ["external-store-test/user.csv"], "columns": [ {"name": "userid", "type" : "bigint"}, {"name": "nick", "type" : "varchar"}, {"name": "gender", "type" : "varchar"}, {"name": "province", "type" : "varchar"}, {"name": "age", "type" : "bigint"}] }}
该CSV文件的内容示例如下:
更多信息,请参见关联OSS数据源和关联Logstore与OSS外表进行查询和分析。
- 使用默认账号关联一个名为oss-store-demo的外部数据源。
- 命令示例
aliyunlog log create_external_store --project_name="ali-test-project" --config="file://./external_store_config.json"
- 返回示例命令执行成功后,无响应消息。您可以执行
aliyunlog log get_external_store --project_name="ali-test-project" --store_name="oss-store-demo" --format-output=json
查询OSS外部数据源详细信息。{ "externalStoreName": "oss-store-demo", "parameter": { "accessid": "your_accesskey_id", "accesskey": "your_accesskey_secret", "bucket": "doc-test", "columns": [{ "name": "userid", "type": "bigint" }, { "name": "nick", "type": "varchar" }, { "name": "gender", "type": "varchar" }, { "name": "province", "type": "varchar" }, { "name": "age", "type": "bigint" } ], "endpoint": "oss-cn-hangzhou.aliyuncs.com", "objects": [ "external-store-test/user.csv" ] }, "storeType": "oss"}
关联外部数据源后,您可以在日志服务控制台通过查询分析语句
*|select * from oss-store-demo
查询关联的OSS外部数据源数据。
- 命令示例
- 创建external_store_config.json文件,用于指定关联OSS外部数据源,其内容示例如下:
- 通过CLI关联RDS MySQL外部数据源
- 创建rds-mysql-external-store.json文件,用于指定关联RDS MySQL外部数据源,其内容示例如下:
{ "externalStoreName": "rds-vpc-mysql-store", "storeType": "rds-vpc", "parameter": { "region": "cn-hangzhou", "vpc-id": "vpc-bp1c******p6kgvv", "instance-id": "rm-bp1t4******rm76", "host": "rm-bp1******rm76.mysql.rds.aliyuncs.com", "port": "3306", "username": "testuser", "password": "******", "db": "dbtest", "table": "chiji_user" }}
该table表的内容示例如下:
更多信息,请参见关联MySQL数据源和关联Logstore与MySQL数据库进行查询分析。
- 使用默认账号关联一个名为rds-vpc-mysql-store的外部数据源。
- 命令示例
aliyunlog log create_external_store --project_name="ali-test-project" --config="file://./rds-mysql-external-store.json"
- 返回示例命令执行成功后,无响应消息。您可以执行
aliyunlog log get_external_store --project_name="ali-test-project" --store_name="rds-vpc-mysql-store" --format-output=json
查询RDS MySQL外部数据源详细信息。{ "externalStoreName": "rds-vpc-mysql-store", "parameter": { "db": "dbtest", "host": "rm-bp1******rm76.mysql.rds.aliyuncs.com", "instance-id": "rm-bp1t4******rm76", "port": "3306", "region": "cn-hangzhou", "table": "chiji_user", "timezone": "", "username": "testuser", "vpc-id": "vpc-bp1c******p6kgvv" }, "storeType": "rds-vpc"}
关联外部数据源后,您可以在日志服务控制台通过查询分析语句
*|select * from rds-vpc-mysql-store
查询关联的RDS MySQL外部数据源数据。
- 命令示例
- 创建rds-mysql-external-store.json文件,用于指定关联RDS MySQL外部数据源,其内容示例如下:
- 通过CLI关联本地CSV文件外部数据源
- 创建external_store_config_local.json文件,用于指定关联本地CSV外部数据源,其内容示例如下:
{ "externalStoreName": "doctest-local-csvfile", "storeType": "csv", "parameter": { "endpoint": "cn-hangzhou.aliyuncs.com", "externalStoreCsvFile": "./user2.csv", "columns": [ {"name": "userid", "type" : "bigint"}, {"name": "nick", "type" : "varchar"}, {"name": "gender", "type" : "varchar"}, {"name": "province", "type" : "varchar"}, {"name": "age", "type" : "bigint"}], "objects": "./user2.csv" }}
该CSV文件的内容示例如下:
更多信息,请参见关联托管的CSV数据源。
- 使用默认账号关联一个名为doctest-local-csvfile的外部数据源。
- 命令示例
aliyunlog log create_external_store --project_name="ali-test-project" --config="file://./external_store_config_local.json"
- 返回示例命令执行成功后,无响应消息。您可以执行
aliyunlog log get_external_store --project_name="ali-test-project" --store_name="doctest-local-csvfile" --format-output=json
查询本地CSV文件外部数据源详细信息。{ "externalStoreName": "doctest-local-csvfile", "parameter": { "accessid": "", "accesskey": "", "bucket": "", "columns": [ { "name": "userid", "type": "bigint" }, { "name": "nick", "type": "varchar" }, { "name": "gender", "type": "varchar" }, { "name": "province", "type": "varchar" }, { "name": "age", "type": "bigint" } ], "endpoint": "", "objects": [ "table.csv" ] }, "storeType": "csv"}
关联外部数据源后,您可以在日志服务控制台通过查询分析语句
*|select * from doctest-local-csvfile
查询关联的本地CSV文件外部数据源数据。
- 命令示例
- 创建external_store_config_local.json文件,用于指定关联本地CSV外部数据源,其内容示例如下:
相关文档
- 在调用API接口过程中,若服务端返回结果中包含错误信息,则表示调用API接口失败。您可以参考API错误码对照表查找对应的解决方法。更多信息,请参见API错误处理对照表。
- 阿里云OpenAPI开发者门户提供调试、SDK、示例和配套文档。通过OpenAPI,您无需手动封装请求和签名操作,就可以快速对日志服务API进行调试。更多信息,请参见OpenAPI开发者门户。
- 关于该API接口的详细信息,请参见CreateExternalStore。
- 使用日志服务关联OSS进行数据关联查询的最佳实践,请参见关联Logstore与OSS外表进行查询和分析。
- 使用日志服务关联RDS MySQL进行数据关联查询的最佳实践,请参见关联Logstore与MySQL数据库进行查询分析。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/160501.html