c# - 部署的 azure 函数从 GraphApi Rest 调用收到错误请求,但操作成功
问题描述
我在 Visual Studio 中开发了一个 azure 函数,它访问一些图形 api 端点并将一些信息写入 azure 存储。当我在我的电脑上测试该功能时,一切正常。
- 当我将该功能部署到天蓝色时,一切正常,但天蓝色存储部分却不行。我究竟做错了什么?
- 这些变量在 DEV-OPS 管道中,我在 azure 门户中检查,并且也存在。
编辑 1:当我开始尝试记录信息时,我能够看到我的函数只是在运行第一个调用,甚至没有完成它。我在每次通话之前和之后都使用过。
log.Info()
这是 GraphAPI 调用,我知道它处于预览状态,但这应该不是问题,因为此代码在我的 Visual Studio 的 PC 上运行良好。
public static async Task<ChatMessage> CreateNewMessageThread(Employee employee)
{
var chatMessage = ChatThreadMainMessage(employee);
var result = await GraphServiceClient
.Teams[ApplicationConfigurationFields.TeamsId]
.Channels[ApplicationConfigurationFields.ChannelId]
.Messages
.Request()
.AddAsync(chatMessage);
return result;
}
编辑 2:我从引发异常的调用中得到一个 BadRequest。尽管我收到了错误的请求,但仍然会创建消息...即使我发现了问题,我也想了解为什么会发生这种情况。
这是堆栈跟踪,不知道它是否会帮助某人。
Status Code: BadRequest
Microsoft.Graph.ServiceException: Code: BadRequest
Message: Bad Request
Inner error:
AdditionalData:
request-id: 220c1508-5bbd-xxxxx-xxxxx
date: 2020-04-27T16:02:01
ClientRequestId: 220c1508-5bbd-xxxxxx-xxxxx
at Microsoft.Graph.HttpProvider.<SendAsync>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.BaseRequest.<SendRequestAsync>d__35.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.BaseRequest.<SendAsync>d__31`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at MsTeamsNotifications.MsTeamsNotifications.<CreateNewMessageThread>d__19.MoveNext()
谢谢!
解决方案
推荐阅读
- tensorflow - Keras TimeDistributed 用于多输入情况?
- nlp - 句子分类到预定义的主题
- c# - 如何在asp.net mvc中将图像从xamrine发布到webapi
- python - 从 __future__ 导入 print_function 未按预期工作
- java - 将 Viewpager Fragment 中的实时数据共享到 Activity
- python - 假设 atan2(0,0) 返回 0 是否安全?
- java - 使用 reg 表达式拆分字符串
- jmeter-5.0 - 根据同一脚本中其他请求的通过/失败状态执行请求
- powershell - 如何在命令文件的 -file 中使用“.\”
- c# - 获得空响应 - 天蓝色 API 调用 c#