pub struct ObjectStorageConfig {
pub url: String,
pub extra: HashMap<String, String>,
}
Expand description
ObjectStorageConfig
JSON schema
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"description": "URL.\n\nThe following URL schemes are supported:\n\n* S3:\n- `s3://<bucket>/<path>`\n- `s3a://<bucket>/<path>`\n- `https://s3.<region>.amazonaws.com/<bucket>`\n- `https://<bucket>.s3.<region>.amazonaws.com`\n- `https://ACCOUNT_ID.r2.cloudflarestorage.com/bucket`\n* Google Cloud Storage:\n- `gs://<bucket>/<path>`\n* Microsoft Azure Blob Storage:\n- `abfs[s]://<container>/<path>` (according to [fsspec](https://github.com/fsspec/adlfs))\n- `abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>`\n- `abfs[s]://<file_system>@<account_name>.dfs.fabric.microsoft.com/<path>`\n- `az://<container>/<path>` (according to [fsspec](https://github.com/fsspec/adlfs))\n- `adl://<container>/<path>` (according to [fsspec](https://github.com/fsspec/adlfs))\n- `azure://<container>/<path>` (custom)\n- `https://<account>.dfs.core.windows.net`\n- `https://<account>.blob.core.windows.net`\n- `https://<account>.blob.core.windows.net/<container>`\n- `https://<account>.dfs.fabric.microsoft.com`\n- `https://<account>.dfs.fabric.microsoft.com/<container>`\n- `https://<account>.blob.fabric.microsoft.com`\n- `https://<account>.blob.fabric.microsoft.com/<container>`\n\nSettings derived from the URL will override other settings.",
"type": "string"
}
},
"additionalProperties": {
"description": "Additional options as key-value pairs.\n\nThe following keys are supported:\n\n* S3:\n- `access_key_id`: AWS Access Key.\n- `secret_access_key`: AWS Secret Access Key.\n- `region`: Region.\n- `default_region`: Default region.\n- `endpoint`: Custom endpoint for communicating with S3,\ne.g. `https://localhost:4566` for testing against a localstack\ninstance.\n- `token`: Token to use for requests (passed to underlying provider).\n- [Other keys](https://docs.rs/object_store/latest/object_store/aws/enum.AmazonS3ConfigKey.html#variants).\n* Google Cloud Storage:\n- `service_account`: Path to the service account file.\n- `service_account_key`: The serialized service account key.\n- `google_application_credentials`: Application credentials path.\n- [Other keys](https://docs.rs/object_store/latest/object_store/gcp/enum.GoogleConfigKey.html).\n* Microsoft Azure Blob Storage:\n- `access_key`: Azure Access Key.\n- `container_name`: Azure Container Name.\n- `account`: Azure Account.\n- `bearer_token_authorization`: Static bearer token for authorizing requests.\n- `client_id`: Client ID for use in client secret or Kubernetes federated credential flow.\n- `client_secret`: Client secret for use in client secret flow.\n- `tenant_id`: Tenant ID for use in client secret or Kubernetes federated credential flow.\n- `endpoint`: Override the endpoint for communicating with blob storage.\n- [Other keys](https://docs.rs/object_store/latest/object_store/azure/enum.AzureConfigKey.html#variants).\n\nOptions set through the URL take precedence over those set with these\noptions.",
"type": "string"
}
}
Fields§
§url: String
URL.
The following URL schemes are supported:
- S3:
s3://<bucket>/<path>
s3a://<bucket>/<path>
https://s3.<region>.amazonaws.com/<bucket>
https://<bucket>.s3.<region>.amazonaws.com
https://ACCOUNT_ID.r2.cloudflarestorage.com/bucket
- Google Cloud Storage:
gs://<bucket>/<path>
- Microsoft Azure Blob Storage:
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>
Settings derived from the URL will override other settings.
extra: HashMap<String, String>
Implementations§
Source§impl ObjectStorageConfig
impl ObjectStorageConfig
pub fn builder() -> ObjectStorageConfig
Trait Implementations§
Source§impl Clone for ObjectStorageConfig
impl Clone for ObjectStorageConfig
Source§fn clone(&self) -> ObjectStorageConfig
fn clone(&self) -> ObjectStorageConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ObjectStorageConfig
impl Debug for ObjectStorageConfig
Source§impl<'de> Deserialize<'de> for ObjectStorageConfig
impl<'de> Deserialize<'de> for ObjectStorageConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&ObjectStorageConfig> for ObjectStorageConfig
impl From<&ObjectStorageConfig> for ObjectStorageConfig
Source§fn from(value: &ObjectStorageConfig) -> Self
fn from(value: &ObjectStorageConfig) -> Self
Converts to this type from the input type.
Source§impl From<ObjectStorageConfig> for ObjectStorageConfig
impl From<ObjectStorageConfig> for ObjectStorageConfig
Source§fn from(value: ObjectStorageConfig) -> Self
fn from(value: ObjectStorageConfig) -> Self
Converts to this type from the input type.
Source§impl Serialize for ObjectStorageConfig
impl Serialize for ObjectStorageConfig
Source§impl TryFrom<ObjectStorageConfig> for ObjectStorageConfig
impl TryFrom<ObjectStorageConfig> for ObjectStorageConfig
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(value: ObjectStorageConfig) -> Result<Self, ConversionError>
fn try_from(value: ObjectStorageConfig) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for ObjectStorageConfig
impl RefUnwindSafe for ObjectStorageConfig
impl Send for ObjectStorageConfig
impl Sync for ObjectStorageConfig
impl Unpin for ObjectStorageConfig
impl UnwindSafe for ObjectStorageConfig
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
Mutably borrows from an owned value. Read more