标签: azure-function-async

在 Azure Functions 中等待异步调用时,ConfigureAwait(false) 是否需要/有益

通常建议在ConfigureAwait(false)不需要上下文时等待异步调用时使用。只是想知道ConfigureAwait(false)在 Azure Functions中使用有什么好处。

Azure 函数线程是否具有非空值SynchronizationContext,因此使用ConfigureAwait(false)它可以避免不必要地捕获它并将等待继续重新安排回捕获的SynchronizationContext?

ConfigureAwait(false)在每次异步调用结束时添加有点麻烦,因此如果没有性能/或任何其他相关增益,则最好避免在 Azure Functions 中运行的代码中使用它。

查看azure函数主机代码:https : //github.com/Azure/azure-functions-host/blob/918b057707acfb842659c9dad3cef0193fae1330/src/WebJobs.Script.WebHost/WebScriptHostManager.cs#L181

似乎 azure 函数主机试图在调用 azure 函数之前去除 ASP.NET SynchronizationContext。

synchronizationcontext async-await azure-functions azure-functions-runtime azure-function-async

9
推荐指数
1
解决办法
1553
查看次数

异步功能有好处吗?

Azure函数允许我编写在某些条件下执行的C#/ F#(和更多)函数.这些函数可以是异步的(通过返回任务).

关于azure功能的一个很酷的事情是它们会根据负载自动扩展.关于"经典"服务器上的异步/等待模式的一个很酷的事情是,您可以更好地利用核心,以便您可以处理更多请求.

由于azure函数可以自动扩展,因此编写异步函数对我有什么好处吗?

azure-functions azure-function-async

6
推荐指数
2
解决办法
531
查看次数

Azure Function 本地调试 - 如何将其限制为单线程或消息?

我有一个 Azure 服务总线触发了 Azure 函数。当我在本地运行 Azure Function 时,它会启动 16 个线程并在每个线程中获取 16 条消息。我如何配置它,使其只运行一条消息,以便我可以调试它,而不会在同一个断点上命中 16 次?

我尝试在 host.json 文件中设置配置(如下所示),以便一次仅从 Azure 服务总线拾取 1 条消息,但这没有帮助。

{
  "version": "2.0",
  "extensions": {
    "serviceBus": {
      "prefetchCount": 100,
      "messageHandlerOptions": {
        "autoComplete": false,
        "maxConcurrentCalls": 1,
        "maxAutoRenewDuration": "00:55:00"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑 1:我目前所做的是通过包含正文中消息输入的 http 请求触发函数的管理端点。这样做的问题是,http 请求正文必须包含 {"input":"{}"} 并且我每次都必须花时间使用转义双引号创建有效的 json。如果我能够将函数配置为从服务总线主题一次运行单个消息,就会容易得多。

local azureservicebus azure-functions azure-functions-core-tools azure-function-async

5
推荐指数
1
解决办法
2212
查看次数

Azure函数中的异步函数

我在Azure中使用此javascript函数定义时出错.我在Azure函数中定义它以供导出的函数使用.

async function getData() {
    var data = await postRequest();
    return data;
};
Run Code Online (Sandbox Code Playgroud)

以下是我在控制台中收到的错误.是否异步等待Azure功能不支持的语法?

如果是,我将如何实现异步调用(例如使用node-rest-client进行的REST调用).

2018-01-05T10:50:55.448 Function started (Id=a4995e6f-141a-46bb-becf-
468f49f7505d)
2018-01-05T10:50:55.565 Exception while executing function: 
Functions.MyFunctionName. mscorlib: One or more errors occurred. 
D:\home\site\wwwroot\MyFunctionName\index.js:90
async function getData() {
      ^^^^^^^^

SyntaxError: Unexpected token function
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at eval (eval at compileFunc (D:\Program Files (x86)\SiteExtensions\Functions\1.0.11388\bin\edge\double_edge.js:34:28), <anonymous>:1:80).
2018-01-05T10:50:55.673 Function …
Run Code Online (Sandbox Code Playgroud)

javascript async-await azure-functions azure-function-async

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

Azure Durable Functions 中的依赖项调用失败

背景

我有一组 Durable Azure Functions,它们是使用异步模式编写的,如here所述。

问题

在研究了应用洞察中的日志后,我发现我的所有功能都出现了反复出现的故障。

这是对 DurableFunctionsHubInstances 表的 GET 调用。下面的调用会产生 404 响应。

https://mydomain.table.core.windows.net:443/DurableFunctionsHubInstances(PartitionKey= 'f6eb7829ab6f4020af0431ab0115164a',RowKey = '')?$选择=流程id,名称,版本,输出,CustomStatus,CreatedTime,LastUpdatedTime,RuntimeStatus,PartitionKey ,RowKey,时间戳,ETag

这种依赖失败正常吗?我猜这可能是对日志表的初始调用,以检查是否存在需要拾取并继续的预先存在的实例。

但是,我不知道这一事实,并且很想澄清这一点。

截图

在此处输入图片说明 在此处输入图片说明

azure azure-functions azure-durable-functions azure-function-async

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

Azure 函数超时

计划在 Azure 上根据消费定价模型配置基于“队列触发”的 Azure 功能。每次调用此函数时,可能会随机运行 1 分钟到 30 分钟之间的任何时间,甚至更长/更短,具体取决于情况。偶尔最大。运行时间可能约为 45 分钟,否则大部分是最大运行时间。运行时间可以在10分钟以内。

基于“队列触发”的 Azure 功能是否存在超时?如果是,最大值是多少?暂停?

是否有任何基于 Azure 功能相关的实践来克服超时限制?

(或者)

“耐用功能”可以被视为克服最大值的替代方案吗?超时时间限制?

(或者)

Azure 上还有其他更好的无服务器组件可供使用吗?

azure-functions azure-durable-functions azure-function-async

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