我的 SQS 队列没有显示来自 aws-sdk 的任何消息 node.js
My SQS queue doesn't show any messages in flight from aws-sdk with node.js
我的密码是
const AWS = require('aws-sdk')
AWS.config.update({ accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY })
const sqs = new AWS.SQS({ region: 'us-east-1' })
return Promise.map(utxos, (utxo) => {
console.log({
QueueUrl: process.env.SQS_URL,
MessageBody: {
txid: utxo.txid,
CurrencyId: CurrencyId,
address: utxo.address
}
})
return sqs.sendMessage({
QueueUrl: process.env.SQS_URL,
MessageBody: JSON.stringify({
txid: utxo.txid,
CurrencyId: CurrencyId,
address: utxo.address
})
}, (err, response) => {
console.log('err', err)
console.log('response', response)
})
})
但是,当我查看我的 aws 控制台时,我没有看到任何消息。我使用的是标准队列,而不是 FIFO。
有什么问题吗?
2 console.log 从不打印。但是第一个使用所有正确的参数。
我认为问题在于您没有在 Promise.map
中返回承诺
像这样包装您的 sqs 代码应该可行
return new Promise((resolve, reject)=>{
sqs.sendMessage({
QueueUrl: process.env.SQS_URL,
MessageBody: JSON.stringify({
txid: utxo.txid,
CurrencyId: CurrencyId,
address: utxo.address
})
}, (err, response) => {
console.log('err', err)
console.log('response', response)
if(err)(reject(err))
resolve(response);
})
});
我的密码是
const AWS = require('aws-sdk')
AWS.config.update({ accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY })
const sqs = new AWS.SQS({ region: 'us-east-1' })
return Promise.map(utxos, (utxo) => {
console.log({
QueueUrl: process.env.SQS_URL,
MessageBody: {
txid: utxo.txid,
CurrencyId: CurrencyId,
address: utxo.address
}
})
return sqs.sendMessage({
QueueUrl: process.env.SQS_URL,
MessageBody: JSON.stringify({
txid: utxo.txid,
CurrencyId: CurrencyId,
address: utxo.address
})
}, (err, response) => {
console.log('err', err)
console.log('response', response)
})
})
但是,当我查看我的 aws 控制台时,我没有看到任何消息。我使用的是标准队列,而不是 FIFO。
有什么问题吗?
2 console.log 从不打印。但是第一个使用所有正确的参数。
我认为问题在于您没有在 Promise.map
像这样包装您的 sqs 代码应该可行
return new Promise((resolve, reject)=>{
sqs.sendMessage({
QueueUrl: process.env.SQS_URL,
MessageBody: JSON.stringify({
txid: utxo.txid,
CurrencyId: CurrencyId,
address: utxo.address
})
}, (err, response) => {
console.log('err', err)
console.log('response', response)
if(err)(reject(err))
resolve(response);
})
});