我正在尝试返回 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 API 应用程序,但我想在香港为我在中国的用户创建一个代理来访问服务器,而不会对连接在欧盟分配的数据库服务器产生太大的性能影响。
我只是在位于东亚的 Azure 功能上设置了代理功能。不幸的是,我通过邮递员在 api 请求中不断收到错误代码 500。
如何跟踪导致错误代码 500 的错误?
我有一些关于扩展 Azure Functions 和事件中心触发器的问题。我知道 AF 应用程序在某处存储了一个检查点编号(我认为是 Azure 存储),但我想知道当 AF 扩展或更改时这适用于什么(亲和力)。
以防万一,我使用 C# DLL 和 VS2015 进行开发,使用 VSTS 进行构建/部署。
我创建了一个 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) 使用 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 函数与 vs 2017。azure 函数目前不支持依赖注入。但是如果我们使用变通方法(类似于https://blog.wille-zone.de/post/azure-functions-proper-dependency-injection/)并从函数的静态构造执行依赖注入,它有什么影响在性能上?特别是有两个托管计划。
1)消费计划:如果我理解正确,有可能每个请求都是单独的,并且会在这个计划中创建一个新的主机。这是否意味着每次都会调用静态构造函数?并使所有对象再次实例化?在这种情况下,消费计划应该避免依赖注入吗?
2)应用服务计划:这将有一个专用的虚拟机,功能将在其上运行,并且如果启用“始终开启”,功能将仅启动一次。在这种情况下,依赖注入更有意义吗?或者一旦触发完成,该函数仍然会退出上下文,并且每次都会创建新实例?
我找不到关于这种可能性的正确解释(如果有的话)。有人有想法吗?
我正在尝试按照文档为 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 函数,该函数触发集合中的插入/更新。从 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
我想将项目添加到服务总线主题,然后取消“实时”订阅并发送到实时站点,然后取消“开发”订阅并发送到开发站点。
[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) 我正在从 VS 开发 azure 函数。我不时部署到 Azure 并进行测试。我的应用程序在 local.settings.json 中有很多设置
每次我在一个地方更改时都必须在每个地方手动进行。有没有办法让它自动化或一个简单的方法?
谢谢
azure azure-functions azure-function-app-proxy azure-functions-runtime azure-functions-core-tools
azure-functions ×10
azure ×7
c# ×3
azure-cli ×1
azure-gov ×1
database ×1
node.js ×1
servicebus ×1
sql-server ×1