跳到主要内容

CREATE CONNECTION

引入或更新于:v1.2.780

创建到外部存储的连接。

注意

重要提示:当对象(如 Stage、表等)使用连接时,它们会永久复制并存储该连接的参数。如果之后使用 CREATE OR REPLACE CONNECTION 修改连接,现有对象将继续使用旧参数。要使用新的连接参数更新对象,必须删除并重新创建这些对象。

语法

CREATE [ OR REPLACE ] CONNECTION [ IF NOT EXISTS ] <connection_name>
STORAGE_TYPE = '<type>'
[ <storage_params> ]
参数描述
STORAGE_TYPE存储服务类型。可选值包括 s3azblobgcsosscos 等。
storage_params根据存储类型和认证方式而变化。完整参数请参阅 连接参数

连接参数

连接用于封装外部存储的凭据和配置。创建连接时请选择合适的 STORAGE_TYPE 并填写所需参数。

STORAGE_TYPE常见参数说明
s3ACCESS_KEY_ID/SECRET_ACCESS_KEY、或 ROLE_ARN/EXTERNAL_ID,可选 ENDPOINT_URLREGIONAmazon S3 及兼容服务(MinIO、Cloudflare R2 等)。
azblobACCOUNT_NAMEACCOUNT_KEYENDPOINT_URLAzure Blob Storage。
gcsCREDENTIAL(Base64 编码的服务账号密钥)Google Cloud Storage。
ossACCESS_KEY_IDACCESS_KEY_SECRETENDPOINT_URL阿里云对象存储 OSS。
cosSECRET_IDSECRET_KEYENDPOINT_URL腾讯云对象存储 COS。
hfREPO_TYPEREVISION,可选 TOKENHugging Face Hub 数据集与模型。

展开下列选项卡以查看各存储类型示例:

Amazon S3 及兼容服务支持以下两种认证方式:

CREATE CONNECTION <connection_name>
STORAGE_TYPE = 's3'
ACCESS_KEY_ID = '<your-access-key-id>'
SECRET_ACCESS_KEY = '<your-secret-access-key>';
参数描述
ACCESS_KEY_IDAWS Access Key ID。
SECRET_ACCESS_KEYAWS Secret Access Key。

访问控制要求

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

创建连接时,执行操作的用户或 current_role 必须拥有 CREATE CONNECTION 权限

更新已存在表的连接

若要将现有外部表切换到新的连接,可使用 ALTER TABLE ... CONNECTION 命令,无需重新创建表。

示例

使用访问密钥

示例:创建名为 toronto 的 Amazon S3 连接,并建立外部 Stage my_s3_stage 指向 s3://databend-toronto。更多与连接相关的示例请参阅 使用示例

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://databend-toronto'
CONNECTION = (CONNECTION_NAME = 'toronto');

使用 AWS IAM 角色

示例:使用 IAM Role 创建 Amazon S3 连接,并让 Stage 复用该连接,无需在 Databend 中存储访问密钥。

CREATE CONNECTION databend_test
STORAGE_TYPE = 's3'
ROLE_ARN = 'arn:aws:iam::987654321987:role/databend-test';

CREATE STAGE databend_test
URL = 's3://test-bucket-123'
CONNECTION = (CONNECTION_NAME = 'databend_test');

-- 现在可直接查询 S3 桶中的数据
SELECT * FROM @databend_test/test.parquet LIMIT 1;
信息

在 Databend Cloud 中使用 IAM 角色,需要在 AWS 账户与 Databend Cloud 之间建立信任关系。详见 使用 AWS IAM 角色进行认证

开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册