sendMessage
SQSClient.sendMessageBatch(queueUrl, entries)
将最多十条消息发送到指定的 Amazon Simple Queue Service (SQS) 队列。
参数
名称 | 类型 | 描述 |
---|---|---|
queueUrl | string | 消息发送到的 Amazon SQS 队列的 URL。队列 URL 和名称区分大小写。 |
entries | SendMessageBatchEntry | 最多十条要发送的消息列表。 |
SendMessageBatchEntry
名称 | 类型 | 描述 |
---|---|---|
messageId | string | 批处理条目消息的标识符。 |
messageBody | string | 要发送的消息。最小大小为一个字符,最大大小为 256 KB。 |
messageOptions? | SendMessageOptions>) (可选) | 请求的选项。 |
返回值
类型 | 描述 |
---|---|
Promise<[MessageBatchResponse](#messagebatchresponse)> | 一个 Promise,在批处理消息创建响应时完成。 |
MessageBatchResponse
名称 | 类型 | 描述 |
---|---|---|
successful | object[] | 一个成功消息列表,每个消息是包含 id 字符串属性(保存消息的唯一标识符)和 bodyMD5 字符串属性(保存非 URL 编码的消息体字符串的 MD5 摘要)的对象。 |
failed | SQSServiceError[] | 错误响应列表。 |
示例
import exec from 'k6/execution';
import {
AWSConfig,
SQSClient,
} from 'https://jslib.k6.io/aws/0.13.0/sqs.js';
const awsConfig = new AWSConfig({
region: __ENV.AWS_REGION,
accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
sessionToken: __ENV.AWS_SESSION_TOKEN,
});
const sqs = new SQSClient(awsConfig);
const testQueue = 'https://sqs.us-east-1.amazonaws.com/000000000/test-queue';
export default async function () {
// If our test queue does not exist, abort the execution.
const queuesResponse = await sqs.listQueues();
if (queuesResponse.queueUrls.filter((q) => q === testQueue).length == 0) {
exec.test.abort();
}
// Prepare a bunch of batch messages to add to the queue
const messageBatch = [
{ messageId: '0', messageBody: 'test0' },
{ messageId: '1', messageBody: 'test1' },
];
// Send the batch of messages to the queue
await sqs.sendMessageBatch(testQueue, messageBatch);
}