Struct object_store::azure::MicrosoftAzureBuilder
source · pub struct MicrosoftAzureBuilder { /* private fields */ }
Expand description
Configure a connection to Microsoft Azure Blob Storage container using the specified credentials.
§Example
let azure = MicrosoftAzureBuilder::new()
.with_account(ACCOUNT)
.with_access_key(ACCESS_KEY)
.with_container_name(BUCKET_NAME)
.build();
Implementations§
source§impl MicrosoftAzureBuilder
impl MicrosoftAzureBuilder
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new MicrosoftAzureBuilder
with default values.
sourcepub fn from_env() -> Self
pub fn from_env() -> Self
Create an instance of MicrosoftAzureBuilder
with values pre-populated from environment variables.
Variables extracted from environment:
- AZURE_STORAGE_ACCOUNT_NAME: storage account name
- AZURE_STORAGE_ACCOUNT_KEY: storage account master key
- AZURE_STORAGE_ACCESS_KEY: alias for AZURE_STORAGE_ACCOUNT_KEY
- AZURE_STORAGE_CLIENT_ID -> client id for service principal authorization
- AZURE_STORAGE_CLIENT_SECRET -> client secret for service principal authorization
- AZURE_STORAGE_TENANT_ID -> tenant id used in oauth flows
§Example
use object_store::azure::MicrosoftAzureBuilder;
let azure = MicrosoftAzureBuilder::from_env()
.with_container_name("foo")
.build();
sourcepub fn with_url(self, url: impl Into<String>) -> Self
pub fn with_url(self, url: impl Into<String>) -> Self
Parse available connection info form a well-known storage URL.
The supported url schemes are:
abfs[s]://<container>/<path>
(according to fsspec)abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>
abfs[s]://<file_system>@<account_name>.dfs.fabric.microsoft.com/<path>
az://<container>/<path>
(according to fsspec)adl://<container>/<path>
(according to fsspec)azure://<container>/<path>
(custom)https://<account>.dfs.core.windows.net
https://<account>.blob.core.windows.net
https://<account>.blob.core.windows.net/<container>
https://<account>.dfs.fabric.microsoft.com
https://<account>.dfs.fabric.microsoft.com/<container>
https://<account>.blob.fabric.microsoft.com
https://<account>.blob.fabric.microsoft.com/<container>
Note: Settings derived from the URL will override any others set on this builder
§Example
use object_store::azure::MicrosoftAzureBuilder;
let azure = MicrosoftAzureBuilder::from_env()
.with_url("abfss://file_system@account.dfs.core.windows.net/")
.build();
sourcepub fn with_config(self, key: AzureConfigKey, value: impl Into<String>) -> Self
pub fn with_config(self, key: AzureConfigKey, value: impl Into<String>) -> Self
Set an option on the builder via a key - value pair.
sourcepub fn get_config_value(&self, key: &AzureConfigKey) -> Option<String>
pub fn get_config_value(&self, key: &AzureConfigKey) -> Option<String>
Get config value via a AzureConfigKey
.
§Example
use object_store::azure::{MicrosoftAzureBuilder, AzureConfigKey};
let builder = MicrosoftAzureBuilder::from_env()
.with_account("foo");
let account_name = builder.get_config_value(&AzureConfigKey::AccountName).unwrap_or_default();
assert_eq!("foo", &account_name);
sourcepub fn with_account(self, account: impl Into<String>) -> Self
pub fn with_account(self, account: impl Into<String>) -> Self
Set the Azure Account (required)
sourcepub fn with_container_name(self, container_name: impl Into<String>) -> Self
pub fn with_container_name(self, container_name: impl Into<String>) -> Self
Set the Azure Container Name (required)
sourcepub fn with_access_key(self, access_key: impl Into<String>) -> Self
pub fn with_access_key(self, access_key: impl Into<String>) -> Self
Set the Azure Access Key (required - one of access key, bearer token, or client credentials)
Set a static bearer token to be used for authorizing requests
Set a client secret used for client secret authorization
sourcepub fn with_client_id(self, client_id: impl Into<String>) -> Self
pub fn with_client_id(self, client_id: impl Into<String>) -> Self
Sets the client id for use in client secret or k8s federated credential flow
sourcepub fn with_client_secret(self, client_secret: impl Into<String>) -> Self
pub fn with_client_secret(self, client_secret: impl Into<String>) -> Self
Sets the client secret for use in client secret flow
sourcepub fn with_tenant_id(self, tenant_id: impl Into<String>) -> Self
pub fn with_tenant_id(self, tenant_id: impl Into<String>) -> Self
Sets the tenant id for use in client secret or k8s federated credential flow
Set query pairs appended to the url for shared access signature authorization
sourcepub fn with_credentials(self, credentials: AzureCredentialProvider) -> Self
pub fn with_credentials(self, credentials: AzureCredentialProvider) -> Self
Set the credential provider overriding any other options
sourcepub fn with_use_emulator(self, use_emulator: bool) -> Self
pub fn with_use_emulator(self, use_emulator: bool) -> Self
Set if the Azure emulator should be used (defaults to false)
sourcepub fn with_endpoint(self, endpoint: String) -> Self
pub fn with_endpoint(self, endpoint: String) -> Self
Override the endpoint used to communicate with blob storage
Defaults to https://{account}.blob.core.windows.net
By default, only HTTPS schemes are enabled. To connect to an HTTP endpoint, enable
Self::with_allow_http
.
sourcepub fn with_use_fabric_endpoint(self, use_fabric_endpoint: bool) -> Self
pub fn with_use_fabric_endpoint(self, use_fabric_endpoint: bool) -> Self
Set if Microsoft Fabric url scheme should be used (defaults to false)
When disabled the url scheme used is https://{account}.blob.core.windows.net
When enabled the url scheme used is https://{account}.dfs.fabric.microsoft.com
Note: Self::with_endpoint
will take precedence over this option
sourcepub fn with_allow_http(self, allow_http: bool) -> Self
pub fn with_allow_http(self, allow_http: bool) -> Self
Sets what protocol is allowed
If allow_http
is :
- false (default): Only HTTPS are allowed
- true: HTTP and HTTPS are allowed
Sets an alternative authority host for OAuth based authorization
Common hosts for azure clouds are defined in authority_hosts.
Defaults to https://login.microsoftonline.com
sourcepub fn with_retry(self, retry_config: RetryConfig) -> Self
pub fn with_retry(self, retry_config: RetryConfig) -> Self
Set the retry configuration
sourcepub fn with_proxy_url(self, proxy_url: impl Into<String>) -> Self
pub fn with_proxy_url(self, proxy_url: impl Into<String>) -> Self
Set the proxy_url to be used by the underlying client
sourcepub fn with_proxy_ca_certificate(
self,
proxy_ca_certificate: impl Into<String>
) -> Self
pub fn with_proxy_ca_certificate( self, proxy_ca_certificate: impl Into<String> ) -> Self
Set a trusted proxy CA certificate
sourcepub fn with_proxy_excludes(self, proxy_excludes: impl Into<String>) -> Self
pub fn with_proxy_excludes(self, proxy_excludes: impl Into<String>) -> Self
Set a list of hosts to exclude from proxy connections
sourcepub fn with_client_options(self, options: ClientOptions) -> Self
pub fn with_client_options(self, options: ClientOptions) -> Self
Sets the client options, overriding any already set
sourcepub fn with_msi_endpoint(self, msi_endpoint: impl Into<String>) -> Self
pub fn with_msi_endpoint(self, msi_endpoint: impl Into<String>) -> Self
Sets the endpoint for acquiring managed identity token
sourcepub fn with_federated_token_file(
self,
federated_token_file: impl Into<String>
) -> Self
pub fn with_federated_token_file( self, federated_token_file: impl Into<String> ) -> Self
Sets a file path for acquiring azure federated identity token in k8s
requires client_id
and tenant_id
to be set
sourcepub fn with_use_azure_cli(self, use_azure_cli: bool) -> Self
pub fn with_use_azure_cli(self, use_azure_cli: bool) -> Self
Set if the Azure Cli should be used for acquiring access token
sourcepub fn with_skip_signature(self, skip_signature: bool) -> Self
pub fn with_skip_signature(self, skip_signature: bool) -> Self
If enabled, MicrosoftAzure
will not fetch credentials and will not sign requests
This can be useful when interacting with public containers
sourcepub fn with_disable_tagging(self, ignore: bool) -> Self
pub fn with_disable_tagging(self, ignore: bool) -> Self
If set to true
will ignore any tags provided to put_opts
sourcepub fn build(self) -> Result<MicrosoftAzure>
pub fn build(self) -> Result<MicrosoftAzure>
Configure a connection to container with given name on Microsoft Azure Blob store.
Trait Implementations§
source§impl Clone for MicrosoftAzureBuilder
impl Clone for MicrosoftAzureBuilder
source§fn clone(&self) -> MicrosoftAzureBuilder
fn clone(&self) -> MicrosoftAzureBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more