S3 APIs
Intro
Il gateway S3 di Cubbit supporta la maggior parte delle API RESTful di AWS S3 utilizzate dagli SDK di AWS (come aws-sdk-js, aws-sdk-go, ecc.), dall'interfaccia ufficiale a linea di comando di AWS e da tutti i client compatibili con S3.
Ciò implica che i suddetti strumenti possono essere utilizzati con Cubbit semplicemente configurandoli in modo che utilizzino l'endpoint giusto, ovvero https://s3.cubbit.eu. Ad esempio, in questa documentazione si possono trovare istruzioni su come configurare la CLI di AWS.
Le sezioni seguenti descrivono a grandi linee le funzionalità attualmente supportate e la loro aderenza alle specifiche originali di AWS S3. L'ultima sezione fornisce una visione dettagliata dei metodi API supportati.
Gestione bucket
Creare e cancellare nuovi bucket è supportato, così come elencare il loro contenuto.
Gestione oggetti
Caricare, scaricare, copiare e cancellare oggetti sono operazioni pienamente supportate.
Multipart Upload
I Multipart Upload sono del tutto supportati. Maggiori informazioni su multipart upload sono accessibili qui.
Versioning
Il Versioning può essere attivato su un bucket e può essere sospeso. Tutte le operazioni relative a oggetti versionati, come creare nuove versioni, elencarle o cancellarle sono supportate. Maggiori informazioni su bucket versioning sono accessibili qui.
Object Lock
La feature Object Lock è pienamente supportata. La seguente tabella riassume i tipi di lock.
Tipo di Lock | Modalità | Supportato |
---|---|---|
Legal Hold | - | Yes |
Object Retention | COMPLIANCE | Yes |
Object Retention | GOVERNANCE | Yes |
ACL
Le API di ACL API sono supportate.
Il beneficiario può essere uno dei seguenti:
- un utente (tramite il suo ID o la sua email)
- un gruppo predefinito
I gruppi predefiniti supportati sono:
- AllUsers
- AuthenticatedUsers
Si noti inoltre che:
- le operazioni di lettura e scrittura non sono ancora supportate in uno scenario di public-read o public-read-write
- l'implementazione di questi gruppi potrebbe cambiare leggermente in futuro.
Sono consentite le seguenti canned ACL
- private
- public-read (con le limitazioni summenzionate)
- public-read-write (con le limitazioni summenzionate)
- authenticated-read
- bucket-owner-read
- bucket-owner-full-control
Maggiori informazioni sono disponibili qui.
Lifecycle Configuration
La funzione Lifecycle Configuration è parzialmente supportata.
È consentita una sola regola di configurazione. L'unica regola di configurazione supportata è NoncurrentVersionExpiration senza filtri.
Maggiori informazioni sono disponibili qui.
Bucket Policy
Non supportata.
Object Tagging
Non supportata.
Object Lifecycle
Non supportata.
API Compatibility Table
Metodo | Supporto | Note |
---|---|---|
AbortMultipartUpload | Yes | |
CompleteMultipartUpload | Yes | |
CopyObject | Yes | |
CreateBucket | Yes | |
CreateMultipartUpload | Yes | |
DeleteBucket | Yes | |
DeleteBucketAnalyticsConfiguration | No | |
DeleteBucketCors | No | |
DeleteBucketEncryption | No | |
DeleteBucketIntelligentTieringConfiguration | No | |
DeleteBucketInventoryConfiguration | No | |
DeleteBucketLifecycle | Yes | |
DeleteBucketMetricsConfiguration | No | |
DeleteBucketOwnershipControls | Yes | |
DeleteBucketPolicy | No | |
DeleteBucketReplication | No | |
DeleteBucketTagging | No | |
DeleteBucketWebsite | No | |
DeleteObject | Yes | |
DeleteObjects | Yes | |
DeleteObjectTagging | No | |
DeletePublicAccessBlock | No | |
GetBucketAccelerateConfiguration | No | |
GetBucketAcl | Yes | |
GetBucketAnalyticsConfiguration | No | |
GetBucketCors | No | |
GetBucketEncryption | No | |
GetBucketIntelligentTieringConfiguration | No | |
GetBucketInventoryConfiguration | No | |
GetBucketLifecycle | No | |
GetBucketLifecycleConfiguration | Yes | NoncurrentVersionExpiration only |
GetBucketLocation | Yes | |
GetBucketLogging | No | |
GetBucketMetricsConfiguration | No | |
GetBucketNotification | No | |
GetBucketNotificationConfiguration | No | |
GetBucketOwnershipControls | Yes | |
GetBucketPolicy | No | |
GetBucketPolicyStatus | No | |
GetBucketReplication | No | |
GetBucketRequestPayment | No | |
GetBucketTagging | No | |
GetBucketVersioning | Yes | |
GetBucketWebsite | No | |
GetObject | Yes | |
GetObjectAcl | Yes | |
GetObjectAttributes | No | |
GetObjectLegalHold | Yes | |
GetObjectLockConfiguration | Yes | |
GetObjectRetention | Yes | |
GetObjectTagging | No | Risposta simulata |
GetObjectTorrent | No | |
GetPublicAccessBlock | No | |
HeadBucket | Yes | |
HeadObject | Yes | |
ListBucketAnalyticsConfigurations | No | |
ListBucketIntelligentTieringConfigurations | No | |
ListBucketInventoryConfigurations | No | |
ListBucketMetricsConfigurations | No | |
ListBuckets | Yes | |
ListMultipartUploads | Yes | |
ListObjects | Yes | |
ListObjectsV2 | Yes | |
ListObjectVersions | Yes | |
ListParts | Yes | |
PutBucketAccelerateConfiguration | No | |
PutBucketAcl | Yes | |
PutBucketAnalyticsConfiguration | No | |
PutBucketCors | No | |
PutBucketEncryption | No | |
PutBucketIntelligentTieringConfiguration | No | |
PutBucketInventoryConfiguration | No | |
PutBucketLifecycle | No | |
PutBucketLifecycleConfiguration | Yes | NoncurrentVersionExpiration only |
PutBucketLogging | No | |
PutBucketMetricsConfiguration | No | |
PutBucketNotification | No | |
PutBucketNotificationConfiguration | No | |
PutBucketOwnershipControls | Yes | |
PutBucketPolicy | No | |
PutBucketReplication | No | |
PutBucketRequestPayment | No | |
PutBucketTagging | No | |
PutBucketVersioning | Yes | |
PutBucketWebsite | No | |
PutObject | Yes | |
PutObjectAcl | Yes | |
PutObjectLegalHold | Yes | |
PutObjectLockConfiguration | Yes | |
PutObjectRetention | Yes | |
PutObjectTagging | No | |
PutPublicAccessBlock | No | |
RestoreObject | No | |
SelectObjectContent | No | |
UploadPart | Yes | |
UploadPartCopy | Yes | |
WriteGetObjectResponse | No |