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.

AttributeTypeDescriptionExamplesRequirement LevelStability
rpc.systemstringThe value aws-api.aws-apiRequiredExperimental
aws.request_idstringThe AWS request ID as returned in the response headers x-amz-request-id or x-amz-requestid.79b9da39-b7ae-508a-a6bc-864b2829c622; C9ER4AJX75574TDJRecommendedExperimental
aws.s3.bucketstringThe S3 bucket name the request refers to. Corresponds to the --bucket parameter of the S3 API operations. [1]some-bucket-nameRecommendedExperimental
aws.s3.copy_sourcestringThe source object (in the form bucket/key) for the copy operation. [2]someFile.ymlRecommendedExperimental
aws.s3.deletestringThe delete request container that specifies the objects to be deleted. [3]Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=booleanRecommendedExperimental
aws.s3.keystringThe S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations. [4]someFile.ymlRecommendedExperimental
aws.s3.part_numberintThe part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000. [5]3456RecommendedExperimental
aws.s3.upload_idstringUpload ID that identifies the multipart upload. [6]dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJRecommendedExperimental
rpc.methodstringThe name of the operation corresponding to the request, as returned by the AWS SDK [7]GetItem; PutItemRecommendedExperimental
rpc.servicestringThe name of the service to which a request is made, as returned by the AWS SDK. [8]DynamoDB; S3RecommendedExperimental

[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.

ValueDescriptionStability
apache_dubboApache DubboExperimental
connect_rpcConnect RPCExperimental
dotnet_wcf.NET WCFExperimental
grpcgRPCExperimental
java_rmiJava RMIExperimental