Comments (9)
Note that you can add the header in to the presigned url. The azure implementation inside aio-lib-files can do this when it presigns a PUT, as it only deals with blobs here. This makes it transparent and backwards compatible.
We do the same in AEM.
from aio-lib-files.
I wonder if the CDN could add the x-ms-blob-type: BlockBlob
header to PUT requests on behalf of the customer.
from aio-lib-files.
JIRA issue created: https://jira.corp.adobe.com/browse/ACNA-941
from aio-lib-files.
Thanks for the report, @bobvanmanen !
Extra thoughts from my side for design purpose:
- Every API change must not break backwards-compatibility and abstracted implementation/vendor-specific details
- While your suggestion to manage the header at CDN level looks good in regards with the previous point, it might be an issue if we need to provide developers the possibility to generate URLs pointing directly to the storage domain w/o CDN delivery (e.g. for namespace to namespace exchange of the payload reference)
from aio-lib-files.
@alexkli The Azure SAS only allows to specify few response headers, in this case we will need to support request headers, so it won't be possible to fix this in sdk. ref sas doc
Let me know if I am wrong here.
from aio-lib-files.
Meanwhile, we will release a config change at CDN level as discussed above in the ticket.
If we confirm there's a way to make it at SDK library level, we'll implement it as a second step to automatically provide a similar support in both OOTB and Bring Your Own storages.
from aio-lib-files.
@bobvanmanen the fix is in place at CDN level, could you please give it a new try and confirm that your requests are executed as expected?
from aio-lib-files.
@meryllblanchet are these presigned URLs always going through a CDN? For clients inside data centers (which is the case for Nui) this will be slower than direct Azure BS or AWS S3 URLs.
from aio-lib-files.
@alexkli for now yes. We're waiting on first concrete performance feedback (e.g. Nui workers) to work on and provide optimization features.
FYI, we have #65 in case this will be effectively needed, but we are also considering a tighter integration between the SDK and Runtime capabilities to serve the files (with or without CDN) in a more seamless manner to the end-users/systems.
from aio-lib-files.
Related Issues (20)
- update node engine support to 12 or greater HOT 2
- test failures with new [email protected] dependency HOT 1
- codecov in Github Action needs to be updated HOT 1
- Typescript error
- Support private-only container for BYO credentials HOT 1
- document what `public` means for files HOT 1
- document expiryInSeconds
- delete should accept a list of files to delete HOT 2
- allow some calls to use wildcard glob matching to search HOT 2
- append mode HOT 5
- List should support pagination with a documented default and max limit HOT 1
- azure v12 should have fixed getAccessPolicy, replace custom code with azure sdk call HOT 2
- Support presignUrls on public files or explicitely throw an error HOT 3
- presignUrl with write permissions and BYO credentials fail on PUT Blob HOT 1
- Introduce a `move` function HOT 10
- Generated presigned URLs do not work in the browser HOT 4
- presignedUrl file path must already exist HOT 1
- Azure blob store on-the-fly gzip compression HOT 3
- Allow all origins for presigned URL HOT 10
- CDN domain should be returned by the TVM HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aio-lib-files.