Skip to content

Latest commit

 

History

History
101 lines (80 loc) · 8.9 KB

File metadata and controls

101 lines (80 loc) · 8.9 KB

Semantic Conventions for AWS S3

Status: Experimental

The Semantic Conventions for AWS S3 extend the general AWS SDK Semantic Conventions that describe common AWS SDK attributes in addition to the Semantic Conventions described on this page.

Attribute Type Description Examples Requirement Level Stability
rpc.system string The value aws-api. aws-api Required Experimental
aws.request_id string The AWS request ID as returned in the response headers x-amz-request-id or x-amz-requestid. 79b9da39-b7ae-508a-a6bc-864b2829c622; C9ER4AJX75574TDJ Recommended Experimental
aws.s3.bucket string The S3 bucket name the request refers to. Corresponds to the --bucket parameter of the S3 API operations. [1] some-bucket-name Recommended Experimental
aws.s3.copy_source string The source object (in the form bucket/key) for the copy operation. [2] someFile.yml Recommended Experimental
aws.s3.delete string The delete request container that specifies the objects to be deleted. [3] Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean Recommended Experimental
aws.s3.key string The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations. [4] someFile.yml Recommended Experimental
aws.s3.part_number int The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000. [5] 3456 Recommended Experimental
aws.s3.upload_id string Upload ID that identifies the multipart upload. [6] dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ Recommended Experimental
rpc.method string The name of the operation corresponding to the request, as returned by the AWS SDK [7] GetItem; PutItem Recommended Experimental
rpc.service string The name of the service to which a request is made, as returned by the AWS SDK. [8] DynamoDB; S3 Recommended Experimental

[1] aws.s3.bucket: The bucket attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter. This applies to almost all S3 operations except list-buckets.

[2] aws.s3.copy_source: The copy_source attribute applies to S3 copy operations and corresponds to the --copy-source parameter of the copy-object operation within the S3 API. This applies in particular to the following operations:

[3] aws.s3.delete: The delete attribute is only applicable to the delete-object operation. The delete attribute corresponds to the --delete parameter of the delete-objects operation within the S3 API.

[4] aws.s3.key: The key attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter. This applies in particular to the following operations:

[5] aws.s3.part_number: The part_number attribute is only applicable to the upload-part and upload-part-copy operations. The part_number attribute corresponds to the --part-number parameter of the upload-part operation within the S3 API.

[6] aws.s3.upload_id: The upload_id attribute applies to S3 multipart-upload operations and corresponds to the --upload-id parameter of the S3 API multipart operations. This applies in particular to the following operations:

[7] rpc.method: This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).

[8] rpc.service: This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).


rpc.system has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
apache_dubbo Apache Dubbo Experimental
connect_rpc Connect RPC Experimental
dotnet_wcf .NET WCF Experimental
grpc gRPC Experimental
java_rmi Java RMI Experimental