EncryptionFactory

Trait EncryptionFactory 

Source
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§

Source

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.

Source

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.

Implementors§