标签: azure-functions

Azure Functions - 如何从函数内部获取调用 ID?

我正在尝试返回 Azure 函数的调用 ID,类似于 WebJob 将 WebJob 运行 ID 发送回 HTTP 位置标头。这样我的函数的调用者就可以定期检查状态以了解它何时完成。

我看到我必须将此 id 添加到响应对象中,并且我推测我需要从函数中的某个上下文对象中检索它。这是因为当我在https://functionapp.scm.azurewebsites.net/azurejobs/#/functions/invocations/a-long-guid访问 Functions UI 时, 我看到一个名为 _context 的变量和调用 ID。但是,我似乎无法在我的函数中访问名为 context、_context 等的变量。

azure azure-functions

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

Azure 函数代理返回错误 500

目前我在英国有 Azure API 应用程序,但我想在香港为我在中国的用户创建一个代理来访问服务器,而不会对连接在欧盟分配的数据库服务器产生太大的性能影响。

我只是在位于东亚的 Azure 功能上设置了代理功能。不幸的是,我通过邮递员在 api 请求中不断收到错误代码 500。

如何跟踪导致错误代码 500 的错误?

azure-api-apps azure-functions azure-function-app-proxy

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

Azure Functions 事件中心检查点是否适用于多个实例?

我有一些关于扩展 Azure Functions 和事件中心触发器的问题。我知道 AF 应用程序在某处存储了一个检查点编号(我认为是 Azure 存储),但我想知道当 AF 扩展或更改时这适用于什么(亲和力)。

  1. 如果我有一个包含消息的现有事件中心并重新部署 AF 应用程序,它会从头开始使用新的检查点重新启动,还是会从停止的地方开始?似乎它应该以某种方式从该 AF 应用程序的最后一个检查点开始。
  2. 如果我在使用事件中心触发器的 AF 应用程序中更改函数的名称,它是保持相同的检查点还是重新开始?
  3. 如果我停止/启动 AF 应用程序,它会失去位置吗?似乎不应该,因为它是存储在外部的,但我不知道它们是如何相互映射的。
  4. 当 AF 向上扩展时,多个实例是否都共享同一个检查点,还是后续实例从头开始并拥有自己的检查点?后者似乎不太可能。根据我的阅读,为每个 AF 应用程序实例创建了一个新的 EventProcessorHost,但它们是否都共享相同的检查点?
  5. 扩展时,新的 AF 应用实例是从现有/初始实例的检查点开始,还是新的 EPH 从头开始​​?

以防万一,我使用 C# DLL 和 VS2015 进行开发,使用 VSTS 进行构建/部署。

azure azure-eventhub azure-functions

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

Azure 函数有时不会将行插入 SQL Server

我创建了一个 Azure 函数。除了一件事之外,它工作正常:尽管内容始终相同,但它并不总是将内容插入到 Azure SQL 服务器中。根据日志,该功能被触发,但没有插入任何行。它似乎是随机发生的。这是代码:

public static void Run(string myIoTHubMessage, TraceWriter log)
{
    log.Info(myIoTHubMessage);
    if (!string.IsNullOrEmpty(myIoTHubMessage))
    {
        try
        {
            var str = ConfigurationManager.ConnectionStrings["db-messaging"].ConnectionString;
            using (SqlConnection conn = new SqlConnection(str))
            {
                conn.Open();
                log.Info("Connection opened");
                var text = $"INSERT INTO [dbo].[MESSAGE] VALUES ('{myIoTHubMessage}')";
                using (SqlCommand cmd = new SqlCommand(text, conn))
                {
                    var rows = cmd.ExecuteNonQueryAsync();                    
                }
            }
            log.Info($"C# IoT Hub trigger function processed a message: {myIoTHubMessage}");
        }
        catch (Exception ex)
        {
            log.Error($"C# Event Hub trigger function exception: {ex.Message}");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# sql-server azure azure-functions

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

ARM 模板:AppSettings、WEBSITE_CONTENTSHARE 的存储端点不正确

使用 ARM 模板将 Azure 函数部署到 USGov Arizona 时出错。模板适用于 Azure 商业版。错误是:

12:34:11 - 12:33:27 PM - Resource Microsoft.Web/sites/config 'SFGovAppService/appsettings' failed with message '{
12:34:11 -   "Code": "BadRequest",
12:34:11 -   "Message": "There was a conflict. The remote name could not be resolved: 'sftestgovstorage.file.core.windows.net'",
12:34:11 -   "Target": null,
12:34:11 -   "Details": [
12:34:11 -     {
12:34:11 -       "Message": "There was a conflict. The remote name could not be resolved: 'sftestgovstorage.file.core.windows.net'"
12:34:11 -     },
12:34:11 -     {
12:34:11 -       "Code": "BadRequest"
12:34:11 -     }, …
Run Code Online (Sandbox Code Playgroud)

azure azure-cli azure-functions azure-gov

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

Azure Functions 性能和依赖注入

我一直在从性能改进的角度研究 Azure 函数与 vs 2017。azure 函数目前不支持依赖注入。但是如果我们使用变通方法(类似于https://blog.wille-zone.de/post/azure-functions-proper-dependency-injection/)并从函数的静态构造执行依赖注入,它有什么影响在性能上?特别是有两个托管计划。

1)消费计划:如果我理解正确,有可能每个请求都是单独的,并且会在这个计划中创建一个新的主机。这是否意味着每次都会调用静态构造函数?并使所有对象再次实例化?在这种情况下,消费计划应该避免依赖注入吗?

2)应用服务计划:这将有一个专用的虚拟机,功能将在其上运行,并且如果启用“始终开启”,功能将仅启动一次。在这种情况下,依赖注入更有意义吗?或者一旦触发完成,该函数仍然会退出上下文,并且每次都会创建新实例?

我找不到关于这种可能性的正确解释(如果有的话)。有人有想法吗?

c# dependency-injection azure azure-functions

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

Azure 函数集节点版本

我正在尝试按照文档为 Azure 函数设置 Node 版本,但它似乎停留在 v6.11.2 版本上

我试过设置这个应用程序设置:

WEBSITE_NODE_DEFAULT_VERSION
Run Code Online (Sandbox Code Playgroud)

成为 8.1.4

我也尝试将其添加为 package.json:

"engines":{"node":"8.1.4"}
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法?

azure node.js azure-functions

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

找不到要包含在 CosmosDBTrigger 中的正确 nuget 包

我正在尝试开发一个 azure 函数,该函数触发集合中的插入/更新。从 azure webjobs sdk 文档中,我最好的选择是 CosmosDBTrigger 函数。但是,当我使用 Visual Studio“azure 函数”扩展创建 CosmosDBTrigger 函数时出现编译错误。看起来 CosmosDBTrigger 的 vsix 没有自动包含 CosmosDBTrigger 类的 nuget 包引用。

有没有人使用 Visual Studio 2017 创建从 ChangeFeed 项触发的 azure 函数?

更新:当我尝试引入 Microsoft.Azure.Webjobs.Extensions 时,出现以下错误。

NU1608: Detected package version outside of dependency constraint: Microsoft.NET.Sdk.Functions 1.0.11 requires Microsoft.Azure.WebJobs.Extensions (= 2.1.0) but version Microsoft.Azure.WebJobs.Extensions 3.0.0-beta5 was resolved.
NU1107: Version conflict detected for Microsoft.Azure.WebJobs. Reference the package directly from the project to resolve this issue. 
    Accelerator.Feed Microsoft.Azure.WebJobs.Extensions 3.0.0-beta5 -> Microsoft.Azure.WebJobs (>= 3.0.0-beta5) 
    Accelerator.Feed …
Run Code Online (Sandbox Code Playgroud)

database visual-studio azure-functions visual-studio-2017 azure-cosmosdb

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

在 ServiceBusTrigger 中引用主题名称的环境变量

我想将项目添加到服务总线主题,然后取消“实时”订阅并发送到实时站点,然后取消“开发”订阅并发送到开发站点。

[FunctionName("AddFoo")]
public static async Task AddFooAsync(
    [ServiceBusTrigger("topic-foo", "Live")]QueueItem item,
    TraceWriter log)
{
    var endpoint = ConfigurationManager.AppSettings["EndPoint"];
    var httpClient = new HttpClient();
    httpClient.DefaultRequestHeaders.Add("PublisherKey", foo.PublisherKey);
    var foos = new HttpFooStore(httpClient, endpoint);

    try
    {
        await foos.AddAsync(item.Value);
    }
    catch (BadRequestException)
    {
        log.Warning("Malformed request was rejected by XXX", item.PublisherName);
        return;
    }
    catch (AuthorizationException)
    {
        log.Warning("Unauthorized request was rejected by XXX", item.PublisherName);
        return;
    }
    catch (ResourceNotFoundException)
    {
        log.Warning("Request for unknown tracker was rejected by XXX", item.PublisherName);
        return;
    }
    catch (Exception e)
    {
        log.Error("Request to XXX …
Run Code Online (Sandbox Code Playgroud)

c# servicebus azure-functions

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

如何在 VS 和 Azure 中同步 local.setting.json

我正在从 VS 开发 azure 函数。我不时部署到 Azure 并进行测试。我的应用程序在 local.settings.json 中有很多设置

每次我在一个地方更改时都必须在每个地方手动进行。有没有办法让它自动化或一个简单的方法?

谢谢

azure azure-functions azure-function-app-proxy azure-functions-runtime azure-functions-core-tools

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