Skip to content

Commit 0fccfd0

Browse files
Add LLM Translations V2 (#2374)
* ## ✅ Translated to Simplified-Chinese - 1 file | **Source** | **Output/Count** | **Language** | | :--- | :--- | :--- | | `docs/en/sql-reference/10-sql-commands/00-ddl/01-table/91-alter-table-connection.md` | `docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/91-alter-table-connection.md` | Simplified-Chinese | * Update 91-alter-table-connection.md --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: z <[email protected]>
1 parent 76320d1 commit 0fccfd0

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
---
2+
title: ALTER TABLE CONNECTION
3+
sidebar_position: 6
4+
---
5+
import FunctionDescription from '@site/src/components/FunctionDescription';
6+
7+
<FunctionDescription description="引入或更新版本:v1.2.750"/>
8+
9+
更新外部表的连接设置。
10+
11+
## 语法
12+
13+
```sql
14+
ALTER TABLE [ <database_name>. ]<table_name> CONNECTION = ( connection_name = '<connection_name>' )
15+
```
16+
17+
| 参数 | 描述 | 必需 |
18+
|-----------|-------------|----------|
19+
| connection_name | 用于外部表的连接名称。该连接必须已在系统中存在。 ||
20+
21+
## 使用说明
22+
23+
使用 ALTER TABLE CONNECTION 命令时,只能修改与凭据相关的设置,包括 `access_key_id``secret_access_key``role_arn`。修改其他连接参数(如 `bucket``region``root`)将不会生效。
24+
25+
该命令特别适用于凭据轮换或 IAM 角色变更的场景。执行前,指定的连接必须已在系统中存在。
26+
27+
## 安全最佳实践
28+
29+
使用外部表时,AWS IAM 角色相比访问密钥具有显著安全优势:
30+
31+
- **无需存储凭据**:避免在配置中存储访问密钥
32+
- **自动轮换**:自动处理凭据轮换
33+
- **细粒度控制**:支持更精细的访问控制
34+
35+
要在 Databend Cloud 中使用 IAM 角色,请参阅[使用 AWS IAM 角色创建外部阶段](/guides/load-data/stage/aws-iam-role)获取操作指南。
36+
37+
## 示例
38+
39+
### 更新外部表的连接
40+
41+
此示例先创建使用初始连接的外部表,再更新为使用新连接:
42+
43+
```sql
44+
-- 创建两个包含不同凭据的连接
45+
CREATE CONNECTION external_table_conn
46+
STORAGE_TYPE = 's3'
47+
ACCESS_KEY_ID = '<your-access-key-id>'
48+
SECRET_ACCESS_KEY = '<your-secret-access-key>';
49+
50+
CREATE CONNECTION external_table_conn_new
51+
STORAGE_TYPE = 's3'
52+
ACCESS_KEY_ID = '<your-new-access-key-id>'
53+
SECRET_ACCESS_KEY = '<your-new-secret-access-key>';
54+
55+
-- 使用初始连接创建外部表
56+
CREATE OR REPLACE TABLE external_table_test (
57+
id INT,
58+
name VARCHAR,
59+
age INT
60+
)
61+
's3://testbucket/13_fuse_external_table/'
62+
CONNECTION=(connection_name = 'external_table_conn');
63+
64+
-- 更新表以使用包含轮换凭据的新连接
65+
ALTER TABLE external_table_test CONNECTION=( connection_name = 'external_table_conn_new' );
66+
```
67+
68+
### 使用 IAM 角色更新外部表连接
69+
70+
此示例演示从访问密钥认证迁移至 IAM 角色认证:
71+
72+
```sql
73+
-- 创建使用访问密钥认证的外部表
74+
CREATE CONNECTION s3_access_key_conn
75+
STORAGE_TYPE = 's3'
76+
ACCESS_KEY_ID = '<your-access-key-id>'
77+
SECRET_ACCESS_KEY = '<your-secret-access-key>';
78+
79+
CREATE TABLE sales_data (
80+
order_id INT,
81+
product_name VARCHAR,
82+
quantity INT
83+
)
84+
's3://sales-bucket/data/'
85+
CONNECTION=(connection_name = 's3_access_key_conn');
86+
87+
-- 随后创建使用 IAM 角色认证的新连接
88+
CREATE CONNECTION s3_role_conn
89+
STORAGE_TYPE = 's3'
90+
ROLE_ARN = 'arn:aws:iam::123456789012:role/databend-access';
91+
92+
-- 更新表以改用 IAM 角色连接
93+
ALTER TABLE sales_data CONNECTION=( connection_name = 's3_role_conn' );
94+
```

0 commit comments

Comments
 (0)