Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,11 @@ The Go SDK includes an S3 storage driver. Follow these steps to set it up:

- An Amazon S3 bucket that you have read and write access to. Refer to [lifecycle management](/external-storage#lifecycle)
to ensure that your payloads remain available for the entire lifetime of the Workflow.
- Install the S3 driver module: `go get go.temporal.io/sdk/contrib/aws/s3driver`
- Install the S3 driver module and its dependencies: `go get go.temporal.io/sdk/contrib/aws/s3driver go.temporal.io/sdk/contrib/aws/s3driver/awssdkv2 github.com/aws/aws-sdk-go-v2/config github.com/aws/aws-sdk-go-v2/service/s3`

### Procedure

1. Load your AWS configuration and create the S3 storage driver. The driver uses your standard AWS
credentials from the environment (environment variables, IAM role, or AWS config file):
1. Load your AWS configuration and create the S3 storage driver. The driver uses your standard [AWS credentials](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/configure-gosdk.html) from the environment (environment variables, IAM role, or AWS config file):

<!--SNIPSTART go-s3-driver-create-->

Expand Down
4 changes: 4 additions & 0 deletions docs/encyclopedia/data-conversion/external-storage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ The SDK parallelizes uploads and downloads to minimize latency. When a single Wo
that exceed the threshold, the SDK uploads or downloads all of them concurrently rather than one at a time. This allows
external storage operations to scale well even when a Task carries many large payloads.

When a payload is offloaded to external storage, the Temporal UI displays a reference token instead of the actual data.
This is expected. Your application code receives the fully decoded result because the SDK transparently retrieves the
payload from external storage before returning it to your Workflow or Client.

Because External Storage runs after the Payload Codec, if you use an encryption codec, payloads are already encrypted
before upload to your store.

Expand Down
Loading