Fonction de table azureBlobStorage
Syntaxe
- Chaîne de connexion
- URL du compte de stockage
- Collection nommée
Les informations d’identification sont intégrées à la chaîne de connexion, il n’est donc pas nécessaire de fournir
account_name/account_key séparément :Arguments
| Argument | Description |
|---|---|
connection_string | Une chaîne de connexion qui inclut des identifiants intégrés (nom du compte + clé du compte ou SAS token). Lors de l’utilisation de cette forme, account_name et account_key ne doivent pas être transmis séparément. Voir Configurer une chaîne de connexion. |
storage_account_url | L’URL de point de terminaison du compte de stockage, par ex. https://myaccount.blob.core.windows.net/. Lors de l’utilisation de cette forme, vous devez également transmettre account_name et account_key. |
container_name | Nom du conteneur. |
blobpath | Chemin de fichier. Prend en charge les caractères génériques suivants en mode lecture seule : *, **, ?, {abc,def} et {N..M} où N, M sont des nombres et 'abc', 'def' des chaînes. |
account_name | Nom du compte de stockage. Obligatoire lors de l’utilisation de storage_account_url sans SAS ; ne doit pas être transmis lors de l’utilisation de connection_string. |
account_key | Clé du compte de stockage. Obligatoire lors de l’utilisation de storage_account_url sans SAS ; ne doit pas être transmise lors de l’utilisation de connection_string. |
format | Le format du fichier. |
compression | Valeurs prises en charge : none, gzip/gz, brotli/br, xz/LZMA, zstd/zst. Par défaut, la compression est détectée automatiquement à partir de l’extension du fichier (comme avec le paramètre auto). |
structure | Structure de la table. Format 'column1_name column1_type, column2_name column2_type, ...'. |
partition_strategy | Facultatif. Valeurs prises en charge : WILDCARD ou HIVE. WILDCARD nécessite un {_partition_id} dans le chemin, qui est remplacé par la clé de partitionnement. HIVE n’autorise pas les caractères génériques, suppose que le chemin est la racine de la table et génère des répertoires partitionnés au format Hive avec des Snowflake IDs comme noms de fichiers et le format de fichier comme extension. La valeur par défaut est le paramètre file_like_engine_default_partition_strategy (WILDCARD avec des paramètres compatibility antérieurs à 26.6, HIVE sinon). |
partition_columns_in_data_file | Facultatif. Utilisé uniquement avec la stratégie de partitionnement HIVE. Indique à ClickHouse s’il doit s’attendre à ce que les colonnes de partitionnement soient écrites dans le fichier de données. Valeur par défaut : false. |
extra_credentials | Utilisez client_id et tenant_id pour l’authentification. Si extra_credentials est fourni, il est prioritaire sur account_name et account_key. |
Collections nommées
| Key | Required | Description |
|---|---|---|
container | Yes | Nom du conteneur. Correspond à l’argument positionnel container_name. |
blob_path | Yes | Chemin de fichier (avec caractères génériques facultatifs). Correspond à l’argument positionnel blobpath. |
connection_string | No* | Chaîne de connexion avec informations d’identification intégrées. *connection_string ou storage_account_url doit être fourni. |
storage_account_url | No* | URL du point de terminaison du compte de stockage. *connection_string ou storage_account_url doit être fourni. |
account_name | No | Obligatoire lors de l’utilisation de storage_account_url |
account_key | No | Obligatoire lors de l’utilisation de storage_account_url |
format | No | Format de fichier. |
compression | No | Type de compression. |
structure | No | Structure de la table. |
client_id | No | ID client pour l’authentification. |
tenant_id | No | ID de locataire pour l’authentification. |
Les noms des clés des collections nommées diffèrent des noms des arguments positionnels de la fonction :
container (et non container_name) et blob_path (et non blobpath).Valeur renvoyée
Exemples
Lecture avec le format storage_account_url
Lecture avec la syntaxe connection_string
Écriture avec partitionnement
Colonnes virtuelles
_path— Chemin du fichier. Type :LowCardinality(String)._file— Nom du fichier. Type :LowCardinality(String)._size— Taille du fichier en octets. Type :Nullable(UInt64). Si la taille du fichier est inconnue, la valeur estNULL._time— Date de dernière modification du fichier. Type :Nullable(DateTime). Si cette date est inconnue, la valeur estNULL.
Écriture partitionnée
Stratégie de partitionnement
INSERT.
WILDCARD : remplace le caractère générique {_partition_id} dans le chemin de fichier par la clé de partition réelle. Sélectionnée par défaut uniquement avec des paramètres compatibility antérieurs à 26.6 ; sinon, la valeur par défaut est HIVE (voir le paramètre file_like_engine_default_partition_strategy).
HIVE implémente le partitionnement de style Hive pour les lectures et les écritures. Les fichiers sont générés au format suivant : <prefix>/<key1=val1/key2=val2...>/<snowflakeid>.<toLower(file_format)>.
Exemple de stratégie de partitionnement HIVE
paramètre use_hive_partitioning
partition_strategy.
Lorsque le paramètre use_hive_partitioning est défini sur 1, ClickHouse détecte le partitionnement au format Hive dans le chemin (/name=value/) et permet d’utiliser les colonnes de partitionnement comme colonnes virtuelles dans la requête. Ces colonnes virtuelles auront les mêmes noms que dans le chemin partitionné.
Exemple
Utiliser une colonne virtuelle créée avec un partitionnement au format Hive
azureBlobStorage prend en charge les signatures d’accès partagé (SAS).
Un jeton Blob SAS contient toutes les informations nécessaires pour authentifier la requête, y compris le blob cible, les autorisations et la durée de validité. Pour construire une URL de blob, ajoutez le jeton SAS au point de terminaison du service Blob. Par exemple, si le point de terminaison est https://clickhousedocstest.blob.core.windows.net/, la requête devient :