文档

create_external_store

更新时间:

调用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=<value> --config=<value> [--access-id=<value>] [--access-key=<value>] [--sts-token=<value>] [--region-endpoint=<value>] [--client-name=<value>] [--jmes-filter=<value>] [--format-output=<value>] [--decode-output=<value>] [--profile=<value>]

命令参数

该命令的必选和特有参数描述如下。
参数名称数值类型是否必选示例值描述
--project_nameStringali-test-projectProject名称。
--configStringfile://./external_store_config.json关联外部数据源的配置文件路径。您需要在执行该命令前,创建该文件,指定外部存储名称、表的Schema、OSS访问信息或者RDS MySQL等信息。

您可以参考命令示例中说明创建该文件。

关于该命令的全局参数,请参见全局参数

命令示例

  • 通过CLI创建OSS外部数据源
    1. 创建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文件的内容示例如下:user.csv更多信息,请参见关联OSS数据源关联Logstore与OSS外表进行查询和分析
    2. 使用默认账号关联一个名为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外部数据源数据。user.csv
  • 通过CLI关联RDS MySQL外部数据源
    1. 创建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表的内容示例如下:table更多信息,请参见关联MySQL数据源关联Logstore与MySQL数据库进行查询分析
    2. 使用默认账号关联一个名为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外部数据源数据。table
  • 通过CLI关联本地CSV文件外部数据源
    1. 创建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文件的内容示例如下:user.csv更多信息,请参见关联托管的CSV数据源
    2. 使用默认账号关联一个名为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文件外部数据源数据。user.csv

相关文档

  • 本页导读 (1)
文档反馈