Sandboxing
To facilitate testing, experimentation, or the execution of newly designed code without compromising the integrity of the overall system we now provide a Sandboxing function.
Rules can be run in Sandbox mode when running rules internally or externally.
To execute a Rule from outside
Add header “sandbox=STUB”
From inside
Set the field “AlterianCX_sandbox” to “STUB”
With sandboxing is active we can run rules but limit what some of the steps do. We can then assess whether the rules are working as you would expect as the rows flow through without the rule doing actions or changing data that may be wrong.
Step Type | Change caused by Sandboxing |
---|---|
AMPQ | Will not send messages to an AMQP sink |
Will not write values to an Azure file | |
Read-only access to Cassandra. Values will be read, but not written or updated. TTLS remain unaffected on a read | |
Read and limited write access to Cassandra. Events will be generated with a unique (mangled) key to avoid collision with non-sandboxed events | |
Read-only access to Cassandra. Existing CXID’s will be looked up but not refreshed, new ones generated but not stored. | |
Will not send emails. Deployment ID will be 0 | |
HTTP | HTTP requests will not be made. Fields generated by this step will be blank |
HTTPPost | HTTP post requests will not be made. Fields generated by this step will be blank |
Scripts will not be written, and data will not be bulk loaded into Engine. Rows will be output immediately without batching | |
Internal step / activeConversationProcessor | This is an internal only step and included for completeness. Read-only access to Cassandra. Conversations will not be started or extended |
Internal step / serviceCostProcessor | This is an internal only step and included for completeness. Service costs will be calculated, but not stored in Cassandra |
Read-only access to Cassandra. Tests will be run, but success or failure will not be recorded | |
Read and write access to Cassandra. Processes events for sandboxed events, unmangles the key, and maintains the sandbox value for the row | |
Will not write events to the queue | |
Will not raise events with a CM system | |
Rule will be invoked. Sandbox option will be maintained in the invoked rule | |
Rest | Rest calls will not be made. Fields generated by this step will be blank |
Will not write values to an S3 file | |
Read-only access to Cassandra. The counter will generate repeated (i.e. non-sequential) values based on the last non-sandboxed value generated. | |
Works as normal. Sandboxed rows have their own mangled key so the throttle throughput is isolated from non-sandboxed rows | |
Webservice | Webservice calls will not be made. Fields generated by this step will be blank |
WebServiceAvailable | Webservice calls will not be made. Fields generated by this step will be blank |