Passa al contenuto principale

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 LockModalitàSupportato
Legal Hold-Si
Object RetentionCOMPLIANCESi
Object RetentionGOVERNANCENo

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 o public-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

MetodoSupportoNote
AbortMultipartUpload
CompleteMultipartUpload
CopyObject
CreateBucket
CreateMultipartUpload
DeleteBucket
DeleteBucketAnalyticsConfigurationNo
DeleteBucketCorsNo
DeleteBucketEncryptionNo
DeleteBucketIntelligentTieringConfigurationNo
DeleteBucketInventoryConfigurationNo
DeleteBucketLifecycleNo
DeleteBucketMetricsConfigurationNo
DeleteBucketOwnershipControls
DeleteBucketPolicyNo
DeleteBucketReplicationNo
DeleteBucketTaggingNo
DeleteBucketWebsiteNo
DeleteObject
DeleteObjects
DeleteObjectTaggingNo
DeletePublicAccessBlockNo
GetBucketAccelerateConfigurationNo
GetBucketAcl
GetBucketAnalyticsConfigurationNo
GetBucketCorsNo
GetBucketEncryptionNo
GetBucketIntelligentTieringConfigurationNo
GetBucketInventoryConfigurationNo
GetBucketLifecycleNo
GetBucketLifecycleConfigurationNo
GetBucketLocation
GetBucketLoggingNo
GetBucketMetricsConfigurationNo
GetBucketNotificationNo
GetBucketNotificationConfigurationNo
GetBucketOwnershipControls
GetBucketPolicyNo
GetBucketPolicyStatusNo
GetBucketReplicationNo
GetBucketRequestPaymentNo
GetBucketTaggingNo
GetBucketVersioning
GetBucketWebsiteNo
GetObject
GetObjectAcl
GetObjectAttributesNo
GetObjectLegalHold
GetObjectLockConfiguration
GetObjectRetention
GetObjectTaggingNoRisposta simulata
GetObjectTorrentNo
GetPublicAccessBlockNo
HeadBucket
HeadObject
ListBucketAnalyticsConfigurationsNo
ListBucketIntelligentTieringConfigurationsNo
ListBucketInventoryConfigurationsNo
ListBucketMetricsConfigurationsNo
ListBuckets
ListMultipartUploads
ListObjects
ListObjectsV2
ListObjectVersions
ListParts
PutBucketAccelerateConfigurationNo
PutBucketAcl
PutBucketAnalyticsConfigurationNo
PutBucketCorsNo
PutBucketEncryptionNo
PutBucketIntelligentTieringConfigurationNo
PutBucketInventoryConfigurationNo
PutBucketLifecycleNo
PutBucketLifecycleConfigurationNo
PutBucketLoggingNo
PutBucketMetricsConfigurationNo
PutBucketNotificationNo
PutBucketNotificationConfigurationNo
PutBucketOwnershipControls
PutBucketPolicyNo
PutBucketReplicationNo
PutBucketRequestPaymentNo
PutBucketTaggingNo
PutBucketVersioning
PutBucketWebsiteNo
PutObject
PutObjectAcl
PutObjectLegalHold
PutObjectLockConfiguration
PutObjectRetention
PutObjectTaggingNo
PutPublicAccessBlockNo
RestoreObjectNo
SelectObjectContentNo
UploadPart
UploadPartCopyNo
WriteGetObjectResponseNo