Amazon S3 allows you to store data on S3 Bucket. Each S3 file keep some system specific as well as user specific information in term of Metadata. So you can upload your file with required metadata as well as you can add some more details with the S3 Object.
You can upload S3 Objects on Amazon S3 with Custom Metadata in two ways:
a) Using Amazon S3 API-
If you are a programmer, you can write your own program to use S3 REST API- PUT Object. You can read more on AWS website to learn details about using SOAP APIs.
b) Using Bucket Explorer User Interface-
You can upload files with Custom Metadata on S3 with mouse clicks using Bucket Explorer, and also set Metadata there.
Upload File with Custom Metadata using S3 REST API
With this method, you can upload file with Custom Metadata by using PUT Object REST APIs and passing x-amz-meta prefix in the Request header for key and add the desired value. Any key start with this prefix is considered as custom (user) metadata. These metadata details returns when you request to retrieve the object.
To authenticate the request, you must have WRITE permissions on the Bucket.
Upload files on Amazon S3 with custom header using Bucket Explorer
Bucket Explorer allows you to upload file(s) at Amazon S3 with Custom Header. Every uploading file has its own system
and using this feature, you can customize Metadata detail for the uploading file and folder. You can even
Set/Edit the system Metadata for the file