CREATE CONNECTION
外部ストレージへの接続を作成します。
構文
CREATE [ OR REPLACE ] CONNECTION [ IF NOT EXISTS ] <connection_name>
STORAGE_TYPE = '<type>'
[ <storage_params> ]
接続パラメータ
接続には、特定のストレージバックエンドに対する認証情報と設定が含まれます。接続を作成する際は、適切な STORAGE_TYPE を選択し、必要なパラメータを指定してください。次の表は一般的なオプションを示しています。
パラメータの意味、任意フラグ、追加のストレージタイプについては、接続パラメータ を参照してください。以下のタブを展開すると、ストレージ固有の例を確認できます。
Amazon S3 および S3 互換サービスでは、認証方法を選択してください。
CREATE CONNECTION <connection_name>
STORAGE_TYPE = 's3'
ACCESS_KEY_ID = '<your-access-key-id>'
SECRET_ACCESS_KEY = '<your-secret-access-key>';
CREATE CONNECTION <connection_name>
STORAGE_TYPE = 's3'
ROLE_ARN = '<your-role-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 を省略し、プライベートまたはレート制限のあるアセットでは含めてください。
アクセス制御要件
接続を作成するには、操作を実行するユーザーまたは current_role が CREATE CONNECTION 権限 を持っている必要があります。
テーブル接続の更新
既存のテーブルを新しい接続に切り替えるには、ALTER TABLE ... CONNECTION を使用します。このコマンドは、テーブルを再作成せずに外部テーブルを別の接続へ再バインドします。
例
Access Keys を使用する
この例では、'toronto' という名前の Amazon S3 への Connection を作成し、その 'toronto' Connection を使用して、's3://lake-toronto' URL にリンクされた 'my_s3_stage' という名前の外部 stage を作成します。Connection に関するより実践的な例については、使用例 を参照してください。
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 ロールを使用する
この例では、IAM ロールを使用して Amazon S3 への接続を作成し、その後この接続を使用する stage を作成します。この方法は、アクセスキーを TiDB Cloud Lake に保存する必要がないため、より安全です。
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;