mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-10 01:25:21 +00:00
Fix and test
This commit is contained in:
parent
c701633955
commit
ef48b90bca
@ -109,8 +109,6 @@ std::unique_ptr<T> getAzureBlobStorageClientWithAuth(
|
||||
std::string connection_str;
|
||||
if (config.has(config_prefix + ".connection_string"))
|
||||
connection_str = config.getString(config_prefix + ".connection_string");
|
||||
else if (config.has(config_prefix + ".endpoint"))
|
||||
connection_str = config.getString(config_prefix + ".endpoint");
|
||||
|
||||
if (!connection_str.empty())
|
||||
return getClientWithConnectionString<T>(connection_str, container_name);
|
||||
@ -134,14 +132,15 @@ std::unique_ptr<BlobContainerClient> getAzureBlobContainerClient(
|
||||
{
|
||||
auto endpoint = processAzureBlobStorageEndpoint(config, config_prefix);
|
||||
auto container_name = endpoint.container_name;
|
||||
auto final_url = endpoint.storage_account_url
|
||||
+ (endpoint.storage_account_url.back() == '/' ? "" : "/")
|
||||
+ container_name;
|
||||
auto final_url = container_name.empty()
|
||||
? endpoint.storage_account_url
|
||||
: (std::filesystem::path(endpoint.storage_account_url) / container_name).string();
|
||||
|
||||
if (endpoint.container_already_exists.value_or(false))
|
||||
return getAzureBlobStorageClientWithAuth<BlobContainerClient>(final_url, container_name, config, config_prefix);
|
||||
|
||||
auto blob_service_client = getAzureBlobStorageClientWithAuth<BlobServiceClient>(endpoint.storage_account_url, container_name, config, config_prefix);
|
||||
auto blob_service_client = getAzureBlobStorageClientWithAuth<BlobServiceClient>(
|
||||
endpoint.storage_account_url, container_name, config, config_prefix);
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -601,3 +601,34 @@ def test_big_insert(cluster):
|
||||
assert max_single_part_upload_size == block.size
|
||||
id += 1
|
||||
assert checked
|
||||
|
||||
|
||||
def test_endpoint(cluster):
|
||||
node = cluster.instances[NODE_NAME]
|
||||
account_name = "devstoreaccount1"
|
||||
container_name = "cont"
|
||||
data_prefix = "data_prefix"
|
||||
port = cluster.azurite_port
|
||||
|
||||
container_client = cluster.blob_service_client.get_container_client(container_name)
|
||||
container_client.create_container()
|
||||
|
||||
node.query(
|
||||
f"""
|
||||
DROP TABLE IF EXISTS test SYNC;
|
||||
|
||||
CREATE TABLE test (a Int32)
|
||||
ENGINE = MergeTree() ORDER BY tuple()
|
||||
SETTINGS disk = disk(
|
||||
type = azure_blob_storage,
|
||||
endpoint = 'http://azurite1:{port}/{account_name}/{container_name}/{data_prefix}',
|
||||
account_name = 'devstoreaccount1',
|
||||
account_key = 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==',
|
||||
container_already_exists = 1,
|
||||
skip_access_check = 0);
|
||||
|
||||
INSERT INTO test SELECT number FROM numbers(10);
|
||||
"""
|
||||
)
|
||||
|
||||
assert 10 == int(node.query("SELECT count() FROM test"))
|
||||
|
Loading…
Reference in New Issue
Block a user