storj/docs/blueprints/byte-range-multipart-copy/images/copy-object.svg

55 lines
14 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="656px" preserveAspectRatio="none" style="width:757px;height:656px;background:#FFFFFF;" version="1.1" viewBox="0 0 757 656" width="757px" zoomAndPan="magnify"><defs/><g><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="38" x2="38" y1="36.7999" y2="620.3003"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="267.5" x2="267.5" y1="36.7999" y2="620.3003"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="396" x2="396" y1="36.7999" y2="620.3003"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="581.5" x2="581.5" y1="36.7999" y2="620.3003"/><rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="67" x="5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53" x="12" y="25.0059">S3Client</text><rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="67" x="5" y="619.3003"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53" x="12" y="639.3062">S3Client</text><rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="70" x="232.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="239.5" y="25.0059">Gateway</text><rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="70" x="232.5" y="619.3003"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="239.5" y="639.3062">Gateway</text><rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="53" x="370" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="39" x="377" y="25.0059">Uplink</text><rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="53" x="370" y="619.3003"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="39" x="377" y="639.3062">Uplink</text><rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="64" x="549.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="50" x="556.5" y="25.0059">Satellite</text><rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="64" x="549.5" y="619.3003"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="50" x="556.5" y="639.3062">Satellite</text><polygon fill="#181818" points="255.5,80,265.5,84,255.5,88,259.5,84" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="38.5" x2="261.5" y1="84" y2="84"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102" x="45.5" y="62.8769">PUT /bucket/dest</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="205" x="45.5" y="78.477">x-amz-copy-source: /bucket/source</text><polygon fill="#181818" points="384.5,136,394.5,140,384.5,144,388.5,140" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="267.5" x2="390.5" y1="140" y2="140"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="92" x="274.5" y="134.477">CopyObject call</text><path d="M177,97 L177,169 L262,169 L262,107 L252,97 L177,97 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M252,97 L252,107 L262,107 L252,97 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="58" x="1
@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
PlantUML version 1.2022.7(Mon Aug 22 19:01:30 CEST 2022)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>