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 moresource§impl Debug for MicrosoftAzureBuilder
impl Debug for MicrosoftAzureBuilder
source§impl Default for MicrosoftAzureBuilder
impl Default for MicrosoftAzureBuilder
source§fn default() -> MicrosoftAzureBuilder
fn default() -> MicrosoftAzureBuilder
Auto Trait Implementations§
impl !Freeze for MicrosoftAzureBuilder
impl !RefUnwindSafe for MicrosoftAzureBuilder
impl Send for MicrosoftAzureBuilder
impl Sync for MicrosoftAzureBuilder
impl Unpin for MicrosoftAzureBuilder
impl !UnwindSafe for MicrosoftAzureBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more