すべてのプロダクト
Search
ドキュメントセンター

:QueueMessage

最終更新日:Mar 14, 2025

QueueMessage は、Simple Message Queue (旧称 MNS) キューに送信されるメッセージを指定します。SMQ キューにメッセージを送信するときに、メッセージの本文、遅延時間、および優先度を指定できます。このトピックでは、キューメッセージのパラメーター、タイプ、およびステータスについて説明します。

パラメーター

  • MessageId

    • メッセージの ID です。

    • このパラメーターは、SendMessage、BatchSendMessage、ReceiveMessage、BatchReceiveMessage、PeekMessage、または BatchPeekMessage オペレーションを呼び出すときに返されます。

    • キュー内の各メッセージには、一意のメッセージ ID があります。

    • キューにメッセージを送信すると、SMQ はメッセージの ID を生成します。メッセージ ID が生成された後、変更することはできません。データ検証にメッセージ ID を使用できます。

  • NextVisibleTime

    • メッセージをコンシュームできる時刻です。この値は、エポックタイム 1970 年 1 月 1 日 00:00:00 UTC から経過したミリ秒数を表す UNIX タイムスタンプです。

    • このパラメーターは、ReceiveMessage、BatchReceiveMessage、または ChangeMessageVisibility オペレーションを呼び出すときに返されます。

  • ReceiptHandle

    • メッセージの受信ハンドルです。

    • このパラメーターは、ReceiveMessage、BatchReceiveMessage、または ChangeMessageVisibility オペレーションを呼び出すときに返されます。

    • メッセージの受信ハンドルを使用して、非アクティブ状態のメッセージを変更または削除できます。受信ハンドルは、NextVisibleTime パラメーターで指定された時刻より前に有効です。指定された時刻の後に受信ハンドルを使用すると、SMQ は MessageNotExist エラーメッセージを返します。

    • 各受信ハンドルは 1 回だけ使用できます。受信ハンドルによって識別されるメッセージのステータスが変更されると、受信ハンドルは期限切れになります。

  • MessageBody

    • メッセージの本文です。

    • このパラメーターは、ReceiveMessage、BatchReceiveMessage、PeekMessage、または BatchPeekMessage オペレーションを呼び出すときに返されます。

  • MessageBodyMD5

    • メッセージ本文の MD5 ハッシュです。

    • このパラメーターは、SendMessage、BatchSendMessage、ReceiveMessage、BatchReceiveMessage、PeekMessage、または BatchPeekMessage オペレーションを呼び出すときに返されます。

  • EnqueueTime

    • メッセージがキューに送信された時刻です。この値は、エポックタイム 1970 年 1 月 1 日 00:00:00 UTC から経過したミリ秒数を表す UNIX タイムスタンプです。

    • このパラメーターは、ReceiveMessage、BatchReceiveMessage、PeekMessage、または BatchPeekMessage オペレーションを呼び出すときに返されます。

  • FirstDequeueTime

    • メッセージが最初にコンシュームされた時刻です。この値は、エポックタイム 1970 年 1 月 1 日 00:00:00 UTC から経過したミリ秒数を表す UNIX タイムスタンプです。

    • このパラメーターは、ReceiveMessage、BatchReceiveMessage、PeekMessage、または BatchPeekMessage オペレーションを呼び出すときに返されます。

    • メッセージがコンシュームされたことがない場合、このパラメーターの値は EnqueueTime パラメーターの値と同じです。

  • DequeueCount

    • メッセージがコンシュームされた合計回数です。

    • このパラメーターは、ReceiveMessage、BatchReceiveMessage、PeekMessage、または BatchPeekMessage オペレーションを呼び出すときに返されます。

  • Priority

    • メッセージの優先度です。有効な値:1 ~ 16。値 1 は最高の優先度を示します。

    • このパラメーターは、ReceiveMessage、BatchReceiveMessage、PeekMessage、または BatchPeekMessage オペレーションを呼び出すときに返されます。

    • キューに優先度の異なるメッセージが含まれている場合、ReceiveMessage オペレーションを呼び出すと、優先度の高いメッセージを先にコンシュームできます。

    • SMQ は、データストライピング機能のため、メッセージがコンシュームされる順序を保証しません。

メッセージタイプ

遅延メッセージ

  • 遅延メッセージがキューに送信された後、DelaySeconds パラメーターで指定された期間が終了するまで、メッセージをコンシュームすることはできません。

  • キューの DelaySeconds パラメーターを指定できます。SendMessage または BatchSendMessage オペレーションを呼び出すときに DelaySeconds パラメーターを指定することもできます。

メッセージステータス

  • 標準メッセージが標準キューに送信されると、メッセージはアクティブ状態になります。メッセージが受信されると、メッセージは非アクティブ状態になります。メッセージは、VisibilityTimeout パラメーターで指定された期間内に非アクティブ状態のままになります。指定された期間内にメッセージがコンシュームされない場合、メッセージはアクティブ状態になります。指定された期間内にメッセージが削除されると、メッセージは削除済み状態になります。

  • 標準メッセージが遅延キューに送信されると、メッセージは遅延状態になります。DelaySeconds パラメーターで指定された期間が終了すると、メッセージはアクティブ状態になります。

  • 遅延メッセージがキューに送信されると、メッセージは遅延状態になります。DelaySeconds パラメーターで指定された期間が終了すると、メッセージはアクティブ状態になります。

  • メッセージをキューに保持できる最大期間は、MessageRetentionPeriod パラメーターで指定されます。指定された期間が終了すると、メッセージは期限切れ状態になります。その後、メッセージはガベージコレクターによってリサイクルされます。

  • アクティブ状態のメッセージのみを受信できます。