largepayloads

command
v1.0.0-beta2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2026 License: Apache-2.0 Imports: 22 Imported by: 0

README

Large payloads sample

Demonstrates Durable Task Scheduler large-payload externalization and hydration with the public payload.AzureBlobStore and durabletaskscheduler APIs.

Features

  • Forces a 64-byte externalization threshold and sends a payload larger than it.
  • Uses Azure Blob blob:v2 references and optional gzip compression.
  • Verifies the orchestration output hash and downloads the actual blob objects.
  • Creates a unique owned container every run and deletes it during cleanup.

Prerequisites

  • DTS_CONNECTION_STRING for an isolated DTS task hub.
  • AZURE_STORAGE_CONNECTION_STRING; EXPORT_STORAGE_CONNECTION_STRING is also accepted for compatibility.
  • For local Azurite over plaintext HTTP, set DTS_SAMPLE_ALLOW_INSECURE_STORAGE=1. The sample rejects non-loopback plaintext endpoints.

Do not commit emulator keys. Local automation should generate the Azurite account key at runtime.

Run

# from the repository root
go run ./samples/largepayloads

Optional variants:

LARGEPAYLOADS_DISABLE_GZIP=1 go run ./samples/largepayloads

Expected outcome

The process exits with status 0 and prints:

SAMPLE_OK largepayloads

Cleanup

The orchestration is recursively terminated/purged before shutdown. The unique owned container is deleted. The sample does not accept an existing container, so it never deletes another writer's blobs.

Required validation variants

Integration validation should run the default gzip-enabled command and the LARGEPAYLOADS_DISABLE_GZIP=1 variant against DTS and Azurite.

Documentation

Overview

Command largepayloads verifies Azure Blob backed large-payload externalization and hydration against a live Durable Task Scheduler hub.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL