Azure/azure-sdk-for-python

Batch create presign URI

filereadAndrew opened this issue · 5 comments

Is your feature request related to a problem? Please describe.
We migrated our code base over from aws to azure, and one thing that was really nice about aws was the ability to quickly generate presigned storage uri's locally which made batch processing them really easy. However, in azure land we have to roundtrip the request to generate a presign uri, and furthermore there seemingly is no batch operation supported. So any api requests that we need to generate multiple presigned urls which used to be a millisecond operation is now a really expensive 30sec to multiple minute operation.

Describe the solution you'd like
I would like to be able to submit multiple unsigned urls and receive a batch of presigned urls, or just be able process the urls locally with some cryptographic operation.

Describe alternatives you've considered
Solutions we have considered has been to severely over-engineer parts of our frontend to implement JIT logic to grab urls when we need them causing severe loading times.

Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @jalauzon-msft @vincenttran-msft.

Hi @filereadAndrew, I'm not too familiar with aws pre-signed urls but if I understand correctly, I believe the equivalent in Azure is Shared Access Signature (SAS). You can generate a SAS URL with specific permissions to specific resources that expire after a certain time. SAS signatures/URLs are something you generate locally on the client-side so I'm not sure what roundtrip you are referring to needing.

In the Python SDK for example, you can generate a SAS using generate_blob_sas and append that to a corresponding Blob URL. generate_blob_sas does not make any network calls as the SAS is created locally. There are also generate_container_sas and generate_account_sas which can be used.

Hopefully that helps but let me know if you have any specific questions.