Workflows now provides additional context inside step.do() callbacks and supports returning ReadableStream to handle larger step outputs.
Step context properties
The step.do() callback receives a context object with new properties alongside attempt:
step.name— The name passed tostep.do()step.count— How many times a step with that name has been invoked in this instance (1-indexed)- Useful when running the same step in a loop.
config— The resolved step configuration, includingtimeoutandretrieswith defaults applied
type ResolvedStepConfig = { retries: { limit: number; delay: WorkflowDelayDuration | number; backoff?: "constant" | "linear" | "exponential"; }; timeout: WorkflowTimeoutDuration | number;};
type WorkflowStepContext = { step: { name: string; count: number; }; attempt: number; config: ResolvedStepConfig;};ReadableStream support in step.do()
Steps can now return a ReadableStream directly. Although non-stream step outputs are limited to 1 MiB, streamed outputs support much larger payloads.
const largePayload = await step.do("fetch-large-file", async () => { const object = await env.MY_BUCKET.get("large-file.bin"); return object.body;});Note that streamed outputs are still considered part of the Workflow instance storage limit.
Source: Cloudflare
Latest Posts
- Introducing the Amazon EKS Hybrid Nodes gateway for hybrid Kubernetes networking

- Amazon CloudWatch Logs Insights introduces JOIN and sub-query commands

- Amazon Location Service now offers bulk address validation for the United States, Canada, Australia, and the United Kingdom

- AWS Glue now supports OAuth 2.0 for Snowflake connectivity






