小编Jer*_*Liu的帖子

在node.js中循环保证

Promise.all(function(){
    for(var numb in req.body){
        console.log(numb+":"+req.body[numb]);
        checkValue(numb,function(err,result){
            if(result){
                console.log(result);
                send[result]="true";
                console.log(send);
            }
            if(err){console.log(err+"not");}
        });
    }   
}).then(res.json(send));
Run Code Online (Sandbox Code Playgroud)

我想首先执行for循环然后再发送数据.我试图使用promise.all但我不确定它是否正确.有人可以帮帮我吗?

node.js promise

4
推荐指数
1
解决办法
1万
查看次数

Azure Function部署缓慢

我们发现,部署Azure函数(AFRv1 / Node.JS)花费的时间非常长(15-25分钟)。造成这种情况的原因显然是node_modules中文件的数量,但是我觉得必须有一个更好的方法来解决这个问题,而我没有研究过。

我们使用Azure App Service DeployVSTS任务将应用程序和node_modules(预先安装了纱线)部署为zip包。

是否有使用不需要这么长时间的存档的优化部署方式?也许在差异部署中更好的东西?

deployment azure azure-functions

4
推荐指数
1
解决办法
586
查看次数

在 Azure 函数中获取远程 IP 地址

如何在 Azure 功能中获取远程 IP 地址?

MS_HttpContext属性中不存在该属性HttpRequestMessage,因此我无法在此处使用解决方案:How to get client IP address in Azure Functions C#?

获得 IP 地址的转发很容易(从标题中,如上面的链接所示),但我怎样才能获得远程 IP 地址?

c# azure .net-core azure-functions

4
推荐指数
1
解决办法
2006
查看次数

Azure函数中对GetQueryNameValuePairs的未定义

所有,我正在开发我的第一个Azure功能。该功能的目的是使用Bing认知API接收文本并对其进行拼写检查。但是,我无法编译,因为代码中的字符串text = req.GetQueryNameValuePairs()...行,因为它指出HTTPRequestMessage不包含“ GetQueryNameValuePairs”的定义,并且没有扩展方法“ GetQueryNameValuePairs”接受第一个参数可以找到类型“ HttpRequestMessage”(您是否缺少using指令或程序集引用?)。

任何帮助,将不胜感激。

using System.IO;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs.Host;
using Newtonsoft.Json;
using System.Net;
using System;
using System.Net.Http;
using System.Linq;
using System.Collections.Generic;
using System.Net.Http.Headers;
using System.Threading.Tasks;

namespace SpellCheck.Functions
{
    public static class SpellCheck
    {
        [FunctionName("SpellCheck")]
        //public async static Task Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequest req, TraceWriter log)
        public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            //List<KeyValuePair<string, string>> …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-functions

4
推荐指数
2
解决办法
2065
查看次数

读取请求的内容 - ReadAsStringAsync()

我尝试像这样读取请求的内容:

var translation = await req.Content.ReadAsStringAsync();

但得到这个例外:

在此输入图像描述

严重性代码描述项目文件行抑制状态错误 CS1061“HttpRequest”不包含“Content”的定义,并且找不到接受“HttpRequest”类型的第一个参数的可访问扩展方法“Content”(您是否缺少 using 指令或装配参考?)

以下是我正在使用的库:

在此输入图像描述

我究竟做错了什么?如何阅读内容正文?

这是周围的代码:

    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = "OnTranslateSingleHttpTriggered")] HttpRequest req,
        ILogger log)
    {
        var translation = await req.Content.ReadAsStringAsync();
        //do work
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc azure .net-core azure-functions

4
推荐指数
1
解决办法
8980
查看次数

如何将现有的Azure Function v2.0 beta升级到v2.0 GA?

Azure Function v2现在是GA.

我现有的Azure函数目前与v2 beta一起运行,如下所示:

Azure功能应用程序设置

如何让它们与全新的2.0运行时一起运行?

azure azure-functions

3
推荐指数
1
解决办法
227
查看次数

在 Azure Functions 中找不到类型或命名空间名称

我正在尝试将一些模拟数据推送到 azure iot hub,并使用 azure 函数(C#)将接收到的数据存储在 mongo db 中。接收 iot hub 消息到 azure 函数正在工作。当我尝试按如下方式将它们推送到 mongo db 时,它会出现以下错误。我在执行此操作时遵循了教程。

我的运行.csx

using System;
using System.Runtime.Serialization;
using System.ServiceModel.Description;
using MongoDB.Bson.IO;
using MongoDB.Bson;
using MongoDB;
using MongoDB.Driver;
using System.Security.Authentication;
using System.Text;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

public static void Run(string myIoTHubMessage, TraceWriter log)
{
    log.Info($"C# IoT Hub trigger function processed a message: {myIoTHubMessage}");
    string deviceId="",data="";
    var raw_obj=JObject.Parse(myIoTHubMessage);
    deviceId=(string)raw_obj["device_id"];
    data=(string)raw_obj["Data"];
    Cosmos cosmos= new Cosmos(deviceId,data);
    cosmos.pushData();
}

//CosmosDB class
public class Cosmos
{
    string deviceId="",data="";
    public …
Run Code Online (Sandbox Code Playgroud)

c# azure mongodb azure-functions

3
推荐指数
2
解决办法
1万
查看次数

Azure Function 读取 local.settings.json 到对象

我知道我可以在 local.settings.json 的 value {} 部分下添加所有环境变量。然而,我正在努力保持家里整洁,并且希望我能做这样的事情。

本地.settings.json

   {
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "",
"Hello": "world"
 },
"ClientConfiguration": {
    "this": "that",
    "SubscriberEndpoint": "",
    "Username": "",
    "Password": "",
    "ObjectEndpoint": ""
 }
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中我有

 var config = JsonConvert.DeserializeObject<myConnectionObject> (Environment.GetEnvironmentVariable("ClientConfiguration"));
Run Code Online (Sandbox Code Playgroud)

无论我做什么,我都无法让它发挥作用。为什么我至少无法获取 ClientConfiguration 的内容?只是不断返回空值。

如果我将 ClientConfiguration {} 添加到类似的值

..."Values" : { ... 
"Hello":"world",
"ClientCOnfiguration" : {above}
}
Run Code Online (Sandbox Code Playgroud)

我最终得到一个错误,说找不到 azurewebjobsstorage 并且“功能设置列表”只是空的

c# json azure azure-functions

3
推荐指数
1
解决办法
7776
查看次数

使用Web前端列出具有目录级别支持的Azure容器中的所有Blob

我目前正在开发一些代码集,以使用Web前端显示指定Azure容器内的所有Blob。我期望最终输出是这样的:

使用Apache Mod_autoindex的目录列表

我首先创建了一个虚拟存储帐户,并在其中填充了一些虚拟文件供我使用。

https://alicebob.blob.core.windows.net/documents  
??? docx  
?   ??? 201801_Discussion.docx  
?   ??? 201802_Discussion.docx  
??? xlsx  
?   ??? 201801_Summary.xlsx  
?   ??? 201802_Summary.xlsx  
?   ??? 201803_Summary.xlsx  
??? 201801_Review.pdf  
??? 201802_Review.pdf  
??? 201803_Review.pdf  
Run Code Online (Sandbox Code Playgroud)

为了开发文件列表功能,我从此处开始使用Azure Storage JavaScript客户端库,并将所有必需的代码(.html.js文件)放入Azure静态网站$web容器中,并在和静态网站配置中设置index.htmlIndex document nameError document path

https://alicebob.z23.web.core.windows.net/  
??? azure-storage.blob.min.js  
??? azure-storage.common.min.js  
??? index.html  
Run Code Online (Sandbox Code Playgroud)

问题在于,执行列表的功能只能是listBlobsSegmentedWithPrefixlistBlobDirectoriesSegmentedWithPrefix。因此,以我为例,我认为以结构良好/树格式列出所有Blob和目录并不能直接工作。

我当前的方法是欺骗代码以继续使用,listBlobDirectoriesSegmentedWithPrefix直到内部不再列出目录,然后继续使用listBlobsSegmentedWithPrefix

到目前为止,我很满意我的代码可以在叶级别列出所有Blob,并且还可以列出所有目录(如果不在叶级别也可以列出所有目录)。您可以在此处查看blob列表并可以随时通过“查看源代码”查看我到目前为止构建的代码。

我面临的唯一问题是,如果不在叶级别上,则这组代码无法列出Blob。例如,它无法列出alicebob存储帐户上的这些Blob :

??? 201801_Review.pdf …
Run Code Online (Sandbox Code Playgroud)

javascript azure azure-storage azure-storage-blobs

2
推荐指数
1
解决办法
718
查看次数

如何使用输出参数实现 azure 异步函数

我实现了 Azure 功能。

我有下一个案例:

  1. 当某些内容上传到 blob 时(输入 Blob 是触发器)
  2. 流程逻辑
  3. 将某些内容保存到输出 blob(输出为返回值)
  4. 将其他内容保存到 dynamo db 集合(输出参数)
  5. 将其他内容保存到另一个 dynamo db 集合(输出参数)

    [FunctionName("myFunction")]
    [return: Blob("images-text-out/{name}.txt")]
    public static string Run([BlobTrigger("samples-workitems/{name}", Connection = "StorageConnection")]Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob myBlob,
         string name,
         string blobTrigger,
         [CosmosDB(
            databaseName: "my-db-cosmos",
            collectionName: "CollectionA",
            ConnectionStringSetting = "CosmosDBConnection")] out dynamic processedFirst,
         [CosmosDB(
            databaseName: "my-db-cosmos",
            collectionName: "CollectionB",
            ConnectionStringSetting = "CosmosDBConnection")] out dynamic processedSecond,
         ILogger log,
         ExecutionContext context)
    {
        // . . .
        myBlob.DownloadToStreamAsync(memoryStream).Wait();
        // . . .
    }
    
    Run Code Online (Sandbox Code Playgroud)

这工作正常。问题只是我无法利用异步调用的优势。原因很清楚,因为带有输出参数的方法不能是异步方法。

如何利用异步调用的优势实现具有多个输出的 azure 功能?

谢谢

c# azure azure-blob-storage azure-functions azure-cosmosdb

2
推荐指数
1
解决办法
405
查看次数