-
Notifications
You must be signed in to change notification settings - Fork 252
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
[Tracking Issue] Create/Convert ADLS Gen2 (data_lake) using Pipeline Architecture #496
Comments
I just opened a PR for all the file system operations (#597), maybe that should be referenced in this Issue? |
@thovoll - with #597 and #610 merged, we should be able to check some of these boxes ;)
|
Not sure hot @thovoll views this, but I had a look at other SDKs, as well as blob over here, and lease seems to be consistently implemented using a dedicated LeaseClient. So I think file and directory client could be considered complete in terms of exposed functionality. |
If a |
This is a tracking issue for creating/converting ADLS Gen2 (data_lake) operations using the pipeline architecture.
Overview
Previous to the pipeline architecture, each operation was independently controlled meaning there was no central way to control the way operations were performed.
The pipeline architecture on the other hand allows users of the SDK to create pipelines through which outgoing requests and incoming responses are processed. The pipeline are composed of "policies" which can both change the outgoing request and the incoming response. Policies are usually either on a "per-request" basis (meaning they are called only once per operation) or "per-retry" (meaning they are applied every time an operation is attempted).
Examples of policies are the
TelemetryPolicy
which adds various telemetry headers to the request and the retry policy which checks whether an incoming response was successful and if it detects a transient failure, retries the request.Converting to the Architecture
For an example of adding the first operation using the pipeline architecture, take a look at #358 and its follow-ups #451 and #491.
Once the basic structure is established, adding new operations is easier: #495.
No existing operations have been converted yet, but the basic steps are shown in the CosmosDB tracking issue: #290.
Todos
Files [datalake] Add DirectoryClient and FileClient #610
create_file
add "create path" operation (files only for now) to Azure Storage data_lake (using Pipeline architecture) #358, data_lake/create_path improvements #451, Remove traits AsDataLakeClient and AsFileSystemClient #491create_file_if_not_exists
Add more data_lake operations #495rename_file
Add more data_lake operations #495rename_file_if_not_exists
Add rename_file_if_not_exists operation to data_lake #506delete_file
Add 'delete file' operation to data_lake. #512lease_file
get_file_properties
get_file_status
get_file_access_control_list
read_file
append_to_file
Add more data_lake operations #495flush_file
Add more data_lake operations #495set_file_properties
set_file_access_control_list
Directories [datalake] Add DirectoryClient and FileClient #610
create_directory
create_directory_if_not_exists
rename_directory
rename_directory_if_not_exists
delete_directory
get_directory_properties
get_directory_status
get_directory_access_control_list
lease_directory
list_directory
set_directory_properties
set_directory_access_control_list
File Systems [datalake] Migrate file system operations to pipeline architecture #597
list_file_systems
create_file_system
delete_filesystem
get_file_system_properties
set_file_system_properties
Related Issues
The text was updated successfully, but these errors were encountered: