-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Experimental credential_provider
argument for scan_parquet
#19271
Conversation
credential_provider
argument for scan_parquet
|
||
#[derive(Debug)] | ||
pub struct PythonFunction(pub PyObject); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have moved PythonFunction
from polars-plan/../python_udf.rs
to polars-utils
for re-use
ec893be
to
0cecce0
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #19271 +/- ##
==========================================
- Coverage 80.11% 80.00% -0.11%
==========================================
Files 1526 1528 +2
Lines 209338 209740 +402
Branches 2418 2419 +1
==========================================
+ Hits 167707 167799 +92
- Misses 41081 41390 +309
- Partials 550 551 +1 ☔ View full report in Codecov by Sentry. |
ref Allow Overriding Object Store Credential Provider #18979
Adds an experimental
credential_provider
argument toscan_parquet
, which can accept a callable:Where the dictionary contains the credentials, and the optional 2nd value represents the expiry time as seconds since unix epoch, allowing us to avoid calling the function again until the credentials have expired (if it is
None
, then the credentials will be interpreted as to never expire).This enables using custom credential provisioning logic with cloud I/O scans, which allows for handling credential expiry.
Example for AWS
Example for GCP
Azure
I don't have an Azure environment to test on, but the returned dictionary should contain
{ 'bearer_token': '...' }
Todos for follow-up PRs
scan_/read_
functions