- bounty将在3天后过期**。回答此问题可获得+50声望奖励。Hardik Parmar希望引起更多人对此问题的关注:我从过去的10天就被卡住了。已经读了很多文章,但是没有用。
我已经创建了一个lambda函数,我无法将数据发送到Web套接字客户端。但是没有错误。
直到昨天代码还在工作。不知道发生了什么事,现在它停止工作了。
public string FunctionHandler(string input, ILambdaContext context)
{
try
{
string SK = "xxxxxx";
string AK = "xxxx";
var stream = new MemoryStream(UTF8Encoding.UTF8.GetBytes(input));
var apiClient = new AmazonApiGatewayManagementApiClient(AK,SK,new AmazonApiGatewayManagementApiConfig
{ ServiceURL = $"https://xxxxxx.execute-api.us-east-1.amazonaws.com/Test" });
apiClient.PostToConnectionAsync(new Amazon.ApiGatewayManagementApi.Model.PostToConnectionRequest
{
ConnectionId = "fdCqPfd0oAMCJmg=",
Data = stream
});
return input.ToUpper();
}
catch(Exception ex)
{
return ex.ToString();
}
}
1条答案
按热度按时间oipij1gg1#
我猜您使用的是.NET
AmazonApiGatewayManagementApiClient
。您缺少apiClient.PostToConnectionAsync()
的await
关键字:否则,您将在不等待完成的情况下调用
PostToConnectionAsync()
,并且您的Lambda可能会在请求运行 * 之前 * 完成并退出,您将永远不会知道这一点。(参见asynchronous concepts了解详细信息)或者,不要使用异步方法: