Amazon Simple Queue Service
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

教程:将消息发送到 Amazon SQS 队列

在创建队列之后,可向其发送消息。以下示例演示了如何向现有队列发送消息。

AWS 管理控制台

  1. 登录 AWS 管理控制台并通过以下网址打开 Amazon SQS 控制台:https://console.amazonaws.cn/sqs/

  2. 从队列列表中选择一个队列。

  3. Queue Actions 下拉列表中,选择 Send a Message

    将显示 Send a Message to QueueName 对话框。

    以下示例显示了特定于 FIFO 队列 (已禁用基于内容的重复数据删除) 的 Message Group IDMessage Deduplication ID 参数。

  4. 要将消息发送到 FIFO 队列,请键入 Message BodyMessage Group IDMyMessageGroupId1234567890Message Deduplication IDMyMessageDeduplicationId1234567890,然后选择 Send Message。有关更多信息,请参阅 FIFO 队列逻辑

    注意

    始终需要 message group ID。但是,如果启用 content-based deduplication,则 message deduplication ID 是可选的。

    您的消息将会发送,并显示 Send a Message to QueueName 对话框,其中将显示已发送消息的属性。

    以下示例显示了特定于 FIFO 队列的 Sequence Number 属性。

  5. 选择 Close

Java

在您开始处理示例代码之前,请指定 AWS 凭证。有关更多信息,请参阅 AWS SDK for Java Developer Guide 中的设置用于开发的 AWS 凭证

向 标准 队列发送消息

  1. 复制示例程序

    以下代码部分将向您的队列发送 This is my message text. 消息:

    Copy
    // Send a message System.out.println("Sending a message to MyQueue.\n"); sqs.sendMessage(new SendMessageRequest() .withQueueUrl(myQueueUrl) .withMessageBody("This is my message text."));
  2. 编译并运行示例。

    消息 发送到队列。此响应包含下列项目:

    • Amazon SQS 分配给该消息的消息 ID

    • 消息正文的 MD5 摘要,用于确认 Amazon SQS 正确接收了消息 (有关更多信息,请参阅 RFC1321)。

    • Amazon SQS 分配给您的请求的请求 ID

向 FIFO 队列发送消息

  1. 复制示例程序

    以下代码部分将向您的队列发送 This is my message text. 消息:

    Copy
    // Send a message System.out.println("Sending a message to MyFifoQueue.fifo.\n"); SendMessageRequest sendMessageRequest = new SendMessageRequest(myQueueUrl, "This is my message text."); // You must provide a non-empty MessageGroupId when sending messages to a FIFO queue sendMessageRequest.setMessageGroupId("messageGroup1"); // Uncomment the following to provide the MessageDeduplicationId //sendMessageRequest.setMessageDeduplicationId("1"); SendMessageResult sendMessageResult = sqs.sendMessage(sendMessageRequest); String sequenceNumber = sendMessageResult.getSequenceNumber(); String messageId = sendMessageResult.getMessageId(); System.out.println("SendMessage succeed with messageId " + messageId + ", sequence number " + sequenceNumber + "\n");
  2. 编译并运行示例。

    消息将会发送到您的队列。

本页内容: