AWSLambda在发送批处理异步消息到SQS时不一致地完成。
创始人
2024-09-26 10:31:33
0

使用AWS SDK for .NET中的AmazonSQSClient可以解决该问题。该客户端提供了异步API SendMessageBatchAsync 来将批处理消息发送到SQS并返回异步任务。您可以使用 await Task.WhenAll 来等待所有异步任务完成,然后进行下一步操作。

示例代码如下:

using Amazon;
using Amazon.SQS;
using Amazon.SQS.Model;

public async Task> SendMessagesAsync(
    IEnumerable entries,
    string queueUrl)
{
    var responses = new List();
    var client = new AmazonSQSClient(RegionEndpoint.USEast1);
    const int MaxMessagesPerRequest = 10;

    var batches = entries.Batch(MaxMessagesPerRequest);
    foreach (var batch in batches)
    {
        var request = new SendMessageBatchRequest
        {
            Entries = batch.ToList(),
            QueueUrl = queueUrl
        };
        var response = await client.SendMessageBatchAsync(request);
        responses.Add(response);
    }

    return responses.AsReadOnly();
}

public async Task ProcessMessagesAsync(IEnumerable messages)
{
    var tasks = messages.Select(async message =>
    {
        // Process message here
    });
    await Task.WhenAll(tasks.ToArray());
}

在使用上述代码发送异步批处理消息后,使用另一异步方法 ProcessMessagesAsync 处理从队列中接收到的所有消息。当发送和处理完所有消息后,您可以结束Lambda函数。

相关内容

热门资讯

1分钟了解!德扑之星比赛创建设... 1分钟了解!德扑之星比赛创建设置,微扑克辅助器ios,爆料教程(从前是有挂)1、超多福利:超高返利,...
透视代打!aapoker辅助插... 透视代打!aapoker辅助插件工具下载,决战十水三辅助,插件教程(有挂技巧);支持多人共享记分板与...
玩家必备教程!wpk俱乐部盈利... 玩家必备教程!wpk俱乐部盈利模式,微扑克德州专用辅助器,辅助教程(最初存在有挂)1、微扑克德州专用...
透视好牌!德普之星透视辅助软件... 1、透视好牌!德普之星透视辅助软件下载,wepoker辅助软件视频,安装教程(有挂透明)。2、wep...
如何分辨真伪!约局吧辅牌器,a... 您好,aapoker挂这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
透视代打!德普之星透视辅助软件... 透视代打!德普之星透视辅助软件是真的吗,奇迹陕西游戏辅助,微扑克教程(有挂方法);致您一封信;亲爱奇...
每日必看教程!we poke有... 每日必看教程!we poke有挂吗,智星德州菠萝,介绍教程(果然是真的有挂)1、智星德州菠萝ai机器...
透视免费!智星德州辅助译码插件... 1、透视免费!智星德州辅助译码插件靠谱吗,约局吧可以看到别人的底牌,2025新版教程(有挂透明)(U...
2分钟细说!aa扑克平台,we... 2分钟细说!aa扑克平台,we辅助poker德之星,黑科技教程(原本有挂);致您一封信;亲爱we辅助...
透视智能ai!aapoker透... 透视智能ai!aapoker透视插件下载,雀姬辅助脚本,必备教程(有挂技巧)关于雀姬辅助脚本机制的,...