Articles of azure functions

带有Azure函数App和NodeJS的Microsoft Bot框架

我正在尝试使用Microsoft Bot Framework构build一个bot。 我打算使用一个带有Http Trigger的Azure函数作为端点。 NodeJS是我select的语言。 我看到使用restify和nodejs的botframework示例,但是没有使用azure函数。 任何人都可以指出我使用azure函数和nodejs开发botframework的例子,或者给我一个例子。

对node.js中的Azure Log Analytics授权标头进行编码/encryption

我一直试图让日志收集器API工作在一个node.js Azurefunction,但坚持403 /禁止错误,这表明我没有正确地形成授权头。 完整的代码在这里是一个github仓库: https://github.com/sportsmgmt-labs/Azure-Log-Analytics-Node-Function Data Collector API文档位于以下位置: https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-data-collector-api 授权标题应格式化如下: 授权:SharedKey {WorkspaceID}:{签名} 签名是这样编码/encryption的: Base64编码(HMAC-SHA256(UTF8(StringToSign))) 这是我创build授权标头的代码: var contentLength = Buffer.byteLength(req.body['log-entry'], 'utf8'); var authorization = 'POST\n' + contentLength + '\napplication/json\nx-ms-date:' + processingDate + '\n/api/logs'; // encode string using Base64(HMAC-SHA256(UTF8(StringToSign))) authorization = crypto.createHmac('sha256', sharedKey).update(authorization.toString('utf8')).digest('base64'); authorization = 'Authorization: SharedKey ' + workspaceId + ':' + authorization; 服务器的响应是: {“错误”:“InvalidAuthorization”,“Message”:“授权标头中指定了无效的scheme”} 有人能帮我理解我在做什么错吗? […]

Azure中的SQL Query DocumentDB由整数不起作用的函数

我在Azure函数中使用JavaScript语言。 当使用Cosmos DB作为input时,我无法通过整数作为variables来查询。 例如,我有以下几点: 使用Azure Cosmos DB作为我的input(公司)的function设置。 这是设置分区键为{partitionKey}和我的SQL查询作为SELECT * FROM c where c.random = {randomId} 。 在函数的代码中,我发送了以下作为我的testing数据: { "randomId": 1, "partitionKey": "prospect" } 有了这个,我没有得到任何结果。 我已经证实,我有一个random值为1的对象。 如果我要random添加一个值为"1" ,那么以下内容将起作用: { "randomId": "1", "partitionKey": "prospect" } 我已经用DocumentDB API和MongoDB API尝试了这个,因为这个绑定是内置到Azure函数中的,所以不要紧。 我用不同的数据集看到的趋势是,当您将整数参数绑定到查询或文档ID字段中时,查询不起作用。 任何想法如何解决这一问题? 编辑: 我已经证实这在C#中可用的文档。

如何准备我的Azure函数的代码

我在ES6上有一些项目。 以一个文件为例: export default function (a, b) { return a+b; } 我使用webpack和babel将其转换为一个带有ES2015代码的文件。 得到这样的东西: /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new […]

我可以从Azurefunction的单个运行中排列多个项目吗?

我有一个Node.js timerTrigger Azure函数处理一个集合,并将处理结果排队以供进一步处理(通过Node.js queueTrigger函数)。 代码如下所示: module.exports = function (context, myTimer) { collection.forEach(function (item) { var items = []; // do some work and fill 'items' var toBeQueued = { items: items }; context.bindings.myQueue = toBeQueued; }); context.done(); }; 这段代码将只排队最后一个toBeQueued而不是每个我想排队。 有没有办法排队多个项目? 更新 为了清楚toBeQueued ,我正在讨论forEach每次迭代中排队一个toBeQueued ,而不是排队一个数组。 是的,Azure函数有一个问题,因为我不能排队数组,但我有一个解决方法, 即, { items: items } 。

在Azure函数上使用ImageMagick或GraphicsMagick

我正在尝试查看我的公司是否可以使用Azure函数将TIFF文件的转换自动转换为多种JPG和PNG格式和大小。 我使用Node.js函数,但也可以使用其他语言。 我的问题是,我无法得到GraphicsMagick或ImageMagickfunction。 我使用正常的程序安装使用npm安装 。 它似乎安装好,模块也似乎加载,但是当我尝试处理文件时没有任何反应。 没有什么,也没有错误。 var fs = require('fs'); var gm = require('gm'); module.exports = function(context,req){context.log('Start …'); try { context.log('Looking for GM…'); context.log(require.resolve("gm")); } catch(e) { console.log("GM is not found"); process.exit(e.code); } gm('D:/home/site/wwwroot/HttpTriggerJS1/input/870003-02070-main-nfh.jpg') .resize(240, 240) .noProfile() .write('D:/home/site/wwwroot/HttpTriggerJS1/output/resize.jpg', function (err) { context.log('TEST'); if (!err) { context.log('done'); } } ); context.done(null, res); }; 我不确定这是甚至可能的,但我还没有发现任何信息说明它不能 。 […]

无法弄清楚如何生成和查看Bot服务上的nodeJs bot的日志

我最近将自己的nodeJs bot部署到了Bot Service,似乎无法弄清楚如何生成和查看日志。 当我尝试启用日志logging,我不断得到一个未知的错误 查看服务器上的日志文件,没有文件logging节点应用程序 试图login到应用程序的见解,没有成功。 帮帮我?

azure-functions-cli:func init spits错误“No such file or directory”

我使用以下URl安装了7.x NoodeJs, https://github.com/nodesource/distributions # Using Ubuntu curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash – sudo apt-get install -y nodejs 如链接https://blogs.msdn.microsoft.com/appserviceteam/2016/12/01/running-azure-functions-locally-with-the-cli/中所述 ,安装了azure-functions-cli, npm i -g azure-functions-cli 现在,当我运行“func init”时,出现以下错误:$ func init:没有这样的文件或目录 然后我尝试按照以下方式运行,仍然出现错误, $ node /usr/lib/node_modules/azure-functions-cli/lib/main.js init events.js:161 throw er; // Unhandled 'error' event ^ Error: spawn mono /usr/lib/node_modules/azure-functions-cli/bin/func.exe ENOENT at exports._errnoException (util.js:1023:11) at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32) at onErrorNT […]

如何在JavaScript Azure函数中共享代码?

如何在Azure函数应用程序中的文件之间共享代码(例如,Mongo模式定义)? 我需要这样做,因为我的function需要访问共享的mongo模式和模型,比如这个基本的例子: var blogPostSchema = new mongoose.Schema({ id: 'number', title: 'string', date: 'date', content: 'string' }); var BlogPost = mongoose.model('BlogPost', blogPostSchema); 我已经尝试添加一个"watchDirectories": [ "Shared" ]行到我的host.json并在该文件夹中添加了一个包含上述variables定义的index.js ,但这似乎并没有提供给其他函数。 我只是Exception while executing function: Functions.GetBlogPosts. mscorlib: ReferenceError: BlogPost is not defined得到一个Exception while executing function: Functions.GetBlogPosts. mscorlib: ReferenceError: BlogPost is not defined Exception while executing function: Functions.GetBlogPosts. mscorlib: ReferenceError: BlogPost […]

如何使用绑定更新Azure函数中的Azure表格行?

我正在使用节点和Azure函数来使用在functions.json中定义的绑定来更新我的azure色表。 我能够使用绑定插入行,但无法find任何文档如何更新它们。 Functions.json { "tableName": "myTable", "connection": "myTableConnectionString", "name": "tableBinding", "type": "table", "direction": "out" } 函数定义 Promise.map(loaders.map(e => e.getData()), (data) => { context.log("pushing to azure table"); context.bindings.tableBinding.push({ PartitionKey: data.key, RowKey: data.key, Value: data.Value }); }) .then(() => { context.log("Completed all data retrieveal tasks"); context.log('JavaScript timer trigger function ran!', timeStamp); context.done(); }); 再次调用上面的函数不起作用。 我明白,我可以使用SDK来手动更新表,但我想使用绑定,并保持尽可能简单的function。