DSLTop Level ElementsNaming Conventions

Naming Conventions

ArtifactConventionPatternExample
App namesnake_case^[a-z][a-z0-9_]*$concert_app
Entity type (state key)snake_case^[a-z][a-z0-9_]*$user, artist
Stream nameauto-derived<state>_streamuser_stream
Event typeSCREAMING_SNAKE_CASE^[A-Z][A-Z0-9_]*$ARTIST_FOLLOWED
Action nameSCREAMING_SNAKE_CASE^[A-Z][A-Z0-9_]*$FOLLOW_ARTIST
Rejection codeSCREAMING_SNAKE_CASETICKET_LIMIT_EXCEEDED
Projection namesnake_case^[a-z][a-z0-9_]*$user_concert_stats
Query namesnake_case^[a-z][a-z0-9_]*$my_concert_history
Relationship namesnake_case^[a-z][a-z0-9_]*$artist_followers
Rule namesnake_casereject_duplicate_checkin
Field path (ops)slash notation/inventory/gold/shows_attended
Field path (expressions)dot notationentity.inventory.goldentity.shows_attended
Scratch space_tmp/ prefix_tmp/pending_saga
Iterator (find/filter/remove)itit.product_id == event.id
Iterator (emit_each/for_each)itemitem.quantity