INTEGRITY Dokumentace

Oznámení o událostech

Oznámení o událostech odesílají zprávy do vaší fronta při změně dat ve vašem bucketu R2. Tyto zprávy můžete zpracovávat pomocí přijímající Worker nebo stahování přes HTTP mimo Cloudflare Workers.

Začínáme s oznámeními o událostech

Předpoklady

Než začnete, budete potřebovat:

Povolení oznámení o událostech přes Dashboard

  1. V dashboardu Cloudflare přejděte na Objektové úložiště R2 stránce.

    Přejděte na Přehled ↗
  2. Vyberte bucket, ke kterému chcete přidat pravidlo pro oznámení o události.

  3. Přepněte na Nastavení kartě, poté přejděte dolů k Oznámení o událostech kartě.

  4. Vyberte Přidání oznámení a vyberte frontu, do které chcete přijímat oznámení, a typ událostí které je spustí.

  5. Vyberte Přidání oznámení.

Povolení oznámení o událostech přes Wrangler

Nastavení Wrangler

Nejprve nainstalujte npm. Poté nainstalujte Wrangler, CLI vývojářské platformy.

Povolte oznámení o událostech pro váš bucket R2

Přihlaste se do Wrangleru pomocí wrangler login příkaz. Poté přidejte pravidlo oznámení o události do vašeho bucketu spuštěním r2 bucket notification create příkaz.

npx wrangler r2 bucket notification create <BUCKET_NAME> --event-type <EVENT_TYPE> --queue <QUEUE_NAME>

Chcete-li přidat filtrování na základě prefix nebo suffix použijte --prefix nebo --suffix příznak, v tomto pořadí.

# Filter using prefix
$ npx wrangler r2 bucket notification create <BUCKET_NAME> --event-type <EVENT_TYPE> --queue <QUEUE_NAME> --prefix "<PREFIX_VALUE>"

# Filter using suffix
$ npx wrangler r2 bucket notification create <BUCKET_NAME> --event-type <EVENT_TYPE> --queue <QUEUE_NAME> --suffix "<SUFFIX_VALUE>"

# Filter using prefix and suffix. Both the conditions will be used for filtering
$ npx wrangler r2 bucket notification create <BUCKET_NAME> --event-type <EVENT_TYPE> --queue <QUEUE_NAME> --prefix "<PREFIX_VALUE>" --suffix "<SUFFIX_VALUE>"

Úplnější příklad krok za krokem naleznete v Protokolujte a ukládejte události nahrávání v R2 pomocí Event Notifications příklad.

Pravidla oznámení o událostech

Pravidla oznámení o událostech určují typy událostí které spouštějí oznámení a volitelně umožňují filtrování na základě objektu prefix a suffix. Na jeden R2 bucket můžete mít až 100 event notification rules.

Typy událostí

Typ události Popis Spouštěcí akce
object-create Aktivuje se, když se vytvoří nové objekty nebo přepíšou existující objekty.
  • PutObject
  • CopyObject
  • CompleteMultipartUpload
object-delete Aktivuje se, když je objekt výslovně odstraněn z bucketu.
  • DeleteObject
  • LifecycleDeletion

Formát zprávy

Konzumenti fronty dostávají oznámení ve formátu Zprávy. Následuje příklad těla zprávy, kterou obdrží consumer Worker:

{
	"account": "3f4b7e3dcab231cbfdaa90a6a28bd548",
	"action": "CopyObject",
	"bucket": "my-bucket",
	"object": {
		"key": "my-new-object",
		"size": 65536,
		"eTag": "c846ff7a18f28c2e262116d6e8719ef0"
	},
	"eventTime": "2024-05-24T19:36:44.379Z",
	"copySource": {
		"bucket": "my-bucket",
		"object": "my-original-object"
	}
}

Vlastnosti

Vlastnost Typ Popis
account Řetězec ID účtu Cloudflare, se kterým je událost spojena.
action Řetězec Typ akce, která vyvolala oznámení o události. Mezi příklady akcí patří: PutObject, CopyObject, CompleteMultipartUpload, DeleteObject.
bucket Řetězec Název bucketu, ve kterém k události došlo.
object Objekt Vnořený objekt obsahující podrobnosti o objektu, kterého se událost týká.
object.key Řetězec Klíč (neboli název) objektu v rámci bucketu.
object.size Číslo Velikost objektu v bajtech. Poznámka: není přítomna u událostí object-delete.
object.eTag Řetězec Značka entity (eTag) objektu. Poznámka: není přítomna u událostí odstranění objektu.
eventTime Řetězec Čas, kdy došlo k akci, která událost vyvolala.
copySource Objekt Vnořený objekt obsahující podrobnosti o zdroji zkopírovaného objektu. Poznámka: přítomen pouze u událostí vyvolaných CopyObject.
copySource.bucket Řetězec Bucket, který obsahoval zdrojový objekt.
copySource.object Řetězec Název zdrojového objektu.

Poznámky