标签: azure-functions

对Logic App中的Azure功能故障做出反应

我有一个简单的逻辑应用程序在重复触发器上运行Azure函数(每天).如果运行该功能时出现问题,我想向IT部门发送电子邮件.这是我的Logic App设置:

在此输入图像描述

但是,每当出现错误时(例如,azure函数返回HTTP代码500,就像这样:)

return req.CreateResponse(HttpStatusCode.InternalServerError, new
        {
            error = $"{errorMessage}. {ex.Message}"
        });
Run Code Online (Sandbox Code Playgroud)

逻辑应用程序流程在我检查状态代码并对其作出反应之前就停止了:

在此输入图像描述

所以我的问题是:有没有办法处理Azure功能错误响应代码?

c# azure azure-logic-apps azure-functions

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

流程完成后,从azure函数发送电子邮件

我有一台将文本形式的数据发送到AZURE上的Blob的设备,一旦Blob接收到数据,它就会触发azure函数中的一个函数,该函数基本上是由c ++代码制成的可执行文件,完成后会生成另一个文本文件,存储在其他斑点

这是一个非常简单的操作。但是,现在我希望每次功能顺利通过时都收到一封电子邮件,我已经在网上搜索过,但是本教程非常混乱,或者无法解决此简单任务。

我确实使用c ++开发了可执行文件,但是我从其他人那里继承了azure函数,并且我对azure的使用经验为零(我是电气工程师而不是计算机科学)。Azure函数是用C#编写的,我只需要一个指南。

先感谢您!!

c# azure azure-functions

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

是否可以使用顺序执行执行Azure功能定时器触发器?

我想通过顺序执行来执行Azure计时器触发器.

假设我有5分钟间隔的C#定时器触发器.但是功能需要时间才能执行8分钟.这意味着在第一次调用完成之前,第二次触发启动另一个线 我怎么能避免这个?

c# multithreading azure azure-functions timer-trigger

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

是否可以配置Azure C#函数DocumentDB属性参数?

我正在构建一个Azure Http触发的C#函数,其输出绑定到Cosmos DB.我的函数定义是这样的:

[FunctionName("HttpTriggerFunction")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "post", Route = "myroute")]HttpRequestMessage req,
                                              [DocumentDB("database", "collection", ConnectionStringSetting = "CosmosDBConnection")] IAsyncCollector<dynamic> document,
                                              TraceWriter log)
Run Code Online (Sandbox Code Playgroud)

这很好用.

但是,我希望能够在DocumentDB属性中配置数据库集合名称,但是如果我尝试这样的话:

[DocumentDB(ConfigurationManager.AppSettings["DatabaseName"], ConfigurationManager.AppSettings["CollectionName"], ConnectionStringSetting = "CosmosDBConnection")]
Run Code Online (Sandbox Code Playgroud)

然后Visual Studio给我一个编译错误:

CS0182属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式

有没有办法配置这些DocumentDB属性参数?

c# azure azure-functions azure-cosmosdb

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

如何将两个任务集合链接在一起?

我正在尝试运行一系列任务,然后一旦完成,就运行一个单独的任务集合.实质上,第一个任务集合负责写入某些数据库表,最终的任务集合将这些表中的数据整理到报告表中.

我正在使用的代码示例如下:

var dbWriteTasks = clients.Select(c => DoSomeWorkAsync(c)).ToArray();
var dbCollateTasks = clients.Select(c => DoSomeOtherWorkAsync(c));

Task.Factory.ContinueWhenAll(dbWriteTasks, t => dbCollateTasks.ToArray());
Run Code Online (Sandbox Code Playgroud)

这是成功运行第一组任务,但没有运行任何第二组任务,所以我显然做错了.

我也试过这个无济于事:

var dbWriteTasks = clients.Select(c => DoSomeWorkAsync(c)).ToArray();
var dbCollateTasks = clients.Select(c => DoSomeOtherWorkAsync(c)).ToArray();

Task.Factory.ContinueWhenAll(dbWriteTasks, t => dbCollateTasks);
Run Code Online (Sandbox Code Playgroud)

这会运行两组任务,但第二组在第一组任务完成插入之前开始运行并处理数据...

我还应该提一下,我已经尝试同步运行这两组任务,Task.WaitAll但这也没有用.我试图在Azure功能中执行所有这些操作,Task.WaitAll只是让它停止.

我对TPL比较陌生,所以任何建议都将不胜感激!

c# multithreading azure task-parallel-library azure-functions

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

Azure队列和功能:发送到队列的消息是否将处理相同的顺序

我正在使用QueueTrigger处理存储队列和函数,我还在host.json中放置了BatchSize = 1.我确定一次只能发送一条消息.我想知道发送给函数的消息是否按顺序到达队列.

我有4个数据发送到队列,它有一个时间戳.我看到其中一个没有到达我用作历史记录的azure表.没想到的那个应该被发送到队列我想.

后来我向队列发送了另一条消息,但是这条消息的处理比之前发送的消息要好

azure azure-storage-queues azure-functions

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

Azure功能不会超过设置值超时

我已经看到Azure功能将超时时间增加到10分钟,而默认值仍然是5分钟.

我的host.json

{
  "queues": {
  "maxPollingInterval": 2000,
  "visibilityTimeout": "00:00:30",
  "batchSize": 16,
  "maxDequeueCount": 3,
  "newBatchThreshold": 8,
  "functionTimeout": "00:10:00"
 }
}
Run Code Online (Sandbox Code Playgroud)

我可以在门户网站中看到超时值为10分钟,虽然它没有从我在本地Visual Studio中的host.json中提取它,所以我在门户网站中手动设置它.

但是,任何通过5分钟的工作都会超时.我似乎无法找到任何信息,除了它应该工作.

timeout azure azure-functions

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

为什么项目找不到Microsoft.Azure.WebJobs 3.0.0.0

我在Visual Studio 15.8.6中有一个Azure Functions(v2)项目,该项目安装了Azure Functions和Web Job Tools 5.2.60618.0.我正在使用ServiceBusTrigger.当我尝试编译项目时,我继续得到:

严重级代码描述项目文件行抑制状态错误System.IO.FileNotFoundException:无法加载文件或程序集"Microsoft.Azure.WebJobs,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = null"或其依赖项之一.该系统找不到指定的文件.文件名:System.ModuleHandle.ResolveType上的'Microsoft.Azure.WebJobs,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = null'(RuntimeModule模块,Int32 typeToken,IntPtr*typeInstArgs,Int32 typeInstCount,IntPtr*methodInstArgs,Int32 methodInstCount System.FoduleHandle.ResolveTypeHandleInternal(RuntimeModule模块,Int32 typeToken,RuntimeTypeHandle [] typeInstantiationContext,RuntimeTypeHandle [] methodInstantiationContext),System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken,Type [] genericTypeArguments,Type [] genericMethodArguments)at,SystemHandleOnStack type) System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord,MetadataImport scope,Assembly&lastAptcaOkAssembly,RuntimeModule decoratedModule,MetadataToken decoratedToken,RuntimeType attributeFilterType,Boolean mustBeInheritable,Object [] attributes,IList derivedAttributes,RuntimeType&attributeType,IRuntimeMethodInfo&ctor,Boolean&ctorHasParameters,Boolean&isVarArg)处System.Reflection.CustomAttribute.GetCustomAttributes System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule,的Int32 decoratedMetadataToken,的Int32 pcaCount,RuntimeType attributeFilterType,布尔mustBeInheritable,IList的derivedAttributes,布尔isDecoratedTargetSecurityTransparent)(在系统RuntimeParameterInfo参数,RuntimeType caType). System.Linq.Enumerable.WhereSelectArrayIterator的2.MoveNext() at System.Linq.Enumerable.WhereEnumerableIteratorMakeFunctionJson.ParameterInfoExtensions.GetDisabledAttribute(ParameterInfo parameterInfo)中的Attribute.InternalParamGetCustomAttributes(ParameterInfo param,Type type,Boolean inherit)System.Linq.Enumerable.FirstOrDefault [TSource]中的1.MoveNext()(IEnumerable 1 source) at MakeFunctionJson.MethodInfoExtensions.GetDisabled(MethodInfo method) at MakeFunctionJson.MethodInfoExtensions.HasUnsuportedAttributes(MethodInfo method, String& error) at MakeFunctionJson.FunctionJsonConverter.<GenerateFunctions>d__9.MoveNext() at System.Collections.Generic.List1)1 collection) at …

c# azure azure-functions

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

如何在计时器触发的函数上强制执行单例行为?

我希望Azure函数查看SFTP文件夹,然后将新文件移动到其父文件夹。

我的脚手架看起来像这样。

public static class OnMoveFilesHttpTriggered
{
    [FunctionName("OnMoveFilesHttpTriggered")]
    public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)
    {
        log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
    }
}
Run Code Online (Sandbox Code Playgroud)

我们如何强制在任何给定时间运行此函数的一个且只有一个实例?

.net c# azure azure-functions visual-studio-2017

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

Azure Stream Analytics的工作对于小数据而言昂贵吗?

为了将传感器数据从IoT设备写入云中的SQL数据库,我使用Azure流分析作业。SA作业具有IoT中心输入和SQL数据库输出。查询很简单;它只是通过发送所有数据)。根据MS价格计算器,最便宜的方式(在西欧)每月约75欧元(请参见屏幕截图)。

实际上,每分钟仅通过集线器发送1条消息,并且每月固定价格(与消息量无关)。如此琐碎的小数据任务的价格令我感到惊讶。对于如此低的容量需求,是否会有更便宜的选择?也许是Azure功能?

在此处输入图片说明

azure azure-stream-analytics azure-sql-database azure-iot-hub azure-functions

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