Last updated: May 7, 2026
AWS Resources
This page documents how Dash0 identifies and names AWS resources using AWS semantic conventions from OpenTelemetry.
AWS resource detectors in OpenTelemetry SDKs automatically populate most of these attributes. Enable the AWS resource detector in your SDK configuration for automatic ARN and service identifier population.
Equality Rules
AWS resources are identified using service-specific attributes that uniquely identify each resource instance.
- AWS Lambda:
cloud.platform == "aws_lambda"+cloud.account.id+cloud.region+faas.name. All invocations of the same Lambda function in the same region and account are grouped together. - Amazon ECS Tasks:
aws.ecs.task.arn(unique per task execution) - Amazon SQS:
cloud.platform == "aws_sqs"+cloud.resource_id(queue ARN or resource identifier) - Amazon SNS:
cloud.platform == "aws_sns"+cloud.resource_id(topic ARN or resource identifier) - AWS API Gateway:
cloud.platform == "aws_api_gateway"+cloud.resource_id(API resource identifier)
Lambda resources are identified by function name, not per-invocation. All invocations of the same function share the same resource identity, allowing you to see aggregated metrics across all invocations. To filter telemetry by individual invocations, use the faas.invocation_id span attribute in your queries.
Naming Rules
AWS resource names are derived from service-specific attributes that provide human-readable identification.
| Condition | Name |
|---|---|
cloud.platform == "aws_lambda" + faas.name set | <faas.name>:<cloud.region> or <faas.name> |
aws.ecs.task.arn set | Extracted from ARN (e.g., my-cluster/abc123) |
cloud.platform == "aws_sqs" + cloud.resource_id set | Queue name extracted from ARN |
cloud.platform == "aws_sns" + cloud.resource_id set | Topic name extracted from ARN |
cloud.platform == "aws_api_gateway" + service.instance.id set | <service.instance.id> |
Typing Rules
AWS resource types are assigned based on the cloud.platform attribute and other service-specific identifiers.
| Condition | Type | UI Label |
|---|---|---|
cloud.platform == "aws_lambda" + faas.name set | aws.lambda | Lambda Function |
aws.ecs.task.arn set | aws.ecs.task | ECS Task |
cloud.platform == "aws_sqs" | aws.sqs | SQS Queue |
cloud.platform == "aws_sns" | aws.sns | SNS Topic |
cloud.platform == "aws_api_gateway" | aws.apigateway | API Gateway |
aws.log.group.names set | aws.log.group | CloudWatch Log Group |
Examples
- Lambda Function: For a function named
user-service-prod, the name will beuser-service-prodand typeaws.lambda - ECS Task: For a task with ARN
arn:aws:ecs:us-east-1:123456789012:task/my-cluster/abc123, the name may be derived asmy-cluster/abc123and typeaws.ecs.task - SQS Queue: For a queue with ARN
arn:aws:sqs:us-east-1:123456789012:order-processing-queue, the name will beorder-processing-queueand typeaws.sqs
Additional AWS Services
The following AWS services have naming rules that provide display names in the Dash0 UI. These services do not have special equality or typing rules but will show human-readable names extracted from their resource identifiers.
| Service | Condition | Display Name |
|---|---|---|
| DynamoDB | cloud.platform == "aws_dynamodb" | Table name from aws.dynamodb.table_names |
| EC2 | cloud.platform == "aws_ec2" | Instance ID from host.id |
| Kinesis Firehose | cloud.platform == "aws_firehose" | Stream name from ARN pattern |
| RDS | cloud.platform == "aws_rds" | Database identifier from aws.rds.* attributes |
| Secrets Manager | cloud.platform == "aws_secretsmanager" | Secret name from ARN pattern |
| WAF | cloud.platform == "aws_wafv2" | Web ACL name from resource ID |
| X-Ray | cloud.platform == "aws_x-ray" | Service name from attributes |
| CloudWatch | cloud.platform matches aws_cloudwatch* | Service-specific name extraction |
These services use the service triplet (service.namespace, service.name, service.instance.id) or cloud account fallback for resource equality but get enhanced display names based on AWS-specific attributes.
Best Practices
- Use AWS resource detectors to automatically populate ARNs, cloud.resource_id, cloud.platform, and other cloud metadata
- Include
cloud.account.idandcloud.regionin all AWS resources for proper resource identification and multi-region deployments - Set
faas.namefor Lambda functions to ensure proper resource grouping - Set
cloud.resource_idfor SQS queues, SNS topics, and API Gateway resources to enable proper resource correlation - Set
cloud.platformto the appropriate AWS service identifier (e.g.,aws_lambda,aws_sqs,aws_sns,aws_api_gateway) for automatic resource type classification
Further Reading
For more information on resource equality and AWS-specific configurations, explore the following resources.
Related Topics in This Section
- About Resources: Overview of resources in Dash0
- Explore Resources: Get started exploring resources in Dash0
- Why Resource Equality?: Practical examples of resource fragmentation scenarios
Dash0 Guides & Knowledge
- What are OpenTelemetry Resources?: Deep dive into how resources describe which system is generating telemetry data
- Service Attributes Best Practices: Learn what resource attributes are and how they can be categorized
- Kubernetes Attributes Best Practices: Best practices for Kubernetes resource attributes
OpenTelemetry Resources
- AWS Semantic Conventions: Official specification for AWS resource attributes
- FaaS Semantic Conventions: Lambda function and serverless attributes
- Messaging Semantic Conventions: SQS and SNS messaging attributes
- OpenTelemetry SDKs: Language-specific SDK documentation