メインコンテンツまでスキップ
メインコンテンツまでスキップ

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を使用することもできます: