pub struct S3Backend { /* private fields */ }Expand description
AWS S3 storage backend
This backend uses OpenDAL’s S3 service to list objects from S3 buckets.
§Authentication
Requires AWS credentials. Can use:
- Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
- IAM roles (when running on EC2/ECS)
- Explicit credentials passed to constructor
§Example
ⓘ
use sqlite_vtable_opendal::backends::s3::S3Backend;
use sqlite_vtable_opendal::types::QueryConfig;
let backend = S3Backend::new("my-bucket", "us-east-1")
.with_credentials("access_key", "secret_key");
let config = QueryConfig::default();
let files = backend.list_files(&config).await?;Implementations§
Source§impl S3Backend
impl S3Backend
Sourcepub fn with_credentials(
self,
access_key_id: impl Into<String>,
secret_access_key: impl Into<String>,
) -> Self
pub fn with_credentials( self, access_key_id: impl Into<String>, secret_access_key: impl Into<String>, ) -> Self
Set AWS credentials explicitly
§Arguments
access_key_id- AWS access key IDsecret_access_key- AWS secret access key
§Example
use sqlite_vtable_opendal::backends::s3::S3Backend;
let backend = S3Backend::new("my-bucket", "us-east-1")
.with_credentials("AKIAIOSFODNN7EXAMPLE", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY");Trait Implementations§
Source§impl StorageBackend for S3Backend
impl StorageBackend for S3Backend
Source§fn list_files<'life0, 'life1, 'async_trait>(
&'life0 self,
config: &'life1 QueryConfig,
) -> Pin<Box<dyn Future<Output = Result<Vec<FileMetadata>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_files<'life0, 'life1, 'async_trait>(
&'life0 self,
config: &'life1 QueryConfig,
) -> Pin<Box<dyn Future<Output = Result<Vec<FileMetadata>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List files from the storage backend according to the query configuration Read more
Source§fn backend_name(&self) -> &'static str
fn backend_name(&self) -> &'static str
Get the name of this backend (for logging/debugging)
Auto Trait Implementations§
impl Freeze for S3Backend
impl RefUnwindSafe for S3Backend
impl Send for S3Backend
impl Sync for S3Backend
impl Unpin for S3Backend
impl UnsafeUnpin for S3Backend
impl UnwindSafe for S3Backend
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
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>
Converts
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>
Converts
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