使用命令行上传插入脚本,总是得到错误无法读取脚本

时间:2013-12-26 18:59:35

标签: azure-mobile-services

我正在尝试将我的移动服务脚本保存在我的项目中,以便我可以对它们使用soruce控件。但是,当我尝试执行命令时,我总是会收到此错误。

"azure : error:   Unable to read script from file ./table/<tablename>.insert.js"

我已安装了这些工具并导入了我的发布设置。奇怪的是,每当我做“天蓝色移动列表”时,它说我没有移动服务帐户。我知道我这样做,因为我在门户网站和Visual Studio中使用它。我正在包管理控制台中执行以下命令。

"azure mobile script upload <mobile service> table/<table>.insert.js" 

并得到上述错误。

在我的VS项目中,表文件夹是根文件夹(直接在我的项目下创建)。

如果我这样做:

"azure mobile script upload <mobile service> /table/<table>.insert.js" 

我明白了:

"azure : error:   Invalid script name '/table/<tablename>.insert.js'"

我已经验证了我的脚本名称与我的表格在同一个案例中,并且在所有小写字母中都尝试过。我还确保每个人都拥有该文件的权限。

2 个答案:

答案 0 :(得分:0)

尝试使用此语法(为清晰起见添加了换行符,请不要将它们添加到命令行中):

azure mobile script upload
    <mobile service name>
    table/<tablename>.insert
    -f ./table/<tablename>.insert.js

移动服务名称后面的参数是服务上的脚本(表的插入脚本),下一个是实际文件(前面有-f--file选项)您要上传的计算机。这意味着理论上你可以拥有一个具有不同名称的本地文件(例如,my-insert-script-for-table-orders.js),而不是我建议任何人这样做。

答案 1 :(得分:0)

当无法找到/读取文件时,会发出错误'无法读取脚本',它在后台使用节点fs模块,readFileSync(文件,'utf8')。

如果'table / table.insert.js'中不存在该文件,则可以使用-f标志手动指定路径,如azure mobile script upload table / table.insert.js -f file。 / p>

如果文件确实存在,那么由于文件未正确进行utf8编码,它可能会失败。确认您的文件中没有包含utf8中的任何无效字符。

此外,由于您提到您使用的是源代码管理,而不是使用CLI,因此您可以直接使用Git更新并将更改推送到您的移动服务。