Creating the GetExternalFileEncryptionProperties us part of task #26#39
Creating the GetExternalFileEncryptionProperties us part of task #26#39cristekdatum merged 4 commits intodev_phase2from
Conversation
|
Thanks for opening a pull request! If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project. Then could you also rename the pull request title in the following format? or See also: |
9a10225 to
1f7b74e
Compare
| factory = pe.CryptoFactory(kms_client_factory) | ||
| result = factory.external_file_encryption_properties(kms_config, external_encryption_config) | ||
|
|
||
| # Instead of isinstance, check class name and module dynamically because ExternalEncryptionConfiguration is not visbile |
There was a problem hiding this comment.
You mean ExternalFileEncryptionProperties?
There was a problem hiding this comment.
Also, is nothing accessible? If we have access to the result what does it contain?
There was a problem hiding this comment.
Yes, exactly — the ExternalFileEncryptionProperties class is not directly accessible in Python, only through the external_file_encryption_properties method in CryptoFactory. If you see that we’re going to need instances of ExternalFileEncryptionProperties in Python, we would need to add the class in python/pyarrow/parquet/encryption.py, but I don’t think so, since even FileEncryptionProperties doesn’t work that way.
| """Ensure new encryption_algorithm is accepted.""" | ||
|
|
||
| pe.ExternalEncryptionConfiguration( | ||
| footer_key="key", |
There was a problem hiding this comment.
There's no real test here, you're not asserting anything, just checking no exceptions are thrown I guess. I would remove this test and instead up in your external encryption config change one of the column's algorithms to EXTERNAL_DBPA_V1 and do an assert that it is correctly built
As part of #11 this PR is adding the python bindings to use the FileEncryptor