Passa al contenuto principale

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 supportati tranne che per l’operazione UploadPartCopy. 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 LockModalitàSupportato
Legal Hold-Si
Object RetentionCOMPLIANCESi
Object RetentionGOVERNANCESi

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

MetodoSupportoNote
AbortMultipartUpload
CompleteMultipartUpload
CopyObject
CreateBucket
CreateMultipartUpload
DeleteBucket
DeleteBucketAnalyticsConfigurationNo
DeleteBucketCorsNo
DeleteBucketEncryptionNo
DeleteBucketIntelligentTieringConfigurationNo
DeleteBucketInventoryConfigurationNo
DeleteBucketLifecycleYes
DeleteBucketMetricsConfigurationNo
DeleteBucketOwnershipControls
DeleteBucketPolicyNo
DeleteBucketReplicationNo
DeleteBucketTaggingNo
DeleteBucketWebsiteNo
DeleteObject
DeleteObjects
DeleteObjectTaggingNo
DeletePublicAccessBlockNo
GetBucketAccelerateConfigurationNo
GetBucketAcl
GetBucketAnalyticsConfigurationNo
GetBucketCorsNo
GetBucketEncryptionNo
GetBucketIntelligentTieringConfigurationNo
GetBucketInventoryConfigurationNo
GetBucketLifecycleNo
GetBucketLifecycleConfigurationYesNoncurrentVersionExpiration only
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
PutBucketLifecycleConfigurationYesNoncurrentVersionExpiration only
PutBucketLoggingNo
PutBucketMetricsConfigurationNo
PutBucketNotificationNo
PutBucketNotificationConfigurationNo
PutBucketOwnershipControls
PutBucketPolicyNo
PutBucketReplicationNo
PutBucketRequestPaymentNo
PutBucketTaggingNo
PutBucketVersioning
PutBucketWebsiteNo
PutObject
PutObjectAcl
PutObjectLegalHold
PutObjectLockConfiguration
PutObjectRetention
PutObjectTaggingNo
PutPublicAccessBlockNo
RestoreObjectNo
SelectObjectContentNo
UploadPart
UploadPartCopyNo
WriteGetObjectResponseNo