Skip to main content

AWS S3

Required AWS S3 Attributes

The following cost calculation tags are required for traces originating from Amazon S3 operations such as storing and retrieving objects.

Always Required Fields

These fields are always required for S3 request cost calculation:

Attribute NameExample ValueAllowed Values
aws.s3.bucket_namemy-application-bucketAny valid S3 bucket name
aws.regionus-east-1Supported AWS regions
aws.s3.request_operationPutObjectAny S3 API operation (see table below)

Optional Fields

These fields have default values and only need to be provided when the default does not apply:

Attribute NameExample ValueAllowed ValuesDefault
aws.s3.storage_classSTANDARDSee storage classes belowSTANDARD

Supported Request Operations

S3 request operations are grouped into pricing tiers:

TierOperationsDescription
Tier 1 (write-like)PutObject, CopyObject, PostObject, ListObjectsHigher per-request cost
Tier 2 (read-like)GetObject, SelectObjectLower per-request cost
FreeDeleteObject, CancelObjectNo cost per AWS pricing
note

S3 requests are priced per request, not per duration. Each S3 operation span maps to a single API request cost.

Supported Storage Classes

Storage ClassDescription
STANDARDGeneral-purpose storage (default if not specified)
INTELLIGENT_TIERINGAutomatic cost optimization for data with unknown access patterns
STANDARD_INFREQUENT_ACCESSFor data accessed less frequently but needs rapid access
ONE_ZONE_INFREQUENT_ACCESSLower-cost option for infrequently accessed data
GLACIER_INSTANT_RETRIEVALArchive storage with instant retrieval
GLACIERLow-cost archive storage
DEEP_ARCHIVELowest-cost archive storage
EXPRESS_ONEZONEHigh-performance single-zone storage
REDUCED_REDUNDANCYNon-critical, reproducible data
FSX_OPENZFSAmazon FSx for OpenZFS storage
OUTPOSTSS3 on AWS Outposts

Supported Regions

The following AWS regions are supported for S3 cost calculation:

RegionLocation
us-east-1N. Virginia
us-east-2Ohio
us-west-1N. California
us-west-2Oregon
ca-central-1Canada (Central)
sa-east-1Sao Paulo
eu-west-1Ireland
eu-west-2London
eu-west-3Paris
eu-central-1Frankfurt
eu-central-2Zurich
eu-north-1Stockholm
eu-south-1Milan
eu-south-2Spain
ap-northeast-1Tokyo
ap-northeast-2Seoul
ap-northeast-3Osaka
ap-southeast-1Singapore
ap-southeast-2Sydney
ap-southeast-3Jakarta
ap-southeast-4Melbourne
ap-south-1Mumbai
ap-south-2Hyderabad
ap-east-1Hong Kong
me-south-1Bahrain
me-central-1UAE
af-south-1Cape Town

Visualization with Mermaid

The diagram below shows which attributes are required and optional for S3 cost calculation.

Instrumenting S3 Operations

To calculate costs for S3 operations, add the required attributes to your OpenTelemetry spans when making S3 API calls.

Beakpoint Insights SDKs

We will be releasing SDKs for various languages to make it easier to send these attributes to Beakpoint Insights. Stay tuned for updates!

Attribute Mapping

The following table shows how to obtain the required attribute values:

Beakpoint Insights AttributeSourceNotes
aws.s3.bucket_nameYour S3 client callThe target bucket name from your PutObject, GetObject, etc. call
aws.regionYour AWS SDK configurationThe region where your S3 bucket is located
aws.s3.request_operationYour S3 client callThe S3 API operation name (e.g., PutObject, GetObject)
aws.s3.storage_classBucket or object configurationOnly needed if not using STANDARD storage class

AWS CLI Examples

You can verify your bucket's region and storage class:

# Get bucket location
aws s3api get-bucket-location --bucket my-application-bucket
{
"LocationConstraint": "us-east-1"
}
# Check an object's storage class
aws s3api head-object --bucket my-application-bucket --key my-object-key
{
"ContentLength": 1048576,
"ContentType": "application/octet-stream",
"StorageClass": "STANDARD",
"LastModified": "2026-01-15T10:30:00+00:00"
}