You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"name": "create signed URL for IDL object download",
7
+
"style": {
8
+
"label": true
9
+
},
10
+
"nodes": [
11
+
"d52ee2b5.49feb",
12
+
"cb726090.7ab7c",
13
+
"5e9f0c82.286464",
14
+
"6f572ff6.04bad8",
15
+
"3283f407.651b24",
16
+
"90bf7fac.d781c",
17
+
"2a6e979e.87b5a",
18
+
"479881fb.4ad0d",
19
+
"d4323573.b3f9c",
20
+
"567fd6a8.e37f98"
21
+
],
22
+
"x": 235,
23
+
"y": 411,
24
+
"w": 1190,
25
+
"h": 509
26
+
},
27
+
{
28
+
"id": "d52ee2b5.49feb",
29
+
"type": "debug",
30
+
"z": "f16bdd03.e10b3",
31
+
"g": "74088854.44f2",
32
+
"name": "",
33
+
"active": true,
34
+
"console": "false",
35
+
"xaxis": "_time",
36
+
"complete": "true",
37
+
"x": 1330,
38
+
"y": 780,
39
+
"wires": []
40
+
},
41
+
{
42
+
"id": "cb726090.7ab7c",
43
+
"type": "debug",
44
+
"z": "f16bdd03.e10b3",
45
+
"g": "74088854.44f2",
46
+
"name": "",
47
+
"active": true,
48
+
"console": "false",
49
+
"xaxis": "_time",
50
+
"complete": "true",
51
+
"x": 590,
52
+
"y": 780,
53
+
"wires": []
54
+
},
55
+
{
56
+
"id": "5e9f0c82.286464",
57
+
"type": "debug",
58
+
"z": "f16bdd03.e10b3",
59
+
"g": "74088854.44f2",
60
+
"name": "",
61
+
"active": true,
62
+
"console": "false",
63
+
"xaxis": "_time",
64
+
"complete": "false",
65
+
"x": 830,
66
+
"y": 780,
67
+
"wires": []
68
+
},
69
+
{
70
+
"id": "6f572ff6.04bad8",
71
+
"type": "function",
72
+
"z": "f16bdd03.e10b3",
73
+
"g": "74088854.44f2",
74
+
"name": "parse signedUrl to response",
75
+
"func": "// Ensure msg.payload exists and has the expected structure\nif (msg.payload && msg.payload.objectUrls && msg.payload.objectUrls.length > 0 && msg.payload.objectUrls[0].signedUrl) {\n // Extract the signedUrl\n const signedUrl = msg.payload.objectUrls[0].signedUrl;\n\n // Create a new JSON object with the extracted signedUrl\n const newPayload = [{\n\"signedUrl\": signedUrl\n }];\n\n // Assign the new JSON object to msg.payload\n msg.payload = newPayload;\n\n // Log the output for debugging\n node.warn(\"Generated JSON payload: \" + JSON.stringify(msg.payload));\n\n} else {\n // Handle cases where the expected data structure is not found\n node.error(\"Invalid payload structure. Expected msg.payload.objectUrls[0].signedUrl\");\n // You can set msg.payload to an error object, null, or an empty object\n msg.payload = { error: \"Invalid data structure for signed URL\" };\n}\n\nreturn msg;",
76
+
"outputs": 1,
77
+
"language": "javascript",
78
+
"noerr": 0,
79
+
"x": 1120,
80
+
"y": 840,
81
+
"wires": [
82
+
[
83
+
"479881fb.4ad0d",
84
+
"d52ee2b5.49feb"
85
+
]
86
+
]
87
+
},
88
+
{
89
+
"id": "3283f407.651b24",
90
+
"type": "function",
91
+
"z": "f16bdd03.e10b3",
92
+
"g": "74088854.44f2",
93
+
"name": "configure file-path",
94
+
"func": "\n/** NOTE:\nLeading path information \"data/ten=<yourTenantName>\" does NOT have to be included in the request. \nExample\nfull path: \"data/ten=mytenant/MyFirstFolder/MySecondFolder/my_cool_file.csv\"\n>> path: \"/MyFirstFolder/MySecondFolder/my_cool_file.csv\" for the request\n**/\n\nconst dynamicPathfromPara = msg.req.query.imgPath\n\n\nmsg.payload=\n{\n\"paths\":[\n {\"path\": dynamicPathfromPara}\n ]\n} \n\nreturn msg;\n\n\n",
"name": "Signed URL with path parameter in GET request",
199
+
"info": "This flow creates the signedURL for an object located in IDL. \nIt needs to get the 'imgPath' parameter via the URL. \nThis should be the full path to the object in the data lake.\n\n- Flow builds Body for IDL API call \n- POST this request to the generate Download URL endpoint\n- parses the received signedURL as output for further processing\n\nIn this example, the image is passed to Dashboard Designer for visualization. \nUsing this, you can pass an image-path variable from Dashboard Designer dynamically to this flow and then view the image in Dashboard Designer.\n\ndate: 2025-08-26",
0 commit comments