storj/docs/blueprints/byte-range-multipart-copy/images/copy-object.plantuml
Erik van Velzen 0cfbd34da2 docs/blueprints: byte range multipart copy
Design proposal for approval to support S3's UploadPartCopy. Major
revision 2.

Change-Id: I9cbe934a773d3496101f32afb19492ea75f48061
2022-10-13 12:03:17 +00:00

47 lines
965 B
Plaintext

@startuml
S3Client -> Gateway: PUT /bucket/dest\nx-amz-copy-source: /bucket/source
Gateway -> Uplink: CopyObject call
note left
oldBucket
oldKey
newBucket
newKey
end note
Uplink -> Satellite: BeginCopyObjectRequest
note left
Bucket
ObjectKey //encrypted//
NewBucket
NewObjectKey //encrypted//
end note
Uplink <-- Satellite: BeginCopyObjectResponse
note right
StreamId
SegmentKeys //encrypted//
MetadataKey //encrypted//
end note
Uplink -> Satellite: FinishCopyObjectRequest
note left
StreamId
Bucket
ObjectKey //encrypted//
NewBucket
NewObjectKey //encrypted//
SegmentKeys //encrypted//
MetadataKey //encrypted//
MetaData (optional) //encrypted//
end note
Uplink <-- Satellite: FinishCopyObjectResponse
note right: Object //encrypted//
Gateway <-- Uplink: CopyObject return
note right: Object
S3Client <-- Gateway: 200 response
note right
<ETag />
<LastModified />
end note
@enduml