接続パラメータ
接続パラメータは、CREATE CONNECTION を使用して再利用可能な接続を作成する際に指定するキーと値のペアです。接続を作成した後は、CONNECTION = (CONNECTION_NAME = '<connection-name>') を使用して、stage、COPY コマンド、およびその他の SQL 機能からその接続を参照できます。完全な構文と使用方法については、CREATE CONNECTION を参照してください。
ストレージ固有の接続詳細については、以下の表を参照してください。
以下の表は、Amazon S3 互換ストレージサービスにアクセスするための接続パラメータを示しています。
-- Create a reusable connection for Amazon S3
CREATE CONNECTION my_s3_conn
STORAGE_TYPE = 's3'
ACCESS_KEY_ID = '<your-ak>'
SECRET_ACCESS_KEY = '<your-sk>';
-- Use the connection when creating a stage
CREATE STAGE my_s3_stage
URL = 's3://my-bucket'
CONNECTION = (CONNECTION_NAME = 'my_s3_conn');
-- Create a reusable connection for an S3-compatible service such as MinIO
CREATE CONNECTION my_minio_conn
STORAGE_TYPE = 's3'
ENDPOINT_URL = 'http://localhost:9000'
ACCESS_KEY_ID = 'ROOTUSER'
SECRET_ACCESS_KEY = 'CHANGEME123';
CREATE STAGE my_minio_stage
URL = 's3://lake'
CONNECTION = (CONNECTION_NAME = 'my_minio_conn');
Amazon S3 バケットにアクセスするために、認証用の AWS IAM ロールと 外部 ID を指定することもできます。AWS IAM ロールと 外部 ID を指定することで、ユーザーがアクセスできる S3 バケットをより細かく制御できます。つまり、IAM ロールに特定の S3 バケットへのアクセス権限のみが付与されている場合、ユーザーはそのバケットにのみアクセスできます。外部 ID は、追加の検証レイヤーを提供することで、さらにセキュリティを強化できます。詳細については、https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html を参照してください。
以下の表は、AWS IAM ロール認証を使用して Amazon S3 ストレージサービスにアクセスするための接続パラメータを示しています。
-- Create the connection using IAM role authentication
CREATE CONNECTION my_iam_conn
STORAGE_TYPE = 's3'
ROLE_ARN = 'arn:aws:iam::123456789012:role/my-role'
EXTERNAL_ID = 'my-external-id';
-- Reference the connection when creating a stage
CREATE STAGE my_iam_stage
URL = 's3://my-bucket'
CONNECTION = (CONNECTION_NAME = 'my_iam_conn');
以下の表は、Azure Blob Storage にアクセスするための接続パラメータを示しています。
-- Create a connection for Azure Blob Storage
CREATE CONNECTION my_azure_conn
STORAGE_TYPE = 'azblob'
ACCOUNT_NAME = 'myaccount'
ACCOUNT_KEY = 'myaccountkey'
ENDPOINT_URL = 'https://<your-storage-account-name>.blob.core.windows.net';
-- Create a stage that uses the connection
CREATE STAGE my_azure_stage
URL = 'azblob://my-container'
CONNECTION = (CONNECTION_NAME = 'my_azure_conn');
以下の表は、Google Cloud Storage にアクセスするための接続パラメータを示しています。
credential を取得するには、Google のドキュメントにある Create a service account key の手順に従ってサービスアカウントキーファイルを作成し、ダウンロードできます。サービスアカウントキーファイルをダウンロードした後、次のコマンドで base64 文字列に変換できます。
base64 -i -o ~/Desktop/base64-encoded-key.txt
-- Create the connection with the base64-encoded credential
CREATE CONNECTION my_gcs_conn
STORAGE_TYPE = 'gcs'
CREDENTIAL = '<your-base64-encoded-credential>';
-- Use the connection when creating a stage
CREATE STAGE my_gcs_stage
URL = 'gcs://my-bucket'
CONNECTION = (CONNECTION_NAME = 'my_gcs_conn');
以下の表は、Alibaba Cloud OSS にアクセスするための接続パラメータを示しています。
-- Create a connection for Alibaba Cloud OSS
CREATE CONNECTION my_oss_conn
STORAGE_TYPE = 'oss'
ACCESS_KEY_ID = '<your-ak>'
ACCESS_KEY_SECRET = '<your-sk>'
ENDPOINT_URL = 'https://<bucket-name>.<region-id>[-internal].aliyuncs.com';
-- Create a stage using the connection
CREATE STAGE my_oss_stage
URL = 'oss://my-bucket'
CONNECTION = (CONNECTION_NAME = 'my_oss_conn');
以下の表は、Tencent Cloud Object Storage (COS) にアクセスするための接続パラメータを示しています。
-- Create a connection for Tencent COS
CREATE CONNECTION my_cos_conn
STORAGE_TYPE = 'cos'
SECRET_ID = '<your-secret-id>'
SECRET_KEY = '<your-secret-key>'
ENDPOINT_URL = '<your-endpoint-url>';
-- Create a stage that uses the connection
CREATE STAGE my_cos_stage
URL = 'cos://my-bucket'
CONNECTION = (CONNECTION_NAME = 'my_cos_conn');
以下の表は、Hugging Face にアクセスするための接続パラメータを示しています。
-- Create a connection for Hugging Face
CREATE CONNECTION my_hf_conn
STORAGE_TYPE = 'hf'
REPO_TYPE = 'dataset'
REVISION = 'main';
-- Create a stage that uses the connection
CREATE STAGE my_huggingface_stage
URL = 'hf://opendal/huggingface-testdata/'
CONNECTION = (CONNECTION_NAME = 'my_hf_conn');