Vai 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 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 LockModalitàSupportato
Legal Hold-Yes
Object RetentionCOMPLIANCEYes
Object RetentionGOVERNANCEYes

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
AbortMultipartUploadYes
CompleteMultipartUploadYes
CopyObjectYes
CreateBucketYes
CreateMultipartUploadYes
DeleteBucketYes
DeleteBucketAnalyticsConfigurationNo
DeleteBucketCorsNo
DeleteBucketEncryptionNo
DeleteBucketIntelligentTieringConfigurationNo
DeleteBucketInventoryConfigurationNo
DeleteBucketLifecycleYes
DeleteBucketMetricsConfigurationNo
DeleteBucketOwnershipControlsYes
DeleteBucketPolicyNo
DeleteBucketReplicationNo
DeleteBucketTaggingNo
DeleteBucketWebsiteNo
DeleteObjectYes
DeleteObjectsYes
DeleteObjectTaggingNo
DeletePublicAccessBlockNo
GetBucketAccelerateConfigurationNo
GetBucketAclYes
GetBucketAnalyticsConfigurationNo
GetBucketCorsNo
GetBucketEncryptionNo
GetBucketIntelligentTieringConfigurationNo
GetBucketInventoryConfigurationNo
GetBucketLifecycleNo
GetBucketLifecycleConfigurationYesNoncurrentVersionExpiration only
GetBucketLocationYes
GetBucketLoggingNo
GetBucketMetricsConfigurationNo
GetBucketNotificationNo
GetBucketNotificationConfigurationNo
GetBucketOwnershipControlsYes
GetBucketPolicyNo
GetBucketPolicyStatusNo
GetBucketReplicationNo
GetBucketRequestPaymentNo
GetBucketTaggingNo
GetBucketVersioningYes
GetBucketWebsiteNo
GetObjectYes
GetObjectAclYes
GetObjectAttributesNo
GetObjectLegalHoldYes
GetObjectLockConfigurationYes
GetObjectRetentionYes
GetObjectTaggingNoRisposta simulata
GetObjectTorrentNo
GetPublicAccessBlockNo
HeadBucketYes
HeadObjectYes
ListBucketAnalyticsConfigurationsNo
ListBucketIntelligentTieringConfigurationsNo
ListBucketInventoryConfigurationsNo
ListBucketMetricsConfigurationsNo
ListBucketsYes
ListMultipartUploadsYes
ListObjectsYes
ListObjectsV2Yes
ListObjectVersionsYes
ListPartsYes
PutBucketAccelerateConfigurationNo
PutBucketAclYes
PutBucketAnalyticsConfigurationNo
PutBucketCorsNo
PutBucketEncryptionNo
PutBucketIntelligentTieringConfigurationNo
PutBucketInventoryConfigurationNo
PutBucketLifecycleNo
PutBucketLifecycleConfigurationYesNoncurrentVersionExpiration only
PutBucketLoggingNo
PutBucketMetricsConfigurationNo
PutBucketNotificationNo
PutBucketNotificationConfigurationNo
PutBucketOwnershipControlsYes
PutBucketPolicyNo
PutBucketReplicationNo
PutBucketRequestPaymentNo
PutBucketTaggingNo
PutBucketVersioningYes
PutBucketWebsiteNo
PutObjectYes
PutObjectAclYes
PutObjectLegalHoldYes
PutObjectLockConfigurationYes
PutObjectRetentionYes
PutObjectTaggingNo
PutPublicAccessBlockNo
RestoreObjectNo
SelectObjectContentNo
UploadPartYes
UploadPartCopyYes
WriteGetObjectResponseNo