Edit object metadata and tags
Metadata describes an object’s content and headers. Tags are separate key-value pairs used by policies and lifecycle rules. Changing a tag leaves content intact. To change metadata, S3Client rewrites the object by copying it.
Rewrites use S3 copy conditions. Disabling the applicable source condition permits a copy despite a concurrent change after preliminary verification; the rewrite can then replace that change.
Choose the target and permissions
To change the current object’s metadata, open Properties on the object with Show versions off. You can also select the latest version in version view: General > Latest version: must show Yes (from the last version listing). Before copying, S3Client checks that this version is still current; if it has been replaced, the operation stops. An older version remains readable in Metadata, with editing disabled. Tags can target the selected version if the service and account allow it.
Reading normally requires s3:GetObject or s3:GetObjectVersion. Rewriting requires access to the source content and permission to write the destination, notably s3:PutObject, plus permissions for encryption and protections. Archived content must be readable before a rewrite.
Reading tags requires s3:GetObjectTagging, or s3:GetObjectVersionTagging for a version. Replacing them requires s3:PutObjectTagging or s3:PutObjectVersionTagging. To clear tags, Remove tags determines which permissions are needed: DeleteObjectTagging uses s3:DeleteObjectTagging or s3:DeleteObjectVersionTagging; PutObjectTagging with an empty TagSet uses the replacement permissions. S3Client does not try another method after a refusal.
Open File > Accounts…, select the account, click Edit…, then open Capabilities > Object tags. Set Read tags and Tag editing to Current object only or Current object and specific versions, according to the service. Read tags > Unavailable prevents viewing tags; Tag editing > Unavailable allows viewing them if reading is available, but disables editing. Also select Remove tags according to the supported API. Preserving tags during copies depends on the content tagging options and CopyObject tags, independently of source tag editing. These settings grant no S3 permissions.
Under Capabilities > Object tags, Current object verification offers Response version header or Versioned read and HEAD check. The latter requires version tag reading. When a current-object observation provides a version ID, S3Client reads that version’s tags, then adds a HEAD to check that it is still current. Allow version tag reading and HEAD, notably s3:GetObjectVersionTagging and s3:GetObject on Amazon S3. A contradiction or a missing object stops preparation. A logical current-object change still omits versionId. An immutable exact version does not add this check; a mutable null version also requires content identity verification. Response version header keeps the Amazon S3 path without an additional HEAD.
Edit metadata
The rewrite writes to the same key. A source version with an immutable identifier keeps its metadata. With versioning enabled, the copy creates a new version; with versioning suspended, it may replace the null version. It may change the last modification date and require requests or transfers. S3Client prepares to preserve encryption, tags and protections when they are accessible. When the account’s ACL operations are enabled, it also prepares ACL preservation; permissions hidden by the service cannot be copied, and the application warns when this risk exists.
If Enable ACL operations for this account is unchecked, the rewrite uses the destination default without ACL requests or headers. It does not guarantee preservation of the existing ACL if the service still uses it. This setting does not remove permission requirements for other properties. See the effects of local deactivation.
- Open Properties > Metadata on the current object or on the latest version selected as described above.
- Click Add, or select a row and click Edit. Double-clicking also opens the editor.
- Choose User-defined or System-defined in Type.
- Enter Key and Value, then click OK in the editor.
- To remove rows, select them, click Remove and confirm.
- Check the final list and click OK in properties to start the write.
- After the operation, refresh the pane and open Metadata on the current object or the new version to check the result.
For User-defined metadata, enter the suffix; the editor adds x-amz-meta-. Names beginning with x-amz- are normalized to lowercase. Adding an existing key replaces its value.
| System key | Purpose |
|---|---|
Cache-Control | Cache directives such as max-age=, no-cache and no-store. Complete directives that require a value. |
Content-Disposition | Download presentation, for example attachment. |
Content-Encoding | The actual content encoding, for example gzip. This field does not compress the file. |
Content-Language | Content language. |
Content-Type | MIME type. Choose a known type or enter another value. |
Expires | HTTP expiration in the displayed time zone. It neither deletes the object nor replaces lifecycle rules. |
x-amz-website-redirect-location | Redirect destination for S3 website hosting. |
The individual-object editor requires a nonempty value and a valid HTTP header name. Values cannot contain line breaks. Size, ETag and dates managed by S3 cannot be edited here. The service omitted some metadata from the response, so it cannot be edited safely. indicates an incomplete response; editing is blocked to avoid losing data.
S3Client limits editable system metadata and user-defined metadata separately to 2,048 bytes each, counting header names and values. MetadataTooLarge prevents the request from being sent when either limit is exceeded: shorten values or remove fields.
When CopyObject tags is set to Tagging directive must match the metadata directive, rewriting metadata requires reading the source tags to preserve them. If reading is impossible, preparation stops before the rewrite. Reading is sufficient: Tag editing can remain Unavailable when the tags themselves are unchanged.
Edit tags
Writing replaces the entire tag set. Removing tags does not delete the object, but may change how policies and rules apply to it.
- Open Properties > Tags and wait for loading.
- Click Add to open Tag.
- Enter Key and Value, then click OK.
- Use Edit on an existing row or Remove on rows to delete.
- Check the count and final list.
- Click OK in properties. If the list becomes empty, confirm Delete object tags.
- Reopen Tags on the same target to check the values.
An object accepts up to 10 tags. Keys must be unique, case-sensitive and nonempty, with a 128-character limit; values may be empty and have a 256-character limit. Some characters, such as many emoji, count as two toward these limits. Use letters, numbers, spaces or _ . : / = + - @; aws: is reserved. See AWS tag restrictions.
Unable to read object tags: indicates a failed read, for example due to missing permission; the editor remains unavailable. If S3Client cannot save the received tags without risking data loss, they remain read-only.
S3Client checks the target object and its tags again before saving them. If the object, tags or account settings have changed, the operation may stop; reopen properties in that case. A failed tag change does not undo other changes already applied.
Combine changes
Metadata, storage class and encryption changes that require a copy are combined to avoid separate rewrites. When tag changes accompany a rewrite, they apply to the object or version produced by that rewrite. Tags and a restore must be submitted separately: Restore and an object tag change must be submitted separately. requires you to finish one before the other.
On a bucket or folder, Modify child objects… supports bulk metadata and tag changes. Modify child object versions… changes version tags but does not rewrite their metadata. See child objects and selection and preview.
For several selected objects, open Properties and the relevant tab. Observed values may differ; only your explicit changes are applied. See properties for multiple objects.