Operations on objects
This section describes how the StorageGRID system implements S3 REST API operations for objects.
The following conditions apply to all object operations:
-
StorageGRID consistency values are supported by all operations on objects, with the exception of the following:
-
GetObjectAcl
-
OPTIONS /
-
PutObjectLegalHold
-
PutObjectRetention
-
SelectObjectContent
-
-
Conflicting client requests, such as two clients writing to the same key, are resolved on a "latest-wins" basis. The timing for the "latest-wins" evaluation is based on when the StorageGRID system completes a given request, and not on when S3 clients begin an operation.
-
All objects in a StorageGRID bucket are owned by the bucket owner, including objects created by an anonymous user, or by another account.
-
Data objects ingested to the StorageGRID system through Swift can't be accessed through S3.
The following table describes how StorageGRID implements S3 REST API object operations.
Operation | Implementation |
---|---|
DeleteObject |
Multi-Factor Authentication (MFA) and the response header When processing a DeleteObject request, StorageGRID attempts to immediately remove all copies of the object from all stored locations. If successful, StorageGRID returns a response to the client immediately. If all copies can't be removed within 30 seconds (for example, because a location is temporarily unavailable), StorageGRID queues the copies for removal and then indicates success to the client.
See Use S3 REST API to configure S3 Object Lock to learn how to delete object versions in GOVERNANCE mode. |
DeleteObjects (previously named DELETE Multiple Objects) |
Multi-Factor Authentication (MFA) and the response header Multiple objects can be deleted in the same request message. See Use S3 REST API to configure S3 Object Lock to learn how to delete object versions in GOVERNANCE mode. |
DeleteObjectTagging |
Uses the
|
GetObject |
|
GetObjectAcl |
If the necessary access credentials are provided for the account, the operation returns a positive response and the ID, DisplayName, and Permission of the object owner, indicating that the owner has full access to the object. |
GetObjectLegalHold |
|
GetObjectRetention |
|
GetObjectTagging |
Uses the
|
HeadObject |
|
RestoreObject |
|
PutObject |
|
CopyObject (previously named PUT Object - Copy) |
|
PutObjectLegalHold |
|
PutObjectRetention |
|
PutObjectTagging |
Uses the
|
SelectObjectContent |