Skip to content

add "create file" operation to Azure Storage data_lake (using Pipeline architecture) #356

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

Closed
thovoll opened this issue Sep 1, 2021 · 7 comments
Labels
Data Lake Data Lake Storage Storage Storage Service (Queues, Blobs, Files)

Comments

@thovoll
Copy link
Contributor

thovoll commented Sep 1, 2021

https://docs.microsoft.com/en-us/rest/api/storageservices/datalakestoragegen2/path/create

@thovoll
Copy link
Contributor Author

thovoll commented Sep 1, 2021

Continuing #290

@thovoll
Copy link
Contributor Author

thovoll commented Sep 2, 2021

@heaths @rylev I'd like to get some early input on how to model the Azure Storage data_lake operations for create/rename file/directory. These operations are all combined into a single REST API: https://docs.microsoft.com/en-us/rest/api/storageservices/datalakestoragegen2/path/create

I'm thinking to expose these as 4 different operations in the Rust SDK. I'm also thinking to expose 'fail if the destination already exists' at a higher level of abstraction than 'use a conditional request with If-None-Match: "*"'.

Does this sound ok, and are there examples of other Azure Rust SDK crates that do this kind of thing already?

@thovoll
Copy link
Contributor Author

thovoll commented Sep 2, 2021

Found that the .Net SDK for Azure Storage uses a generated Path REST client, and then layers a File client and Directory client on top, exposing higher level concepts such as 'rename'.

Is there an example of using an underlying generated REST client in the Rust SDK?

@rylev
Copy link
Contributor

rylev commented Sep 7, 2021

We don't currently generate code for our "hand rolled" SDKs (i.e., the ones in the sdk directory). If you take a look into the cosmos crate you'll notice that we build the clients up from scratch. Eventually we will want to try to generate the boilerplate rest calls from metadata, but for most services that's not possible because the metadata describing those APIs does not exist.

@thovoll
Copy link
Contributor Author

thovoll commented Sep 8, 2021

Thanks. Any thoughts on the SDK design I proposed for the heavily overloaded "create path" REST call?

@cataggar cataggar added the Storage Storage Service (Queues, Blobs, Files) label Oct 26, 2021
@thovoll
Copy link
Contributor Author

thovoll commented Nov 4, 2021

It has become clear that we should match the .Net SDK as much as possible with respect to naming and structure, so I will eventually create a File and Directory client.

@thovoll
Copy link
Contributor Author

thovoll commented Nov 4, 2021

PRs: #358, #451, #491

@thovoll thovoll added the Data Lake Data Lake Storage label Nov 4, 2021
@thovoll thovoll changed the title add "create path" operation to Azure Storage data_lake (using Pipeline architecture) add "create file" operation to Azure Storage data_lake (using Pipeline architecture) Nov 6, 2021
@thovoll thovoll closed this as completed Nov 6, 2021
@github-actions github-actions bot locked and limited conversation to collaborators Feb 4, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Data Lake Data Lake Storage Storage Storage Service (Queues, Blobs, Files)
Projects
None yet
Development

No branches or pull requests

3 participants