Azure移动服务服务器脚本没有方法'getBlob'

时间:2014-05-01 03:49:21

标签: azure-storage-blobs azure-mobile-services

我正在尝试使用BlobService类的getBlob方法在Azure Mobile Service中编写一些服务器脚本。但是,我收到以下错误:

TypeError:Object [object Object]没有方法'getBlob'

该方法在BlobService文档中描述:http://dl.windowsazure.com/nodedocs/BlobService.html,但是 为什么不可用?有什么想法吗?

以下是我到目前为止尝试过的代码段:

var azure = require('azure');

function insert(item, user, request) {

var blobService = azure.createBlobService("accountName", "accountKey");

blobService.getBlob("myContainerName", "myBlobName", function(error, blob) {

    if (error != null) {
        console.error("Error!");
    } else { 
        console.log("blob: ", blob);
    }

});

谢谢!

**我发现代码似乎使用Npm安装的Node版本0.10.26正常工作,但是当我将其部署到使用Node版本0.8.26的Azure移动服务时不起作用。如何更改Azure移动服务中的节点版本?我试图在package.json中更改Node版本号,然后通过“git push origin master”进行提交,但没有任何变化。

1 个答案:

答案 0 :(得分:1)

问题在于移动服务附带的azure模块版本,为了不破坏某些内容,安装了较旧版本的Azure模块,而当前版本为0.9.6。要获取最新版本的Azure模块,请按以下步骤操作:

  1. 启用脚本源控制(可以从Azure门户中的移动服务的仪表板完成此操作)。
  2. 克隆通过启用“脚本源控件”创建的git存储库。
  3. 导航到本地git仓库目录的Service文件夹。
  4. 运行此命令:npm install azure --save
  5. 这将在本地安装最新模块,并调整packages.json以确保在推送更改时下拉版本。
  6. 将更改(git add,git commit,git push)推送回Azure。
  7. 然后您应该能够执行getBlob方法。