我正在创建一个带有Service Bus触发器的Azure功能,并尝试将传入的消息绑定到我的自定义类:
public class InputMessage
{
public string EntityId { get; set; }
}
public static string Run(InputMessage message, TraceWriter log)
{
log.Info($"C# ServiceBus trigger function processed message: {message}");
}
Run Code Online (Sandbox Code Playgroud)
我的消息是JSON,例如
{ "EntityId": "1234" }
Run Code Online (Sandbox Code Playgroud)
不幸的是,绑定在运行时失败,并显示以下消息:
执行函数时出现异常:Functions.ServiceBusTriggerCSharp1.Microsoft.Azure.WebJobs.Host:发生了一个或多个错误.异常绑定参数'message'.System.Runtime.Serialization:期望来自名称空间' http://schemas.datacontract.org/2004/07/ '的元素'Submission_x0023_0.InputMessage' .遇到名为'string'的'Element',名称空间' http:// schemas .microsoft.com/2003/10 /序列化/ '..
看起来运行时尝试使用反序列化消息DataContractSerializer.如何将反序列化切换为JSON?
我正在尝试从用node.js编写的AWS Lambda记录Application Insights指标。这是我的代码:
const appInsights = require("applicationinsights");
appInsights.setup("<guid>");
module.exports.monitor = (event, context, callback) => {
let client = appInsights.defaultClient;
// context.callbackWaitsForEmptyEventLoop = false;
client.trackMetric({name: "AI Test", value: 25});
const response = { statusCode: 200, body: 'done' };
callback(null, response);
};
Run Code Online (Sandbox Code Playgroud)
问题在于Lambda呼叫超时。
如果我取消注释context.callbackWaitsForEmptyEventLoop = false;,则超时将消失并且AWS可以工作。但是我在Application Insights中仅收到一个指标值:从第一次调用开始。随后的通话似乎不再进行。
如何调整Application Insights客户端代码以可靠地工作且不会导致超时?这里发生了什么?
javascript amazon-web-services azure-application-insights aws-lambda
我有IObservable一个库提供,它从外部服务侦听事件:
let startObservable () : IObservable<'a> = failwith "Given"
Run Code Online (Sandbox Code Playgroud)
对于每个收到的事件,我想执行一个返回的动作Async:
let action (item: 'a) : Async<unit> = failwith "Given"
Run Code Online (Sandbox Code Playgroud)
我正在尝试实现一个处理器
let processor () : Async<unit> =
startObservable()
|> Observable.mapAsync action
|> Async.AwaitObservable
Run Code Online (Sandbox Code Playgroud)
我已经弥补mapAsync并且AwaitObservable:理想情况下它们将由一些图书馆提供,到目前为止我找不到它.
额外要求:
应该按顺序执行操作,以便在处理上一个事件时缓冲后续事件.
如果某个操作引发错误,我希望我的处理器完成.否则,它永远不会完成.
Async.Start应该尊重通过的取消令牌.
关于我应该使用的图书馆的任何提示?
更新到最新版本的Aurelia(3月更新beta.1.1.4)后,每次运行业力测试时,我都会收到以下错误:
Error: Reflect.getOwnMetadata is not a function
Error loading C:/Software/myproject/test/unit/myclass.spec.ts
Run Code Online (Sandbox Code Playgroud)
我如何解决它?
我希望我的Azure函数之一执行HTTP重定向。
这是该函数的当前代码:
module.exports = context => {
context.res.status(302)
context.res.header('Location', 'https://www.stackoverflow.com')
context.done()
}
Run Code Online (Sandbox Code Playgroud)
但这行不通。
邮递员发送的请求显示响应如下:
Status:200Location 没有设置这是正确的代码吗?还是Azure Functions根本不允许这样做?
在本地调试带有 Cosmos DB 触发器的 Azure Function V1 时,我们遇到了一个奇怪的问题。当应用程序启动时,它会等待几分钟,然后抛出异常“服务当前不可用”:
当我在家运行它时,相同的应用程序运行良好。部署到 Azure 时,它也能完美运行。
此外,使用 Azure Functions V2 实现的类似应用程序可以在有问题的机器上运行。
导致问题的计算机位于公司网络中。我们使用真实的连接字符串,而不是模拟器https。
它真的看起来像一个客户端连接问题......它可能是什么以及如何解决它?
我有一些关于扩展 Azure Functions 和事件中心触发器的问题。我知道 AF 应用程序在某处存储了一个检查点编号(我认为是 Azure 存储),但我想知道当 AF 扩展或更改时这适用于什么(亲和力)。
以防万一,我使用 C# DLL 和 VS2015 进行开发,使用 VSTS 进行构建/部署。
azure ×4
javascript ×3
f# ×2
asynchronous ×1
aurelia ×1
aws-lambda ×1
c# ×1
karma-runner ×1
typescript ×1