forked from eclipse-edc/Connector
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathblob-transfer.puml
50 lines (49 loc) · 1.8 KB
/
blob-transfer.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
'
' Copyright (c) 2022 Microsoft Corporation
'
' This program and the accompanying materials are made available under the
' terms of the Apache License, Version 2.0 which is available at
' https://www.apache.org/licenses/LICENSE-2.0
'
' SPDX-License-Identifier: Apache-2.0
'
' Contributors:
' Microsoft Corporation - Initial document
'
'
@startuml
autonumber "<b>(0)"
Client -> Consumer: Call DM API: POST /transferprocess \n - managedResources=true\n - Storage account name \n - AssetId and ContractId
deactivate Client
activate Consumer
Consumer -> "Consumer Vault": Get dest Storage Account key
Consumer -> "Consumer Storage Account": Create container
Consumer -> "Consumer Vault": Store SAS token
Consumer -> Provider: IDS message providing: \n - Account name \n - Container name \n - Write-only dest SAS token \n - AssetId
deactivate Consumer
activate Provider
Provider -> "Provider Vault": Store SAS token
Provider -> "Provider DPF": DPF call: \n - Account name \n - Container name
deactivate Provider
activate "Provider DPF"
"Provider DPF" -> "Provider Vault": Get source Storage Account Key
"Provider DPF" -> "Provider Vault": Get dest SAS token
"Provider DPF" -> "Provider Storage Account": Read
"Provider DPF" -> "Consumer Storage Account": Write
"Provider DPF" -> "Consumer Storage Account": Write .complete blob
deactivate "Provider DPF"
loop
Consumer -> "Consumer Storage Account": Look for .complete blob
end
loop Poll for completion
Client -> Consumer: GET /transferprocess/<PROCESS_ID>/state
end
activate Client
Client -> "Consumer Storage Account": Read result
Client -> "Consumer": Call DM API: POST /transferprocess/<PROCESS_ID>/deprovision
deactivate Client
activate Consumer
Consumer -> "Consumer Storage Account": Delete container
Consumer -> "Consumer Vault": Delete SAS token
deactivate Client
@enduml