Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 1 year ago.
Improve this question
I have a resource group with Cognitive Services and a storage account with a blob container. They only accept connections from a selected IP range. The blob is public (for now).
I can do operations with Cognitive Services on publicly available files and get it to work. I can also access my blob in my browser. But once i try to pass that same url in an operation in Cognitive Services i get "Bad request and the following error.
"code": "InvalidImageURL",
"message": "Failed to download the image from the submitted URL. The URL may either be invalid or the server hosting the image is experiencing some technical difficulties."
I have given my Cognitive Services an Azure role as Storage Blob Data Reader. If i check Access control for the storage account its listed my Cognitive Services resource as Storage Blob Data Reader.
If i allow all networks to use the services its working fine, but thats not an option with production data. Seems this ip range is somehow blocking Cognitive Services resource to access my storage account.
What am I missing to be able to make them work together?
Thanks in advance!
Related
This question already has answers here:
How to download a file to browser from Azure Blob Storage
(4 answers)
Closed 4 years ago.
In my application hosted in Azure App Service, we upload some images which are stored directly to Azure blob.
After sometime we can view images from application but anyhow user fetch blob URL so he/she can simply check images without application.
Is there any way like we can view images from my application only not from direct URL.
I tried keeping it private then was not visible to user from myapplication.
Is there some way so we can store these images securely so authentic users from my application can access or view?
No, there is no way to restrict Azure Storage API's to only allow your application to access content and not user if user happens to get the blob link. I don't think adding CDN into the mix would change that either since content from CDN can also be accessed via an endpoint.
If you have a two tier architecture with Web portal and Web api, then your web API can fetch the content from Azure Storage upon user request and then stream the content as http response message to your web portal. User this way can only see final content as image without knowing where image came from.
But this can make your application slow because of an extra hop to get content from web api. The whole point of web portal having the link to blob is to get it faster.
Regarding security, if the blobs are open to read then anyone can read them. If you want to restrict to certain users then you have to come up with logic in your web app to issues SAS tokens to users for a limited time.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 6 years ago.
Improve this question
I have a VM that currently has the OS disk in Premium Storage -- I'd prefer that it use Standard Storage and my data disks use Premium Storage. That said, is there an easy method to move the existing VHD from Premium to Standard?
You will need to
delete the VM while preserving the disks
use AzCopy to copy the OS disk to Standard Storage
create a Premium Storage capable VM using the copied disk
This may be more trouble than it is worth. You can likely script it by downloading the configuration prior to deletion, doing the copy, then modify the configuration and create the new VM.
Jdixon04,
We published an article which outlines step by step guide to migrate to Premium Storage here (https://azure.microsoft.com/en-us/documentation/articles/storage-migration-to-premium-storage/). There is also a sample script at the end of the article if you wish to automate the flow. If you have multiple VMs to migrate, automation through PowerShell scripts will be helpful. Let us know if you need additional information.
Aung
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I have a website in Azure which advertises my software. Users can download my software file which is about 100Mb. Right now I'm putting this file in a folder in the Visual Studio project as a content file and publishing it along with the other project files.
Would moving the download files to Azure Blob Storage give faster download speeds than my current approach?
Geo-redundant blobs are replicated to a secondary datacentre, but unless you use "Read-Access Geo-Redundant Storage" the blob will only be served from the primary data centre. With RA-GRS you can optionally access the secondary via a different domain, but this will not improve latency for users outside your region.
For best download performance and scalability, store your file in blob storage and cache it close to your users with Azure CDN.
With the file in blob storage you can also get it geo-replicated, so that it's closer to your user. You can also setup a CDN endpoint to that blob storage.
And it will at least make your deployment a lost faster since you will not need to upload the 100MB file ;) (yes, I know, web deploy does not upload unmodified files, so that's not always the case)
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
Please correct my wrongs. From my reading on the topic so far, it appears to me that both, Azure Blob Storage and File Service offer the ability to store file(s) and folder(s) (I understand that blobs can store any binary object, but any serialized binary stream is just a file at the end of the day) in a hierarchical structure that mimics a file system.
Only the API to access them are slightly different in that the File Service allows you to query the source using Win32 File I/O like functions as well in addition to using the REST API.
Why would you choose one over another if you wanted your application to store some files owned by your application's users?
A few items for your question:
You can't mount Azure Blob Storage as a native share on a virtual machine.
Azure Blob Storage isn't hierarchical beyond containers. You can add files that have / or \ characters in them that are interpreted as folders by many apps that read blob storage.
Azure File Service provides a SMB protocol interface to Azure Blob Storage which solves the problem with (1).
If you are developing a new application then leverage the native Azure API directly into Blob Storage.
If you are porting an existing application that needs to share files then use Azure File Service.
Note that there are a few SMB protocol features that Azure File Service doesn't support.
A few other things to consider:
Pricing: Blob storage is much cheaper than file storage.
Portability: With blob storage if you decide to migrate to a diff platform in future you may have to change your app code but with File storage you can migrate your app to any other platform that supports SMB (assuming you are using native file system APIs in your app)
Azure File Service is targeted more to internal file handling. With internal I mean mounting a directory to a VM in the cloud or on-premises so it can be loaded in you back-end (SMB based protocol).
For sharing files with end-users (web or apps) it probably makes more sense to use blob storage as this simplifies downloading through a URL and securing download through Shared Access Signatures.
This post shares more details on the comparison (at the bottom): https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/12/introducing-microsoft-azure-file-service/
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm looking for the best way to prevent accidental deletion by IT - perhaps copying to disk or a separate Azure Storage account or Amazon. What tools can do this? Redgate Cloud Services seems like the closest fit for what I want but it seems to require config per container. I know of some other tools like Cloud Storage Studio and Azure Sync Tool exist but I don't think they support scheduled backups of blob storage.
Windows Azure storage is backed up Geo-replication which means there are total 6 copies of your data at any given time. There is no built-in service available in Windows Azure to backup data on Azure Storage to outside Azure Storage or user defined location.
Windows Azure Azure is manged by RESTful interface so 3rd party vendors have created application for such purposes. Besides above I had chance to use Gladinet Cloud Backup solution could be useful in your case. Based on my experience, there are a few backup tools available however and not a single one perfect to match everybody expectation.
A cheap way to prevent accidental deletion by IT is to snapshot the blobs into a backup container. IT would have to be very persistent and delete all of the snapshots taken of the original blob in order to accidentally delete it.
"A blob that has snapshots cannot be deleted unless the snapshots are also deleted. You can delete a snapshot individually, or tell the storage service to delete all snapshots when deleting the source blob. If you attempt to delete a blob that still has snapshots, your call will return an error."
http://msdn.microsoft.com/en-us/library/windowsazure/hh488361
CloudBerry Backup: it supports Amazon S3, Azure, Google, and much more cloud storage providers
http://www.cloudberrylab.com/amazon-s3-microsoft-azure-google-storage-online-backup.aspx