create_external_store

调用CLI命令关联外部数据源。当前支持关联RDS MySQL、OSS、本地CSV文件作为外部数据源。

注意事项

说明

在进行日志数据查询分析时,日志中的部分信息需要和外部存储(ExternalStore)的信息进行关联查询,从而进一步丰富日志服务中的日志数据。更多信息,请参见关联外部数据源简介关联Logstore与OSS外表进行查询和分析

在使用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_name

String

ali-test-project

Project名称。

--config

String

file://./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

相关文档

  • 在调用API接口过程中,若服务端返回结果中包含错误信息,则表示调用API接口失败。您可以参考API错误码对照表查找对应的解决方法。更多信息,请参见API错误处理对照表

  • 阿里云OpenAPI开发者门户提供调试、SDK、示例和配套文档。通过OpenAPI,您无需手动封装请求和签名操作,就可以快速对日志服务API进行调试。更多信息,请参见OpenAPI开发者门户

  • 使用日志服务关联OSS进行数据关联查询的最佳实践,请参见关联Logstore与OSS外表进行查询和分析

  • 使用日志服务关联RDS MySQL进行数据关联查询的最佳实践,请参见关联Logstore与MySQL数据库进行查询分析