Comments (8)
@shlomiapel
#
is the fragment identifier in url, which lead your blob name into two parts, path and fragment.
You could try to encode uri with specifying the field.
try this to encode uri:
web::uri::encode_uri(blobName, web::uri::components::path)
A better way to get blob referencing is:
container.get_blob_reference(blobName);
Or if you are trying to use block blob:
container.get_block_blob_reference(blobName);
from azure-storage-cpp.
i have already tried to encode the blob name using all component types and none work.
in addition the list fails to find the blob since there is an exception in case the blob name is not encoded and if encoded, the blob is not found.
from azure-storage-cpp.
i have switched to getting the blob reference through the container and not the uri and i succeed to create a blob with the correct name but now fail to list or delete it. in both cases i get an exception caused by authentication mismatch. even if i encode the name. if i encode using encode_data_string, there is no exception but the blob is not found.
BTW, deleting the created blob is now possible only through the azure explorer. it fails in the Azure web UI as well.
from azure-storage-cpp.
@shlomiapel
There is a bug found in authentication while blob name contains '&'. Will send a fix in PR ASAP. Then you can merge the fix and build the sdk from source code accordingly.
BTW, the blob name seem so different to other customer. Would you like to share your scenario with us? It will be much grateful if you can send me email for a brief introduction if you want. That will help us a lot.
from azure-storage-cpp.
@shlomiapel
PR #85 send to fix authentication fail for blob names contain '&'.
from azure-storage-cpp.
Thank you for the prompt update. what about using the class to refer to blobs which contain special characters in their name? i.e. using the Ctor:
WASTORAGE_API cloud_blob(storage_uri uri, storage_credentials credentials);
from azure-storage-cpp.
regarding blob naming methodology, we create blob names which include names of VMs in our setup.
This bug happened when testing VMs with special characters in their name. This can happen in a real customer setup where they have a VM names "Finance & IT" for example or "ITServer#3", etc...
from azure-storage-cpp.
@shlomiapel
Thanks for your contribution.
We have released 2.4.0, this bug is fixed in this release. You can try our newest release if you want.
from azure-storage-cpp.
Related Issues (20)
- undefined reference to azure::storage::cloud_storage_account::parse(std::string) HOT 4
- Azure SDK failed to write request body issue HOT 2
- question on catch exception for async operations HOT 9
- Any chance of a new (maintenance) release any time soon? HOT 1
- Upload of page blob with stream size >4MB fails silently HOT 5
- ARM64 support HOT 3
- HOWTO: Auto restart upload on broken connection.
- Feature request: Add support for upload / download progress reporting HOT 3
- download_to_stream() gives code "NotFoundError" even though blob exists HOT 1
- __Rootnode was nullptr (Exception in xtree only Debug configuration) HOT 8
- Do we really need boost locale? HOT 1
- Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. HOT 4
- Blob immutability policy support in azure-storage-cpp HOT 1
- crc64.cpp HOT 1
- When will this SDK be depcrecated? HOT 2
- Export of CRT functions causing linker to fail against code compiled with /CLR HOT 2
- This repo is missing important files
- undefined reference to web::uri
- azure_storage_cpp hangs with asynchronous calls in apache HOT 5
- Linking issue - Undefined reference while accessing azure storage with C++
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 azure-storage-cpp.