Events
Publishing model
The primary event type (EventBridge detail-type) the PIM Service publishes for individual entity changes is INDEX_REQUESTED. The specific entity change (e.g. PRODUCT_CREATED) is carried in an inner event field within the payload. The published envelope carries the changed document plus its entity type and action, a subject of the form INDEX_REQUESTED/<instanceId>/<innerEvent>, and a source of pim-service.
In addition, the bulk-indexing fan-out publishes two further detail-types (also source pim-service, same event bus) that the service consumes itself to process large re-index jobs in parallel: BULK_INDEX_CHUNK (a chunk of product IDs to index) and BULK_CATEGORY_INDEX_CHUNK (a chunk of category IDs). Bulk import/export/indexer jobs additionally emit batch.execution.progress, batch.execution.completed and batch.execution.failed status events (via the batch framework) so orchestration can track job lifecycle.
- Event bus:
EVENT_BUS_NAME(defaulteq-pim-service-eventbus) - Region:
AWS_REGION(defaultus-east-1) - Local fallback: if publishing fails outside a serverless environment, the service performs indexing in-process so indexing still works locally.
Inner event values
These entity-change signals are carried inside the INDEX_REQUESTED payload:
| Inner event | Trigger |
|---|---|
PRODUCT_CREATED / PRODUCT_UPDATED / PRODUCT_DELETED |
Product create/update/delete (non-workflow path) |
SKU_CREATED / SKU_UPDATED / SKU_DELETED |
SKU changes → product reindex |
PRICE_CREATED / PRICE_UPDATED / PRICE_DELETED |
Price changes → resolve SKU→product → reindex |
CATEGORY_CREATED / CATEGORY_UPDATED / CATEGORY_DELETED |
Category changes → index category + reindex products |
NAVIGATION_CREATED / NAVIGATION_UPDATED / NAVIGATION_DELETED |
Navigation changes → index/delete category docs |
PRODUCT_CHUNK_INDEX |
Internally re-published for large products (chunked indexing) |
Consumed events
The service handles the following inbound events:
| Event | Purpose |
|---|---|
INDEX_REQUESTED |
Dispatches indexing by the inner entity-change event |
BULK_INDEX_CHUNK |
Batch product indexing chunk (self-published by the fan-out) |
BULK_CATEGORY_INDEX_CHUNK |
Batch category indexing chunk (self-published by the fan-out) |
Marketplace lifecycle events (e.g. app.enabled) |
Handled by the marketplace connector host |
Note on entity events: the PIM Service does not emit a distinct bus event per entity (no standalone
PRODUCT_CREATEDbus event). All entity changes are wrapped inINDEX_REQUESTED. Consumers wanting entity notifications must read the inner event value. Beyond indexing (INDEX_REQUESTEDplus the self-consumedBULK_INDEX_CHUNK/BULK_CATEGORY_INDEX_CHUNKfan-out) and thebatch.execution.*job-status events, there is no dedicated outbound “domain event” publisher.
Revision History
2026-08-04 | JP – Created the page and added the content.