Skip to content

At-Least-Once Queue 0.1.0

順序を保証せず、少なくとも1回配信するメッセージをキューに保存します。

公開パッケージの内容を取得して検証済みです。

Hostの対応や受け入れ判断は、パッケージの公開とは別です。このバージョンを使う前に、利用先のHostで確認してください。

使い方

保存期間は必須で、配信遅延の既定値は0です。一つのキューに接続できるConsumerは最大一つです。送信側と受信側は別々に設定します。

関連するForms: QueueConsumer 0.1.0 · WorkerVersion 0.3.0

定義の説明(英語原文)

Message queue with at-least-once delivery and no ordering guarantee, exactly as fixed by the edge.queue Interface. There is no ordering field: a FIFO queue is a different Form. Message bodies are opaque bytes, a message identity is stable across redeliveries, and a queue has AT MOST ONE consumer — two would split the stream between two retry policies and two dead-letter destinations, which leaves the queue's own behavior unstatable (decision 0020).

設定項目

項目名とスキーマ内の説明は、パッケージに含まれる英語の原文です。日本語の解説は定義に要件を追加するものではありません。

deliveryDelaySeconds

任意 · integer

Default delay before a sent message becomes deliverable, in seconds. Omitting it delivers immediately.

  • default: 0
  • maximum: 43200
  • minimum: 0

messageRetentionSeconds

必須 · integer

How long an undelivered message is retained before it is dropped, in seconds.

  • maximum: 1209600
  • minimum: 60

設定の例

パッケージに含まれるfixtures/desired.jsonをそのまま掲載しています。完全なHost APIリクエストやOpenTofuの設定ではありません。例のリソース参照とArtifactのダイジェストは、実際の値に置き換えてください。このJSONだけでリソースが作成されることはありません。

json
{
  "deliveryDelaySeconds": 0,
  "messageRetentionSeconds": 345600
}

例の原文を見る

設定のスキーマ全文(英語原文)

入れ子の項目、選択肢、すべてのスキーマ制約を以下に掲載しています。Hostが検証する意味上の規則は、定義の説明にも記載されています。

json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Message queue with at-least-once delivery and no ordering guarantee, exactly as fixed by the edge.queue Interface. There is no ordering field: a FIFO queue is a different Form. Message bodies are opaque bytes, a message identity is stable across redeliveries, and a queue has AT MOST ONE consumer — two would split the stream between two retry policies and two dead-letter destinations, which leaves the queue's own behavior unstatable (decision 0020).",
  "properties": {
    "deliveryDelaySeconds": {
      "default": 0,
      "description": "Default delay before a sent message becomes deliverable, in seconds. Omitting it delivers immediately.",
      "maximum": 43200,
      "minimum": 0,
      "type": "integer"
    },
    "messageRetentionSeconds": {
      "description": "How long an undelivered message is retained before it is dropped, in seconds.",
      "maximum": 1209600,
      "minimum": 60,
      "type": "integer"
    }
  },
  "required": [
    "messageRetentionSeconds"
  ],
  "title": "At-Least-Once Queue desired state",
  "type": "object"
}

ライフサイクル

役割: identity

  • create
  • read
  • update
  • delete
  • import
  • observe

提供するInterface

  • edge.queue@1.0.0sha256:d8ed5c673cb544f5b2bd61aa66ac1c1a716276cf072232b3a0d06471403c2ff7

パッケージ参照

項目
KindAtLeastOnceQueue
Package digestsha256:6777eacc4ce141342f97f4bb06e2adaeb714461c0f2f91226f7f4c6f1a0c19b9
Schema digestsha256:0355b4d3073bc2707fccb6edd8c90350892059ecf08abfec00a00d950c9eaa0e
Tagforms/k-mvsgozjomzxxe3ltfz2gc23pmzxxe3jomnxw2l2borggkyltorhw4y3fkf2wk5lf/sha256-6777eacc4ce141342f97f4bb06e2adaeb714461c0f2f91226f7f4c6f1a0c19b9
Source pathforms/releases/k-mvsgozjomzxxe3ltfz2gc23pmzxxe3jomnxw2l2borggkyltorhw4y3fkf2wk5lf/sha256-6777eacc4ce141342f97f4bb06e2adaeb714461c0f2f91226f7f4c6f1a0c19b9
署名セットe7f8a39311dd011b8467e97e7f300cabb9a6b06c

変更不可のパッケージを開く

4項目のFormRef
json
{
  "apiVersion": "edge.forms.takoform.com",
  "kind": "AtLeastOnceQueue",
  "definitionVersion": "0.1.0",
  "schemaDigest": "sha256:0355b4d3073bc2707fccb6edd8c90350892059ecf08abfec00a00d950c9eaa0e"
}