メインコンテンツへスキップ

azureBlobStorage テーブル関数

Azure Blob Storage 内のファイルに対して select/insert を行うためのテーブル形式インターフェイスを提供します。このテーブル関数は s3 関数 に似ています。

構文

認証情報は接続文字列に埋め込まれているため、account_name/account_key を別途指定する必要はありません。

引数

名前付きコレクション

引数は 名前付きコレクション を使って渡すこともできます。この場合、次のキーを使用できます。
名前付きコレクションのキー名は、関数の位置引数名とは異なります。containercontainer_name ではなく、blob_pathblobpath ではありません。
例:
クエリ実行時に 名前付きコレクション の値を上書きすることもできます:

戻り値

指定されたファイル内のデータの読み書きに使用する、指定された構造のテーブル。

storage_account_url 形式での読み込み

connection_string 形式を使った読み取り

パーティションを指定して書き込む

次に、特定のパーティションを読み出します:

仮想カラム

  • _path — ファイルのパス。型: LowCardinality(String)
  • _file — ファイル名。型: LowCardinality(String)
  • _size — ファイルサイズ (バイト単位) 。型: Nullable(UInt64)。ファイルサイズが不明な場合、値は NULL です。
  • _time — ファイルの最終更新時刻。型: Nullable(DateTime)。時刻が不明な場合、値は NULL です。

パーティション分割での書き込み

パーティション方式

INSERT クエリでのみサポートされています。 WILDCARD: ファイルパス内の {_partition_id} ワイルドカードを実際のパーティションキーに置き換えます。デフォルトで選択されるのは 26.6 より古い compatibility 設定の場合のみで、それ以外のデフォルトは HIVE です (file_like_engine_default_partition_strategy 設定を参照) 。 HIVE は、読み取りと書き込みに対して Hive スタイルのパーティション化を実装します。ファイルは次のフォーマットで生成されます: <prefix>/<key1=val1/key2=val2...>/<snowflakeid>.<toLower(file_format)> HIVE パーティション方式の例

use_hive_partitioning 設定

これは、読み取り時に Hive スタイルでパーティション化されたファイルを ClickHouse が解析するためのヒントです。書き込みには影響しません。読み取りと書き込みで対称性を持たせるには、partition_strategy 引数を使用します。 use_hive_partitioning 設定を 1 にすると、ClickHouse はパス内の Hive スタイルのパーティション化 (/name=value/) を検出し、クエリでパーティションカラムを仮想カラムとして使用できるようになります。これらの仮想カラムは、パーティション化されたパス内の名前と同じ名前になります。 Hive スタイルのパーティション化で作成された仮想カラムを使用する

Shared Access Signatures (SAS) の使用

Shared Access Signature (SAS) は、Azure Storage のコンテナーまたはファイルに対する制限付きアクセスを許可する URI です。これを使用すると、ストレージ アカウント キーを共有することなく、ストレージ アカウントのリソースに期限付きでアクセスを許可できます。詳細はこちらを参照してください。 azureBlobStorage 関数は Shared Access Signatures (SAS) をサポートしています。 Blob SAS トークン には、対象のブロブ、アクセス許可、有効期間など、リクエストの認証に必要なすべての情報が含まれています。ブロブ URL を構成するには、Blob service のエンドポイントに SAS トークンを追加します。たとえば、エンドポイントが https://clickhousedocstest.blob.core.windows.net/ の場合、リクエストは次のようになります。
また、生成されたBlob SAS URLを使用することもできます。
最終更新日 2026年7月2日