Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中异步发送SQS消息?_Python_Node.js_Amazon Web Services_Asynchronous_Amazon Sqs - Fatal编程技术网

如何在python中异步发送SQS消息?

如何在python中异步发送SQS消息?,python,node.js,amazon-web-services,asynchronous,amazon-sqs,Python,Node.js,Amazon Web Services,Asynchronous,Amazon Sqs,下面是我的Python代码: sqs = boto3.resource('sqs') queue = sqs.get_queue_by_name(Queue='test') msg = 'hello world' for i in range(0,1000): queue.send_message(MessageBody = msg) print("Message Sent") 下面是Node.js版本: var sqs = new AWS.SQS({apiVersion: '

下面是我的Python代码:

sqs = boto3.resource('sqs')
queue = sqs.get_queue_by_name(Queue='test')
msg = 'hello world'
for i in range(0,1000):
    queue.send_message(MessageBody = msg)
    print("Message Sent")
下面是Node.js版本:

var sqs = new AWS.SQS({apiVersion: '2012-11-05'});
var params = {
    MessageBody: 'hello world',
    QueueUrl: // Queue URL here
};
for(var i = 0; i < 1000; i++){
    sqs.sendMessage(params, function(err,data){
        if(err){
            throw err;
        } else {
            console.log("Message Sent");
        }
    })
}
var sqs=new AWS.sqs({apiVersion:'2012-11-05'});
变量参数={
MessageBody:'你好,世界',
QueueUrl://此处为Queue URL
};
对于(变量i=0;i<1000;i++){
sqs.sendMessage(参数、函数(错误、数据){
如果(错误){
犯错误;
}否则{
控制台日志(“已发送消息”);
}
})
}

我的问题是,使用Python脚本发送1000条消息需要更长的时间,因为它是同步运行的,而Node.js是异步运行的。我到处都找过了,似乎找不到用Python异步发送消息的方法。非常感谢您的洞察力。

boto3库不支持异步调用。有一个库支持S3,并在SQS上进行了一些测试,称为aiobotocore。这些链接提供了更多信息:


谢谢。我会调查这些。