我正在尝试学习如何使用Azure function和SignalR创建无服务器设计。为此,我创建了以下类Azure function:
public static class NotifactionR
{
[FunctionName("negotiate")]
public static SignalRConnectionInfo Negotiate(
[HttpTrigger(AuthorizationLevel.Anonymous)]HttpRequest req,
[SignalRConnectionInfo(HubName = "my-hub")]
SignalRConnectionInfo connectionInfo)
{
// connectionInfo contains an access key token with a name identifier claim set to the authenticated user
return connectionInfo;
}
[FunctionName("NotifactionR")]
public static Task NotifactionR([EventGridTrigger]EventGridEvent eventGridEvent,
[SignalR(HubName = "my-hub")]IAsyncCollector<SignalRMessage> signalRMessages,
ILogger log)
{
log.LogInformation(eventGridEvent.Data.ToString());
return signalRMessages.AddAsync(
new SignalRMessage
{
// the message will only be sent to these user IDs
UserId = "userId1", …Run Code Online (Sandbox Code Playgroud) 我可以从 Microsoft Azure Functions 应用程序仪表板将环境变量注入 Azure Functions 应用程序:
使用System.Environment.GetEnvironmentVariable("AppName"),我可以检索配置的值:
[FunctionName("Status")]
public static async Task<IActionResult> Status(
[HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequest req)
{
var appName = System.Environment.GetEnvironmentVariable("AppName");
return new OkObjectResult($"{appName} - OK");
}
Run Code Online (Sandbox Code Playgroud)
但我希望环境变量来自 Azure DevOps Pipeline Variables 作为发布管道的一部分,以便该值可以与特定版本、范围等相关联:

如何才能做到这一点?能做到吗?
我正在使用天蓝色函数作为表插入事件触发器,特别是持久函数,并且我试图在我的活动函数中生成一些日志。
问题是活动函数没有收到任何“ILogger”,编排器也没有收到任何“ILogger”,因此我没有任何访问权限,也无法生成用于调试的日志。
整体流程为:
HTTP 请求 => Duarble HTTP 启动器 => 持久功能协调器 =>持久功能活动。
有没有办法为从 ILogger 派生的某些类创建记录器实例?或者也许是一种将 ILogger 实例从 HTTP 启动器传递到活动函数的方法?
任何解决方案将不胜感激!
尝试在本地运行 Azure Functions 项目并收到以下错误:
Insufficient memory to continue the execution of the program.
Run Code Online (Sandbox Code Playgroud)
这发生在记录或启动任何内容之前,因此无需调试。
有人知道如何调试这个吗?
我已经删除了所有代码,删除了所有依赖项。剩下的只是一个没有实现的默认计时器函数。它仍然不起作用。
如果我创建一个新的函数项目 func init,一切正常。我看不到不起作用的项目和起作用的项目之间的项目文件、host.json、local.settings.json、function.json 等有任何差异。
我正在考虑重新实现该项目并复制所有代码,但这是唯一的解决方案吗?
我需要使用逻辑应用将 Azure 文件存储中的一些 csv 文件加载到 blob 存储。在逻辑应用程序中使用什么触发器来访问 Azure 中的文件存储?
这些文件非常大,高达 1 GB,我希望能够将它们发送到 ftp 服务器或静态端点进行上传(使用示例 PUT 动词)。
逻辑应用程序是否能够执行此操作,或者使用 Azure 函数会更好吗?任何为我指明正确方向的资源或帮助都会很有用。
我创建了一个 Http 触发的 Python Azure 函数,根据数据大小需要 3-10 分钟来处理整个业务逻辑。
当使用 postman 或 python web 请求触发此函数时,它只会等待响应直到 4 分钟。如果该函数到那时执行,它将给出预期响应,否则将返回 504 网关超时错误。即使它在请求端给出 504 错误,azure 函数也会按照预期处理整个负载并且不会失败。
由于请求的响应负责管道中的后续步骤,因此捕获它对我来说变得很重要。我已经尝试过 Get 和 POST 请求。
谁能帮我解决这个问题?
我正在 VS 2019 上创建我的第一个 azure 函数。当我尝试运行时,出现以下错误:

我使用的是win 10操作系统。我的VS版本是16.4.29728.190。存储模拟器在azure功能中扮演什么样的角色?为什么我会遇到这个问题,难道是我没有配置azure功能?如何修复它?
我有一个 Azure 编排,其中触发编排的编排客户端引发了超时异常。
编排客户端功能只做两件事,启动两个编排,等待每个编排,正如大多数示例代码所建议的那样。
await orchestrationClient.StartNewAsync("TableOrchestrator", updates);
await orchestrationClient.StartNewAsync("ClientOrchestrator", clientExport);
Run Code Online (Sandbox Code Playgroud)
然而,据我了解,编排客户端并不是像编排功能那样的特殊功能,因此它最多只能运行10分钟。显然,我的两个编排的总运行时间很可能超过 10 分钟。
问题:
更新制作了我的代码功能和运行时的完整示例,如下所示。
看起来,如果之后编写了代码,则启动编排将等待它,但如果编排是最后一条语句,则不会!
更新的问题:
。
public static class testOrchestration
{
[FunctionName("Start")]
public static async Task Start([TimerTrigger("0 */30 * * * *", RunOnStartup = true, UseMonitor = false)]TimerInfo myStartTimer, [OrchestrationClient] DurableOrchestrationClient orchestrationClient, ILogger log)
{
var startTime = DateTime.Now;
log.LogInformation(new EventId(0, "Startup"), "Starting Orchestror 1 ***");
await orchestrationClient.StartNewAsync("Orchestrator", "ONE");
log.LogInformation($"Elapsed time, await ONE: {DateTime.Now - startTime}");
await Task.Delay(5000);
log.LogInformation($"Elapsed …Run Code Online (Sandbox Code Playgroud) 当我尝试在本地环境中运行 Azure 函数时,出现以下错误:
如果我尝试使用 v2,我会得到同样的错误。
我已经检查了所有这些问题:
Azure/azure-functions-host#4521 Azure/azure-functions-host#4520
另外,我尝试重新安装 Visual Studio 并更新到最新版本的 Azure Function Core Tools。
如果我通过 Visual Studio 2019 或使用 func host start 从命令行运行函数应用,则会出现此问题。我也尝试过设置不同的端口号。
有人有解决这个问题的方法吗?
更新
我发现 VS 启动 x64 版本,它可能会导致问题。当我下载 func-cli-3.0.2358-x86.msi 并为项目设置调试时,它可以工作。
如何设置 VS 运行 x86 cli?
azure-functions ×10
azure ×7
azure-devops ×2
c# ×2
azure-stack ×1
cloud ×1
powershell ×1
signalr ×1