azureBlobStorage テーブル関数
Azure Blob Storageのファイルを選択/挿入するためのテーブルのようなインターフェースを提供します。このテーブル関数はs3関数に似ています。
構文
引数
connection_string|storage_account_url
— connection_stringにはアカウント名とキーが含まれています(接続文字列の作成)または、ここにストレージアカウントのURLを提供し、アカウント名とアカウントキーを別のパラメータとして指定することもできます(パラメータaccount_name & account_keyを参照)。container_name
- コンテナ名blobpath
- ファイルパス。読み取り専用モードでは次のワイルドカードをサポートしています:*
,**
,?
,{abc,def}
および{N..M}
ここでN
,M
は数字、'abc'
,'def'
は文字列です。account_name
- storage_account_urlが使用されている場合、この場所でアカウント名を指定できます。account_key
- storage_account_urlが使用されている場合、この場所でアカウントキーを指定できます。format
— ファイルの形式。compression
— サポートされている値:none
,gzip/gz
,brotli/br
,xz/LZMA
,zstd/zst
。デフォルトでは、ファイル拡張子によって圧縮を自動検出します。(設定をauto
にした場合と同じ)。structure
— テーブルの構造。形式は'column1_name column1_type, column2_name column2_type, ...'
です。
戻り値
指定したファイルでデータを読み書きするための指定された構造のテーブル。
例
AazureBlobStorageテーブルエンジンと同様に、ユーザーはローカルAzure Storage開発のためにAzuriteエミュレーターを使用できます。詳細はこちらを参照してください。以下では、Azuriteがホスト名azurite1
で利用可能であると仮定します。
次の方法でAzure Blob Storageにデータを書き込みます:
次に、以下のように読み取ることができます。
または、connection_stringを使用して
仮想カラム
_path
— ファイルへのパス。型:LowCardinality(String)
。_file
— ファイル名。型:LowCardinality(String)
。_size
— ファイルのサイズ(バイト単位)。型:Nullable(UInt64)
。ファイルサイズが不明な場合、値はNULL
です。_time
— ファイルの最終変更時間。型:Nullable(DateTime)
。時間が不明な場合、値はNULL
です。
関連項目
Hiveスタイルのパーティショニング
use_hive_partitioning
が1に設定されている場合、ClickHouseはパス内のHiveスタイルのパーティショニング(/name=value/
)を検出し、クエリ内でパーティションカラムを仮想カラムとして使用できるようにします。これらの仮想カラムは、パーティションパス内の同じ名前ですが、先頭に_
が付きます。
例
Hiveスタイルのパーティショニングで作成された仮想カラムを使用
共有アクセス署名(SAS)の使用
共有アクセス署名(SAS)は、Azure Storageコンテナまたはファイルへの制限付きアクセスを付与するURIです。ストレージアカウントキーを共有することなくストレージアカウントリソースへの時間制限付きアクセスを提供するために使用します。詳細はこちらをご覧ください。
azureBlobStorage
関数は、共有アクセス署名(SAS)をサポートしています。
Blob SASトークンには、要求を認証するために必要なすべての情報が含まれており、ターゲットBlob、権限、有効期間が含まれます。Blob URLを構築するには、SASトークンをBlobサービスエンドポイントに追加します。たとえば、エンドポイントがhttps://clickhousedocstest.blob.core.windows.net/
の場合、要求は次のようになります:
あるいは、ユーザーは生成されたBlob SAS URLを使用することもできます: