Reputation: 408
I am trying to upload a local file to blob storage using NodeJs. The server sends me the following details
{hostName: "StorageAccount", containerName:"containerName", "blobName": blobName, sasToken: "sasToken"}
and following is the code written for uploading the file
var azure = require('azure-storage');
var blobSvc = azure.createBlobServiceWithSas(result.hostName,result.sasToken);
blobSvc.createBlockBlobFromLocalFile(result.containerName,result.blobName,'server.json',
function(error, result, response){
if(!error){
// file uploaded
}
});
above code works fine if its a real storage information in Azure, but throws "Specified resource not found" error if its on local development storage.
Any help is greatly appreciated. Thanks
Upvotes: 2
Views: 789
Reputation: 13918
To develop with Azure Storage Emulator in Node.js, please make sure you have start the local emulator first (refer to https://azure.microsoft.com/en-us/documentation/articles/storage-use-emulator/ for more), and try to leverage generateDevelopmentStorageCredentials()
, which creates a connection string that can be used to create a service which runs on the storage emulator. The emulator must be downloaded separately.
Here is the code snippet:
var azure = require('azure-storage');
var fs = require('fs');
var devStoreCreds = azure.generateDevelopmentStorageCredentials();
var blobsrv = azure.createBlobService(devStoreCreds);
blobsrv.createContainerIfNotExists('container', {
publicAccessLevel: 'blob'
}, function(error, result, response) {
if (!error) {
blobsrv.createBlockBlobFromLocalFile('container', <blobname>, <filepath>, function (error, result, response) {
if (!error) {
console.log("Uploaded" + result);
}
else {
console.log(error);
}
});
}else{
console.log(error)
}
})
Upvotes: 1