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 Name | Example Value | Allowed Values |
|---|---|---|
aws.s3.bucket_name | my-application-bucket | Any valid S3 bucket name |
aws.region | us-east-1 | Supported AWS regions |
aws.s3.request_operation | PutObject | Any 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 Name | Example Value | Allowed Values | Default |
|---|---|---|---|
aws.s3.storage_class | STANDARD | See storage classes below | STANDARD |
Supported Request Operations
S3 request operations are grouped into pricing tiers:
| Tier | Operations | Description |
|---|---|---|
| Tier 1 (write-like) | PutObject, CopyObject, PostObject, ListObjects | Higher per-request cost |
| Tier 2 (read-like) | GetObject, SelectObject | Lower per-request cost |
| Free | DeleteObject, CancelObject | No cost per AWS pricing |
S3 requests are priced per request, not per duration. Each S3 operation span maps to a single API request cost.
Supported Storage Classes
| Storage Class | Description |
|---|---|
STANDARD | General-purpose storage (default if not specified) |
INTELLIGENT_TIERING | Automatic cost optimization for data with unknown access patterns |
STANDARD_INFREQUENT_ACCESS | For data accessed less frequently but needs rapid access |
ONE_ZONE_INFREQUENT_ACCESS | Lower-cost option for infrequently accessed data |
GLACIER_INSTANT_RETRIEVAL | Archive storage with instant retrieval |
GLACIER | Low-cost archive storage |
DEEP_ARCHIVE | Lowest-cost archive storage |
EXPRESS_ONEZONE | High-performance single-zone storage |
REDUCED_REDUNDANCY | Non-critical, reproducible data |
FSX_OPENZFS | Amazon FSx for OpenZFS storage |
OUTPOSTS | S3 on AWS Outposts |
Supported Regions
The following AWS regions are supported for S3 cost calculation:
| Region | Location |
|---|---|
us-east-1 | N. Virginia |
us-east-2 | Ohio |
us-west-1 | N. California |
us-west-2 | Oregon |
ca-central-1 | Canada (Central) |
sa-east-1 | Sao Paulo |
eu-west-1 | Ireland |
eu-west-2 | London |
eu-west-3 | Paris |
eu-central-1 | Frankfurt |
eu-central-2 | Zurich |
eu-north-1 | Stockholm |
eu-south-1 | Milan |
eu-south-2 | Spain |
ap-northeast-1 | Tokyo |
ap-northeast-2 | Seoul |
ap-northeast-3 | Osaka |
ap-southeast-1 | Singapore |
ap-southeast-2 | Sydney |
ap-southeast-3 | Jakarta |
ap-southeast-4 | Melbourne |
ap-south-1 | Mumbai |
ap-south-2 | Hyderabad |
ap-east-1 | Hong Kong |
me-south-1 | Bahrain |
me-central-1 | UAE |
af-south-1 | Cape 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.
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 Attribute | Source | Notes |
|---|---|---|
aws.s3.bucket_name | Your S3 client call | The target bucket name from your PutObject, GetObject, etc. call |
aws.region | Your AWS SDK configuration | The region where your S3 bucket is located |
aws.s3.request_operation | Your S3 client call | The S3 API operation name (e.g., PutObject, GetObject) |
aws.s3.storage_class | Bucket or object configuration | Only 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"
}