0cfbd34da2
Design proposal for approval to support S3's UploadPartCopy. Major revision 2. Change-Id: I9cbe934a773d3496101f32afb19492ea75f48061
47 lines
965 B
Plaintext
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
|