有多种方法可以提供您的存储访问凭据。我正在使用环境变量来设置帐户名称和密钥。
以下是我使用 bash 设置环境变量的方法:
echo Exporting Azure Storage variables ...
export AZURE_STORAGE_ACCOUNT='YOUR_ACCOUNT_NAME'
export AZURE_STORAGE_ACCESS_KEY='YOUR_ACCESS_KEY'
echo Done exporting Azure Storage variables
这是一个示例 node.js 脚本,我使用 imagemagick 从存储为 Azure blob 的现有图像生成缩略图:
var azure = require('azure');
var im = require('imagemagick');
var fs = require('fs');
var rt = require('runtimer');
//Blobservice init
var blobService = azure.createBlobService();
var convertPath = '/usr/bin/convert';
var identifyPath = '/usr/bin/identify';
global.once = false;
var blobs = blobService.listBlobs("screenshots", function (error, blobs) {
if (error) {
console.log(error);
}
if (!error) {
blobs.forEach(function (item) {
if (item.name) {
if (item.name.length == 59) {
//Create the name for the thum
var thumb = item.name.substring(0, item.name.indexOf('_')) + '_thumb.png';
if (!global.once) {
console.log(global.once);
var info = blobService.getBlobToFile("YOUR CONTAINER", item.name, item.name,
function (error, blockBlob, response) {
im.resize({
srcPath: item.name,
dstPath: thumb,
width: 100,
height: 200
},
function (err, sdout, stderr) {
if (err) throw err;
console.log("resized");
//Delete the downloaded BIG one
fs.unlinkSync(item.name);
//Upload the thumbnail
blobService.putBlockBlobFromFile("YOUR CONTAINER", thumb, thumb,
function (error, blockBlob, response) {
if (!error) {
console.log("blob uploaded: " + thumb);
fs.unlinkSync(thumb);
}
});
});
});
//DEBUG: Uncomment to test only with one file
//global.once = true;
}
}
}
});
}
});
这是 Node 的 Azure 模块的官方链接(它包含一些示例):
用于节点的 Windows Azure 客户端库