PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::storage::azure_storage_config Struct Reference

Configuration for Azure Blob storage. More...

#include <azure_blob_storage.h>

Collaboration diagram for kcenon::pacs::storage::azure_storage_config:
Collaboration graph

Public Attributes

std::string container_name
 Azure Blob container name for storing DICOM files.
 
std::string connection_string
 Connection string for Azure Storage account Format: DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...
 
std::optional< std::string > endpoint_suffix
 Optional endpoint suffix for sovereign clouds (e.g., "core.chinacloudapi.cn") If empty, uses the default "core.windows.net".
 
std::optional< std::string > endpoint_url
 Optional custom endpoint URL for Azurite emulator If set, this takes precedence over connection_string endpoint.
 
std::size_t block_upload_threshold = 100 * 1024 * 1024
 Threshold for block blob upload in bytes (default: 100MB) Files larger than this will use block blob upload with multiple blocks.
 
std::size_t block_size = 4 * 1024 * 1024
 Block size for block blob upload in bytes (default: 4MB) Azure allows up to 4000MB per block (API version 2019-12-12+)
 
std::size_t max_concurrency = 8
 Maximum number of concurrent upload threads.
 
std::uint32_t connect_timeout_ms = 3000
 Connection timeout in milliseconds.
 
std::uint32_t request_timeout_ms = 60000
 Request timeout in milliseconds.
 
bool use_https = true
 Enable HTTPS (default: true)
 
std::string access_tier {"Hot"}
 Blob tier (Hot, Cool, Archive)
 
std::uint32_t max_retries = 3
 Retry count for transient failures.
 
std::uint32_t retry_delay_ms = 1000
 Initial retry delay in milliseconds.
 

Detailed Description

Configuration for Azure Blob storage.

Contains all settings needed to connect to Azure Blob Storage service. Supports both connection string and SAS token authentication.

Definition at line 41 of file azure_blob_storage.h.

Member Data Documentation

◆ access_tier

std::string kcenon::pacs::storage::azure_storage_config::access_tier {"Hot"}

Blob tier (Hot, Cool, Archive)

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 78 of file azure_blob_storage.h.

78{"Hot"};

◆ block_size

std::size_t kcenon::pacs::storage::azure_storage_config::block_size = 4 * 1024 * 1024

Block size for block blob upload in bytes (default: 4MB) Azure allows up to 4000MB per block (API version 2019-12-12+)

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 63 of file azure_blob_storage.h.

◆ block_upload_threshold

std::size_t kcenon::pacs::storage::azure_storage_config::block_upload_threshold = 100 * 1024 * 1024

Threshold for block blob upload in bytes (default: 100MB) Files larger than this will use block blob upload with multiple blocks.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 59 of file azure_blob_storage.h.

◆ connect_timeout_ms

std::uint32_t kcenon::pacs::storage::azure_storage_config::connect_timeout_ms = 3000

Connection timeout in milliseconds.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 69 of file azure_blob_storage.h.

◆ connection_string

std::string kcenon::pacs::storage::azure_storage_config::connection_string

Connection string for Azure Storage account Format: DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 47 of file azure_blob_storage.h.

◆ container_name

std::string kcenon::pacs::storage::azure_storage_config::container_name

◆ endpoint_suffix

std::optional<std::string> kcenon::pacs::storage::azure_storage_config::endpoint_suffix

Optional endpoint suffix for sovereign clouds (e.g., "core.chinacloudapi.cn") If empty, uses the default "core.windows.net".

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 51 of file azure_blob_storage.h.

◆ endpoint_url

std::optional<std::string> kcenon::pacs::storage::azure_storage_config::endpoint_url

Optional custom endpoint URL for Azurite emulator If set, this takes precedence over connection_string endpoint.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 55 of file azure_blob_storage.h.

◆ max_concurrency

std::size_t kcenon::pacs::storage::azure_storage_config::max_concurrency = 8

Maximum number of concurrent upload threads.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 66 of file azure_blob_storage.h.

◆ max_retries

std::uint32_t kcenon::pacs::storage::azure_storage_config::max_retries = 3

Retry count for transient failures.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 81 of file azure_blob_storage.h.

◆ request_timeout_ms

std::uint32_t kcenon::pacs::storage::azure_storage_config::request_timeout_ms = 60000

◆ retry_delay_ms

std::uint32_t kcenon::pacs::storage::azure_storage_config::retry_delay_ms = 1000

Initial retry delay in milliseconds.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 84 of file azure_blob_storage.h.

◆ use_https

bool kcenon::pacs::storage::azure_storage_config::use_https = true

The documentation for this struct was generated from the following file: