Tag: azure

Microsoft Bot Framework请求中的MissingProperty错误

我正在使用Microsoft Bot Framework的应用程序。 我的应用程序是用Node编写的。 在这个时候,我正在尝试使用下面的代码发布一个活动: var https = require('https'); var token = '[receivedToken]'; var conversationId = '[conversationId]'; var options = { host: 'directline.botframework.com', port: 443, headers: { 'Authorization': 'Bearer ' + token' }, path: '/v3/directline/conversations/' + conversationId + '/activities', method: 'POST' }; var request = https.request(options, (res) => { console.log(res.statusCode); var body = []; res.on('data', […]

如何在部署后重新启动webjobs?

我在Azure中有一个WebApp。 这个webapp有几个连续的nodeJS webjobs。 主要的工作代码在工作目录之外(wwwroot / app_data / jobs / continuous / webjob-1)。 每个作业都是一个包含以下行的run.js文件: const job = require('../../../../../jobs/webjob-1-maincode'); job.run(); 检测到作业文件夹中的任何更改时,Azure会在部署时自动重新启动webjobs。 但是,就我而言,wwwroot下的webjob代码不会改变。 文件更改在其他文件夹中。 因此,Azure不会在部署中重新启动我的作业。 我正在通过git push进行部署。 我们如何强制Azure在部署中重新启动这些作业?

Azurefunction,缩略图图像大小比原始图像大

我已经使用这个背景图像缩略图处理与Azure函数和 NodeJS文章创build缩略图image.An图像创build成功,但图像的大小已经增加。怎么会发生? 它一定是非常小的没有? 我怎样才能解决这个奇怪的问题? 这是Blob存储上的原始图像 处理后(缩略图) 这是Azurefunction(节点): var Jimp = require("jimp"); module.exports = (context, myBlob) => { // Read image with Jimp Jimp.read(myBlob).then((image) => { // Manipulate image image .resize(200, Jimp.AUTO) .greyscale() .getBuffer(Jimp.MIME_JPEG, (error, stream) => { // Check for errors if (error) { context.log(`There was an error processing the image.`); context.done(error); } else { […]

设置缩略图图像内容types

我需要为缩略图图像设置Content-Type 。 我尝试过,如下图所示。但它不起作用。但是,它存储为一个stream。 天青function: index.json var Jimp = require("jimp"); module.exports = (context, myBlob) => { // Read image with Jimp Jimp.read(myBlob).then((image) => { // Manipulate image image .resize(200, Jimp.AUTO) .greyscale() .getBuffer(Jimp.MIME_JPEG, (error, stream) => { if (error) { context.log(`There was an error processing the image.`); context.done(error); } else { context.log(`Successfully processed the image`); stream.set("Content-Type", Jimp.MIME_JPEG); […]

Azure网站从Visual Studio发布后不刷新

我正在构buildNode.JS应用程序,它具有一些视图和大量的公共REST API。 每当我改变我的JS文件(控制器或路线),我写商业逻辑,并尝试发布它们,Visual Studio向导显示正确的差异,并在发布后,我可以看到服务器文件系统上的修改文件(使用Kudu的debugging控制台)但是当我使用POSTMAN命中API时,我看到了旧的响应。 我试着用Cache-Control发送请求:no-cache头也是一样的响应。 但是,当我停下来再次启动服务时,我开始根据我最新的代码获得更新的响应。 看起来像Azure网站或iisnodecaching代码正在运行,任何想法如何避免/破坏caching,以便发布后立即我可以执行最新的代码,并不需要重新启动?

如何使用nodejs或其他方式列出所有的azure色容器?

有没有办法从Azure存储帐户列出所有容器? 如果是nodejs意味着对我很有帮助,否则请build议我列出所有容器的方法。

如何正确读取表存储绑定的数据?

我有一个节点函数接收来自内部API的请求,做一些属性分配,并吐出一个JSON响应。 最初,我用一堆硬编码的常量来设置它,但是我们决定将这些值移到一个存储表中,这样我们就不必在函数本身中改变这些值,如果我们需要提高价格在未来。 我按照创build一个存储表的文档,填充它,并configuration我的function绑定到它。 据我所知,我正确地调用它,但我得到一个“TypeError:无法读取属性x”。 这是我的function.js看起来像: { "bindings": [ { "authLevel": "function", "type": "httpTrigger", "direction": "in", "name": "req", "methods": [ "GET" ] }, { "type": "http", "direction": "out", "name": "res" }, { "type": "table", "name": "rate", "tableName": "Rates", "partitionKey": "Production", "rowKey": "Standard", "connection": "{TABLE_CONNECTION_STRING}", "direction": "in" } ], "disabled": false } 而我的index.js看起来像这样: module.exports = function (context, […]

Node.js上的Azure Easy API'没有注册'/ api / xxx'的路由?

即使运行简单的Easy API方法,我也遇到了问题。 我不断收到“无路由注册为/ api / userInfo”的响应。 我知道这个位置是正确的,因为我在https://XXXX/dev/wwwroot/api/userInfo.js打开App Service编辑器 该文件也有匿名访问,所以不应该有一个授权问题。 我只是试图从浏览器中的API方法。 为了debugging目的,这个非常简单的方法的代码已经被简化为下面的代码 module.exports = { "get":function(){ console.log('whooohooo'); } }; 有没有一个设置,我错过了使能调用Easy API的能力? 我一直没有find任何文件,指出,简单的API方法必须明确启用,也不能find任何设置启用它们。 请注意,我没有设置Node.js项目并将其部署到Azure。 我正在使用“开箱即用”应用服务。 我的最终目标是使用一个简单的API方法去获得一个经过validation的用户的电子邮件和名称,但我的努力已经减less到确认我可以调用一个方法。 提前致谢。 更新:我创造了3个不同的移动应用程序服务,没有运气和不同的优势。 应用服务1: 这个移动应用程序项目已有10个月的时间,并在Azure门户中创build。 它在app.js文件中有一个路由行,表明api路由应该存在,但是不起作用。 我不记得我创build它时是否授权了easy apis,但是它具有以下行的事实表明我做了 mobile.api.import('./api'); AppService 2:这个项目是在MobileCenter中使用Xamarin项目的Tables菜单选项创build的。 然后导航到Azure门户,并将SQL db连接到表。 我认为我没有select使用Easy API,但是我被允许创build一个Easy API脚本,然后编辑它。 编辑它后,我意识到该项目没有app.js文件 。 显然通过MobileCenter创build的networking应用程序的创build方式不同。 我select了这个选项是因为它允许您在设置表格时使用“每个用户”标志,并且不需要通过修改表格脚本来手动过滤数据。 显然这不是一个选项,如果你没有通过MobileCenter设置一个应用服务? 应用服务3:我在门户网站上创build了一个全新的项目,并遵循陈亚伦的步骤。 我select了,连接了表格并修改了js文件(我创build了一个名为'testing'的新文件)。 我浏览到https://zzzzapitestzzzz1.scm.azurewebsites.net/api/testing 并得到了可怕的无路线发现错误。 当然,API方法是由匿名访问权限创build的。

如何解决Azure中的500.1002错误?

成功构build我们的应用程序后,我们有500.1001或500.1002错误。 我们尝试将我们的应用程序捆绑到root和public – error 500.我们尝试更正iisnode.yml参数(maxNamedPipeConnectionRetry和namedPipeConnectionRetryDelay)。 我们的应用程序始终在服务器上 <?xml version="1.0" encoding="utf-8"?> <webSocket enabled="false" /> <handlers> <add name="iisnode" path="/public/server.bundle.js" verb="*" modules="iisnode"/> </handlers> <rewrite> <rules> <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true"> <match url="^server.bundle.js\/debug[\/]?" /> </rule> <rule name="StaticContent"> <action type="Rewrite" url="public{REQUEST_URI}"/> </rule> <rule name="DynamicContent"> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/> </conditions> <action type="Rewrite" url="/public/server.bundle.js"/> </rule> </rules> </rewrite> <security> <requestFiltering> <hiddenSegments> <remove segment="bin"/> </hiddenSegments> […]

如何在部署成功后通过VSTS在Azure应用服务上运行npm命令?

现在我可以从VSTS部署到azure,但是部署成功后我无法运行npm。 现在就像 – >运行npm install for branch files => zip =>复制到azure => deploy。 我想添加npm run custom-comand到这个链的末尾。 怎么做?