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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
| {
"Comment": "訂單處理平行工作流程",
"StartAt": "ValidateOrder",
"States": {
"ValidateOrder": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:ValidateOrder",
"Next": "ParallelProcessing"
},
"ParallelProcessing": {
"Type": "Parallel",
"Branches": [
{
"StartAt": "ProcessInventory",
"States": {
"ProcessInventory": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:ProcessInventory",
"Next": "UpdateStock"
},
"UpdateStock": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:UpdateStock",
"End": true
}
}
},
{
"StartAt": "ProcessPayment",
"States": {
"ProcessPayment": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:ProcessPayment",
"Next": "SendReceipt"
},
"SendReceipt": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:SendReceipt",
"End": true
}
}
},
{
"StartAt": "UpdateAnalytics",
"States": {
"UpdateAnalytics": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:UpdateAnalytics",
"End": true
}
}
}
],
"ResultPath": "$.parallelResults",
"Catch": [
{
"ErrorEquals": ["States.ALL"],
"ResultPath": "$.error",
"Next": "HandleParallelError"
}
],
"Next": "FinalizeOrder"
},
"FinalizeOrder": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:FinalizeOrder",
"End": true
},
"HandleParallelError": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:RollbackOrder",
"Next": "OrderFailed"
},
"OrderFailed": {
"Type": "Fail",
"Error": "OrderProcessingFailed",
"Cause": "平行處理過程中發生錯誤"
}
}
}
|