@artilleryio/platform-fargate
Version:
Fargate support for Artillery
1 lines • 818 B
JavaScript
const SQS=require("aws-sdk/clients/sqs"),uuidv4=require("uuid")["v4"];class AWSSQSQueue{constructor(opts){return this.queueUrl=opts.queueUrl,this.region=opts.region,this.sqs=new SQS({apiVersion:"2012-11-05",region:this.region}),this.messageGroupId=opts.messageGroupId,this}async send(message,tags,opts){var key,value,messageAttributes={};for({key,value}of tags)messageAttributes[key]={},"string"==typeof value?messageAttributes[key].DataType="String":"number"==typeof value&&(messageAttributes[key].DataType="Number"),messageAttributes[key].StringValue=String(value);return await this.sqs.sendMessage({MessageAttributes:messageAttributes,MessageBody:JSON.stringify(message),QueueUrl:this.queueUrl,MessageDeduplicationId:uuidv4(),MessageGroupId:this.messageGroupId}).promise()}}module.exports={AWSSQSQueue:AWSSQSQueue};