API supportate
Il Gateway S3 di Cubbit supporta buona parte delle S3 RESTful API di AWS che sono usate dagli SDK (come aws-sdk-js, aws-sdk-go, etc), dalla AWS CLI ufficiale e da tutti i client S3-compatibili.
Grazie al Gateway tutti i tool sopra citati possono essere utilizzati con Cubbit semplicemente configurandoli perché puntino al corretto endpoint: https://s3.cubbit.eu. Ad esempio è possibile configurare la CLI di AWS seguendo questa guida.
I prossimi paragrafi descrivono a grandi linee le funzionalità correntemente supportate e quanto esse rispecchino le specifiche di AWS. L'ultima sezione in particolare contiene una lista aggiornata di tutti i metodi supportati.
Gestione del bucket
La creazione e la cancellazione dei bucket è naturalmente supportata, così come le operazioni per listarne il contenuto.
Gestione degli oggetti
L'upload, il download, la copia e la cancellazione degli oggetti sono pienamente supportate.
Multipart Upload
L'upload multipart è interamente supportato con l'eccezione del metodo UploadPartCopy che non è attualmente implementato.
Ulteriori informazioni sul caricamento multipart sono disponibili qui.
Versionamento
Il versionamento dei bucket può essere attivato e sospeso. Tutte le operazioni relative a oggetti versionati, come la creazione di nuove versioni, la lista e la cancellazione delle versioni sono supportate.
Ulteriori informazioni sul versionamento dei bucket sono disponibili qui.
Object Locking
La funzionalità di Object Lock è parzialmente supportata. Nello specifico, la seguente tabella mostra quali tipi di lock sono supportati.
Tipo di Lock | Modalità | Supportato |
---|---|---|
Legal Hold | - | Si |
Object Retention | COMPLIANCE | Si |
Object Retention | GOVERNANCE | No |
ACL
Il supporto alle API relative all'ACL è abilitato.
Il grantee di una regola di ACL può essere:
- un utente (definito da ID o da e-mail)
- un gruppo predefinito
I gruppi predefiniti supportati sono:
AllUsers
AuthenticatedUsers
E' anche da notare che:
- le operazioni di lettura e scrittura non sono ancora supportate in modalità
public-read
opublic-read-write
- l'implementazione di questi gruppi potrebbe subire variazioni in futuro
Le seguenti canned ACL sono permesse:
private
public-read
(con le limitazioni sopraccitate)public-read-write
(con le limitazioni sopraccitate)authenticated-read
bucket-owner-read
bucket-owner-full-control
Ulteriori informazioni possono essere trovate qui.
Bucket Policy
Non supportato.
Object Tagging
Non supportato.
Object Lifecycle
Non supportato.
Tabella di Compatibilità delle API
Metodo | Supporto | Note |
---|---|---|
AbortMultipartUpload | Sì | |
CompleteMultipartUpload | Sì | |
CopyObject | Sì | |
CreateBucket | Sì | |
CreateMultipartUpload | Sì | |
DeleteBucket | Sì | |
DeleteBucketAnalyticsConfiguration | No | |
DeleteBucketCors | No | |
DeleteBucketEncryption | No | |
DeleteBucketIntelligentTieringConfiguration | No | |
DeleteBucketInventoryConfiguration | No | |
DeleteBucketLifecycle | No | |
DeleteBucketMetricsConfiguration | No | |
DeleteBucketOwnershipControls | Sì | |
DeleteBucketPolicy | No | |
DeleteBucketReplication | No | |
DeleteBucketTagging | No | |
DeleteBucketWebsite | No | |
DeleteObject | Sì | |
DeleteObjects | Sì | |
DeleteObjectTagging | No | |
DeletePublicAccessBlock | No | |
GetBucketAccelerateConfiguration | No | |
GetBucketAcl | Sì | |
GetBucketAnalyticsConfiguration | No | |
GetBucketCors | No | |
GetBucketEncryption | No | |
GetBucketIntelligentTieringConfiguration | No | |
GetBucketInventoryConfiguration | No | |
GetBucketLifecycle | No | |
GetBucketLifecycleConfiguration | No | |
GetBucketLocation | Sì | |
GetBucketLogging | No | |
GetBucketMetricsConfiguration | No | |
GetBucketNotification | No | |
GetBucketNotificationConfiguration | No | |
GetBucketOwnershipControls | Sì | |
GetBucketPolicy | No | |
GetBucketPolicyStatus | No | |
GetBucketReplication | No | |
GetBucketRequestPayment | No | |
GetBucketTagging | No | |
GetBucketVersioning | Sì | |
GetBucketWebsite | No | |
GetObject | Sì | |
GetObjectAcl | Sì | |
GetObjectAttributes | No | |
GetObjectLegalHold | Sì | |
GetObjectLockConfiguration | Sì | |
GetObjectRetention | Sì | |
GetObjectTagging | No | Risposta simulata |
GetObjectTorrent | No | |
GetPublicAccessBlock | No | |
HeadBucket | Sì | |
HeadObject | Sì | |
ListBucketAnalyticsConfigurations | No | |
ListBucketIntelligentTieringConfigurations | No | |
ListBucketInventoryConfigurations | No | |
ListBucketMetricsConfigurations | No | |
ListBuckets | Sì | |
ListMultipartUploads | Sì | |
ListObjects | Sì | |
ListObjectsV2 | Sì | |
ListObjectVersions | Sì | |
ListParts | Sì | |
PutBucketAccelerateConfiguration | No | |
PutBucketAcl | Sì | |
PutBucketAnalyticsConfiguration | No | |
PutBucketCors | No | |
PutBucketEncryption | No | |
PutBucketIntelligentTieringConfiguration | No | |
PutBucketInventoryConfiguration | No | |
PutBucketLifecycle | No | |
PutBucketLifecycleConfiguration | No | |
PutBucketLogging | No | |
PutBucketMetricsConfiguration | No | |
PutBucketNotification | No | |
PutBucketNotificationConfiguration | No | |
PutBucketOwnershipControls | Sì | |
PutBucketPolicy | No | |
PutBucketReplication | No | |
PutBucketRequestPayment | No | |
PutBucketTagging | No | |
PutBucketVersioning | Sì | |
PutBucketWebsite | No | |
PutObject | Sì | |
PutObjectAcl | Sì | |
PutObjectLegalHold | Sì | |
PutObjectLockConfiguration | Sì | |
PutObjectRetention | Sì | |
PutObjectTagging | No | |
PutPublicAccessBlock | No | |
RestoreObject | No | |
SelectObjectContent | No | |
UploadPart | Sì | |
UploadPartCopy | No | |
WriteGetObjectResponse | No |