pub trait EncryptionFactory:
Send
+ Sync
+ Debug
+ 'static {
// Required methods
fn get_file_encryption_properties<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
config: &'life1 EncryptionFactoryOptions,
schema: &'life2 SchemaRef,
file_path: &'life3 Path,
) -> Pin<Box<dyn Future<Output = Result<Option<FileEncryptionProperties>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn get_file_decryption_properties<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
config: &'life1 EncryptionFactoryOptions,
file_path: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<Option<FileDecryptionProperties>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}
Available on crate feature
parquet_encryption
only.Expand description
Trait for types that generate file encryption and decryption properties to
write and read encrypted Parquet files.
This allows flexibility in how encryption keys are managed, for example, to
integrate with a user’s key management service (KMS).
For example usage, see the parquet_encrypted_with_kms
example.
Required Methods§
Sourcefn get_file_encryption_properties<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
config: &'life1 EncryptionFactoryOptions,
schema: &'life2 SchemaRef,
file_path: &'life3 Path,
) -> Pin<Box<dyn Future<Output = Result<Option<FileEncryptionProperties>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn get_file_encryption_properties<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
config: &'life1 EncryptionFactoryOptions,
schema: &'life2 SchemaRef,
file_path: &'life3 Path,
) -> Pin<Box<dyn Future<Output = Result<Option<FileEncryptionProperties>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Generate file encryption properties to use when writing a Parquet file.
Sourcefn get_file_decryption_properties<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
config: &'life1 EncryptionFactoryOptions,
file_path: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<Option<FileDecryptionProperties>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_file_decryption_properties<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
config: &'life1 EncryptionFactoryOptions,
file_path: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<Option<FileDecryptionProperties>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Generate file decryption properties to use when reading a Parquet file.