diff --git a/docs/develop/go/best-practices/data-handling/external-storage.mdx b/docs/develop/go/best-practices/data-handling/external-storage.mdx index d870d77d4e..f0255a644f 100644 --- a/docs/develop/go/best-practices/data-handling/external-storage.mdx +++ b/docs/develop/go/best-practices/data-handling/external-storage.mdx @@ -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): diff --git a/docs/encyclopedia/data-conversion/external-storage.mdx b/docs/encyclopedia/data-conversion/external-storage.mdx index c2715bd48d..c084e99c26 100644 --- a/docs/encyclopedia/data-conversion/external-storage.mdx +++ b/docs/encyclopedia/data-conversion/external-storage.mdx @@ -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.