📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

CREATE CONNECTION



创建到外部存储的连接。

语法

CREATE [ OR REPLACE ] CONNECTION [ IF NOT EXISTS ] <connection_name> STORAGE_TYPE = '<type>' [ <storage_params> ]
参数描述
STORAGE_TYPE存储服务的类型。可能的值包括:s3、azblob、gcs、oss 和 cos。
storage_params根据存储类型和认证方法而变化。完整列表请参见 连接参数。

连接参数

连接封装了特定存储后端的凭证和配置。创建连接时,请选择合适的 STORAGE_TYPE 并提供所需参数。下表列出了常见选项:

STORAGE_TYPE常见参数描述
s3ACCESS_KEY_ID/SECRET_ACCESS_KEY,或 ROLE_ARN/EXTERNAL_ID,可选 ENDPOINT_URL、REGIONAmazon S3 和兼容 S3 的服务(MinIO、Cloudflare R2 等)。
azblobACCOUNT_NAME、ACCOUNT_KEY、ENDPOINT_URLAzure Blob Storage。
gcsCREDENTIAL(base64 编码的服务账户密钥)Google Cloud Storage。
ossACCESS_KEY_ID、ACCESS_KEY_SECRET、ENDPOINT_URL阿里云对象存储服务。
cosSECRET_ID、SECRET_KEY、ENDPOINT_URL腾讯云对象存储。
hfREPO_TYPE、REVISION,可选 TOKENHugging Face Hub 数据集和模型。

有关参数含义、可选(命令行)标记/参数以及其他存储类型,请参见 连接参数。展开下面的标签页可查看各存储类型的示例:

    为 Amazon S3 和兼容 S3 的服务选择一种认证方法:

      CREATE CONNECTION <connection_name> STORAGE_TYPE = 's3' ACCESS_KEY_ID = '<your-access-key-id>' SECRET_ACCESS_KEY = '<your-secret-access-key>';
      参数描述
      ACCESS_KEY_ID你的 AWS access key ID。
      SECRET_ACCESS_KEY你的 AWS secret access key。
      CREATE CONNECTION <connection_name> STORAGE_TYPE = 's3' ROLE_ARN = '<your-role-arn>';
      参数描述
      ROLE_ARNTiDB Cloud Lake 将用于访问你的 S3 资源的 IAM 角色的 Amazon Resource Name (ARN)。
      CREATE CONNECTION <connection_name> STORAGE_TYPE = 'azblob' ACCOUNT_NAME = '<account-name>' ACCOUNT_KEY = '<account-key>' ENDPOINT_URL = 'https://<account-name>.blob.core.windows.net';
      CREATE CONNECTION <connection_name> STORAGE_TYPE = 'gcs' CREDENTIAL = '<base64-encoded-service-account>';
      CREATE CONNECTION <connection_name> STORAGE_TYPE = 'oss' ACCESS_KEY_ID = '<your-ak>' ACCESS_KEY_SECRET = '<your-sk>' ENDPOINT_URL = 'https://<region-id>[-internal].aliyuncs.com';
      CREATE CONNECTION <connection_name> STORAGE_TYPE = 'cos' SECRET_ID = '<your-secret-id>' SECRET_KEY = '<your-secret-key>' ENDPOINT_URL = '<your-endpoint-url>';
      CREATE CONNECTION <connection_name> STORAGE_TYPE = 'hf' REPO_TYPE = 'dataset' REVISION = 'main' TOKEN = '<optional-access-token>';

      对于公共仓库,可省略 TOKEN;对于私有仓库或受速率限制的资源,请包含该参数。

      访问控制要求

      权限对象类型描述
      CREATE CONNECTION全局创建连接。

      要创建连接,执行该操作的用户或 current_role 必须具有 CREATE CONNECTION 权限。

      修改表连接

      要将现有表切换到新连接,请使用 ALTER TABLE ... CONNECTION。该命令可以将外部表重新绑定到不同的连接,而无需重新创建表。

      示例

      使用 Access Keys

      本示例创建了一个名为 toronto 的 Amazon S3 连接,并使用该 toronto 连接创建了一个名为 my_s3_stage 的外部 stage,该 stage 关联到 s3://lake-toronto URL。有关连接的更多实际示例,请参见 使用示例。

      CREATE CONNECTION toronto STORAGE_TYPE = 's3' ACCESS_KEY_ID = '<your-access-key-id>' SECRET_ACCESS_KEY = '<your-secret-access-key>'; CREATE STAGE my_s3_stage URL = 's3://lake-toronto' CONNECTION = (CONNECTION_NAME = 'toronto');

      使用 AWS IAM Role

      本示例使用 IAM 角色创建一个 Amazon S3 连接,然后创建一个使用该连接的 stage。这种方式更安全,因为它不需要在 TiDB Cloud Lake 中存储 access keys。

      CREATE CONNECTION lake_test STORAGE_TYPE = 's3' ROLE_ARN = 'arn:aws:iam::987654321987:role/lake-test'; CREATE STAGE lake_test URL = 's3://test-bucket-123' CONNECTION = (CONNECTION_NAME = 'lake_test'); -- You can now query data from your S3 bucket SELECT * FROM @lake_test/test.parquet LIMIT 1;

      文档内容是否有帮助?