Files
doc-exports/docs/dataartsstudio/umn/dataartsstudio_01_0459.html
chenxiaoxiong f9e2808b7c DataArts UMN 20250810 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: chenxiaoxiong <chenxiaoxiong@huawei.com>
Co-committed-by: chenxiaoxiong <chenxiaoxiong@huawei.com>
2025-09-02 10:44:13 +00:00

148 lines
21 KiB
HTML

<a name="dataartsstudio_01_0459"></a><a name="dataartsstudio_01_0459"></a>
<h1 class="topictitle1">Shell</h1>
<div id="body8662426"><div class="section" id="dataartsstudio_01_0459__en-us_topic_0113842761_section44280035173841"><h4 class="sectiontitle">Functions</h4><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p2324626615819">The <span id="dataartsstudio_01_0459__en-us_topic_0113842761_text1899124210417">Shell</span> <span id="dataartsstudio_01_0459__en-us_topic_0113842761_text11138348163321">node</span> is used to execute a shell script.</p>
<div class="note" id="dataartsstudio_01_0459__en-us_topic_0113842761_note1185417456387"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p1227635463916">With EL expression <strong id="dataartsstudio_01_0459__en-us_topic_0113842761_b5360521123715">#{Job.getNodeOutput()}</strong>, you can obtain the desired content (4000 characters at most and counted backwards) in the output of the shell script run by the <span id="dataartsstudio_01_0459__en-us_topic_0113842761_text19941185917917">Shell</span> <span id="dataartsstudio_01_0459__en-us_topic_0113842761_text172621454123916">node</span>.</p>
<p id="dataartsstudio_01_0459__en-us_topic_0113842761_p22618012403">Example:</p>
<p id="dataartsstudio_01_0459__en-us_topic_0113842761_p391323436">To obtain <strong id="dataartsstudio_01_0459__en-us_topic_0113842761_b434365943812">&lt;name&gt;jack&lt;name1&gt;</strong> from a shell script (script name: shell_job1) output, enter the following EL expression:</p>
<pre class="screen" id="dataartsstudio_01_0459__en-us_topic_0113842761_screen5367142113715">#{StringUtil.substringBetween(Job.getNodeOutput("shell_job1"),"&lt;name&gt;","&lt;name1&gt;")}</pre>
</div></div>
</div>
<div class="section" id="dataartsstudio_01_0459__en-us_topic_0113842761_section1685263812380"><h4 class="sectiontitle">Parameters</h4><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p33835429389"><a href="#dataartsstudio_01_0459__en-us_topic_0113842761_table3764823994826">Table 1</a> and <a href="#dataartsstudio_01_0459__en-us_topic_0113842761_table58040457102411">Table 2</a> describe the parameters of the <span id="dataartsstudio_01_0459__en-us_topic_0113842761_text1819518283413">Shell</span> <span id="dataartsstudio_01_0459__en-us_topic_0113842761_text14852240164318">node</span>.</p>
<div class="tablenoborder"><a name="dataartsstudio_01_0459__en-us_topic_0113842761_table3764823994826"></a><a name="en-us_topic_0113842761_table3764823994826"></a><table cellpadding="4" cellspacing="0" summary="" id="dataartsstudio_01_0459__en-us_topic_0113842761_table3764823994826" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Parameters</caption><thead align="left"><tr id="dataartsstudio_01_0459__en-us_topic_0113842761_row3170822394826"><th align="left" class="cellrowborder" valign="top" width="21.42%" id="mcps1.3.2.3.2.4.1.1"><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p2984581994826">Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="10.13%" id="mcps1.3.2.3.2.4.1.2"><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p159227094826">Mandatory</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="68.45%" id="mcps1.3.2.3.2.4.1.3"><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p6186505494826">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="dataartsstudio_01_0459__en-us_topic_0113842761_row3614415394826"><td class="cellrowborder" valign="top" width="21.42%" headers="mcps1.3.2.3.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p1225314550306">Shell or Script</p>
</td>
<td class="cellrowborder" valign="top" width="10.13%" headers="mcps1.3.2.3.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p4617707494826">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.45%" headers="mcps1.3.2.3.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p61023369712">You can select <strong id="dataartsstudio_01_0459__b1564691518174">Shell statement</strong> or <strong id="dataartsstudio_01_0459__b1265210159174">Shell script</strong>.</p>
<ul id="dataartsstudio_01_0459__en-us_topic_0113842761_ul1857020154912"><li id="dataartsstudio_01_0459__en-us_topic_0113842761_li1757317196913">Shell statement<p id="dataartsstudio_01_0459__en-us_topic_0113842761_p74181856897"><a name="dataartsstudio_01_0459__en-us_topic_0113842761_li1757317196913"></a><a name="en-us_topic_0113842761_li1757317196913"></a>In the <span class="parmname" id="dataartsstudio_01_0459__parmname1356712330173"><b>Shell statement</b></span> text box, enter the Shell statement to be executed.</p>
</li><li id="dataartsstudio_01_0459__en-us_topic_0113842761_li10570115593">Shell script<p id="dataartsstudio_01_0459__en-us_topic_0113842761_p310193912912"><a name="dataartsstudio_01_0459__en-us_topic_0113842761_li10570115593"></a><a name="en-us_topic_0113842761_li10570115593"></a>Select a script to be executed. If no script is available, create and develop a script by referring to <a href="dataartsstudio_01_0423.html">Creating a Script</a> and <a href="dataartsstudio_01_0424.html">Developing an SQL Script</a>.</p>
<div class="note" id="dataartsstudio_01_0459__en-us_topic_0113842761_note15529154994813"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p18530849164811">If you select <strong id="dataartsstudio_01_0459__b4946513111812">Shell statement</strong>, the DataArts Factory module cannot parse the parameters contained in the Shell statement.</p>
<p id="dataartsstudio_01_0459__p1492302043510">The execution result of a Shell node cannot be larger than 30 MB. Otherwise, an error is reported.</p>
</div></div>
</li></ul>
</td>
</tr>
<tr id="dataartsstudio_01_0459__en-us_topic_0113842761_row5244434102217"><td class="cellrowborder" valign="top" width="21.42%" headers="mcps1.3.2.3.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p19439198113719">Host Connection</p>
</td>
<td class="cellrowborder" valign="top" width="10.13%" headers="mcps1.3.2.3.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p154390813712">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.45%" headers="mcps1.3.2.3.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p943913843711">Selects the host where a shell script is to be executed.</p>
<div class="notice" id="dataartsstudio_01_0459__note9347626175612"><span class="noticetitle"> NOTICE: </span><div class="noticebody"><ul id="dataartsstudio_01_0459__en-us_topic_0000001503446532_ul1732011438531"><li id="dataartsstudio_01_0459__en-us_topic_0000001503446532_li132074355319">The maximum number of shell or Python scripts that can run concurrently on the ECS is determined by the value of <strong id="dataartsstudio_01_0459__en-us_topic_0000001503446532_b744231917314">MaxSessions</strong> in the <strong id="dataartsstudio_01_0459__en-us_topic_0000001503446532_b18801517103811">/etc/ssh/sshd_config</strong> file on the ECS. Set <strong id="dataartsstudio_01_0459__en-us_topic_0000001503446532_b1357831103217">MaxSessions</strong> based on the scheduling frequency of shell or Python scripts.</li><li id="dataartsstudio_01_0459__en-us_topic_0000001503446532_li632094385319">You have the permission to create and execute files in the <strong id="dataartsstudio_01_0459__en-us_topic_0000001503446532_b84586912349">/tmp</strong> directory on the host.</li><li id="dataartsstudio_01_0459__en-us_topic_0000001503446532_li2595194372315">Shell and Python scripts are executed in the <strong id="dataartsstudio_01_0459__en-us_topic_0000001503446532_b17727195642316">/tmp</strong> directory on an ECS. Ensure that the disk space of the <strong id="dataartsstudio_01_0459__en-us_topic_0000001503446532_b15640427112413">/tmp</strong> directory is not used up.</li></ul>
</div></div>
</td>
</tr>
<tr id="dataartsstudio_01_0459__en-us_topic_0113842761_row46298121478"><td class="cellrowborder" valign="top" width="21.42%" headers="mcps1.3.2.3.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p96301112154711">Script Parameter</p>
</td>
<td class="cellrowborder" valign="top" width="10.13%" headers="mcps1.3.2.3.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p146303127471">No</p>
</td>
<td class="cellrowborder" valign="top" width="68.45%" headers="mcps1.3.2.3.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p7630111294718">Parameter transferred to the script when the shell script is executed. Parameters are separated by spaces. For example: <strong id="dataartsstudio_01_0459__en-us_topic_0114018164_b12595401157">a b c</strong>. The parameter must be referenced by the shell script. Otherwise, the parameter is invalid.</p>
</td>
</tr>
<tr id="dataartsstudio_01_0459__en-us_topic_0113842761_row47451655172218"><td class="cellrowborder" valign="top" width="21.42%" headers="mcps1.3.2.3.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p197452556220">Interactive Input</p>
</td>
<td class="cellrowborder" valign="top" width="10.13%" headers="mcps1.3.2.3.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p574595572218">No</p>
</td>
<td class="cellrowborder" valign="top" width="68.45%" headers="mcps1.3.2.3.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p13745175515228">Interactive information (for example, passwords) provided during shell script execution. Interactive parameters are separated by spaces. The shell script reads parameter values in sequence according to the interaction situation.</p>
<p id="dataartsstudio_01_0459__p8327369513">The following is an example of using the read -p syntax:</p>
<pre class="screen" id="dataartsstudio_01_0459__screen954512396512">read -p "Parameter 1 and parameter 2"Variable 1 Variable 2</pre>
</td>
</tr>
<tr id="dataartsstudio_01_0459__en-us_topic_0113842761_row173916552814"><td class="cellrowborder" valign="top" width="21.42%" headers="mcps1.3.2.3.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p246794194826">Node Name</p>
</td>
<td class="cellrowborder" valign="top" width="10.13%" headers="mcps1.3.2.3.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0113842761_p6568554794826">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.45%" headers="mcps1.3.2.3.2.4.1.3 "><p id="dataartsstudio_01_0459__p14740112265412">Name of the node. It contains a maximum of 128 characters, including letters, digits, hyphens (-), underscores (_), slashes (/), angle brackets (&lt;&gt;), and periods (.).</p>
<p id="dataartsstudio_01_0459__p2367125652211">By default, the node name is the same as that of the selected script. If you want the node name to be different from the script name, disable this function by referring to <a href="dataartsstudio_01_04501.html#dataartsstudio_01_04501__section67661828112219">Disabling Auto Node Name Change</a>.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tablenoborder"><a name="dataartsstudio_01_0459__en-us_topic_0113842761_table58040457102411"></a><a name="en-us_topic_0113842761_table58040457102411"></a><table cellpadding="4" cellspacing="0" summary="" id="dataartsstudio_01_0459__en-us_topic_0113842761_table58040457102411" frame="border" border="1" rules="all"><caption><b>Table 2 </b>Advanced settings</caption><thead align="left"><tr id="dataartsstudio_01_0459__en-us_topic_0099822521_row27216578102411"><th align="left" class="cellrowborder" valign="top" width="21.58%" id="mcps1.3.2.4.2.4.1.1"><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p57059205102411">Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="10.14%" id="mcps1.3.2.4.2.4.1.2"><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p58392901102411">Mandatory</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="68.28%" id="mcps1.3.2.4.2.4.1.3"><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p32204521102411">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="dataartsstudio_01_0459__en-us_topic_0099822521_row51612113175"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.2.4.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p416115112178">Node Status Polling Interval (s)</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.2.4.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p101615110176">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.2.4.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p4161191101716">How often the system checks whether the <span id="dataartsstudio_01_0459__text96531612121010">node</span> execution is complete. The value ranges from 1 to 60 seconds.</p>
</td>
</tr>
<tr id="dataartsstudio_01_0459__en-us_topic_0099822521_row5101045193916"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.2.4.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p147314419397">Max. Node Execution Duration</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.2.4.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p610124511390">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.2.4.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p11011456393">Execution timeout interval for the <span id="dataartsstudio_01_0459__text196011275109">node</span>. If retry is configured and the execution is not complete within the timeout interval, the <span id="dataartsstudio_01_0459__text16052751010">node</span> will be executed again.</p>
</td>
</tr>
<tr id="dataartsstudio_01_0459__en-us_topic_0099822521_row58429402102411"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.2.4.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p5533912102858">Retry upon Failure</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.2.4.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p45593742102858">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.2.4.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p2105628102858">Whether to re-execute a <span id="dataartsstudio_01_0459__text206336457102">node</span> if it fails to be executed. Possible values:</p>
<ul id="dataartsstudio_01_0459__en-us_topic_0099822521_ul18950660102858"><li id="dataartsstudio_01_0459__en-us_topic_0099822521_li36338219102858"><strong id="dataartsstudio_01_0459__b1175548101012">Yes</strong>: The <span id="dataartsstudio_01_0459__en-us_topic_0099822521_text19139245161248">node</span> will be re-executed, and the following parameters must be configured:<ul id="dataartsstudio_01_0459__en-us_topic_0099822521_ul58608523102858"><li id="dataartsstudio_01_0459__en-us_topic_0099822521_li17370115484319"><strong id="dataartsstudio_01_0459__b1444955015104">Retry upon Timeout</strong></li><li id="dataartsstudio_01_0459__en-us_topic_0099822521_li44375787102858"><strong id="dataartsstudio_01_0459__b72552416111">Maximum Retries</strong></li><li id="dataartsstudio_01_0459__en-us_topic_0099822521_li63837764102858"><strong id="dataartsstudio_01_0459__b6664137141116">Retry Interval (seconds)</strong></li></ul>
</li><li id="dataartsstudio_01_0459__en-us_topic_0099822521_li37668971102858"><strong id="dataartsstudio_01_0459__b16553101121115">No</strong>: The <span id="dataartsstudio_01_0459__text14554121151116">node</span> will not be re-executed. This is the default setting.<div class="note" id="dataartsstudio_01_0459__en-us_topic_0099822521_note845010501289"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p194511050132816">If retry is configured for a job node and the timeout duration is configured, the system allows you to retry a node when the node execution times out.</p>
<p id="dataartsstudio_01_0459__en-us_topic_0099822521_p1313284812516">If a node is not re-executed when it fails upon timeout, you can go to the <strong id="dataartsstudio_01_0459__b192251116181116">Default Configuration</strong> page to modify this policy.</p>
<p id="dataartsstudio_01_0459__en-us_topic_0099822521_p15946155074317"><strong id="dataartsstudio_01_0459__b2050018141111">Retry upon Timeout</strong> is displayed only when <strong id="dataartsstudio_01_0459__b1750161815111">Retry upon Failure</strong> is set to <strong id="dataartsstudio_01_0459__b175061813117">Yes</strong>.</p>
</div></div>
</li></ul>
</td>
</tr>
<tr id="dataartsstudio_01_0459__row4367205093212"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.2.4.2.4.1.1 "><p id="dataartsstudio_01_0459__p4367125010328">Retry Condition</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.2.4.2.4.1.2 "><p id="dataartsstudio_01_0459__p11367205043210">No</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.2.4.2.4.1.3 "><p id="dataartsstudio_01_0459__p1536765017324">If <strong id="dataartsstudio_01_0459__b15614155711113">Retry upon Failure</strong> is set to <strong id="dataartsstudio_01_0459__b23171527124">Yes</strong>, retry conditions can be set.</p>
<p id="dataartsstudio_01_0459__p8899426103819">Enable <strong id="dataartsstudio_01_0459__b111201925111219">Retry Condition</strong> and set the return code range.</p>
<p id="dataartsstudio_01_0459__p10250946203614">The shell job can determine whether to retry a failed node based on the return code. You can define the return codes that can be used to determine whether to retry a failed node.</p>
</td>
</tr>
<tr id="dataartsstudio_01_0459__en-us_topic_0099822521_row29541959102411"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.2.4.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p13154928102858">Policy for Handling Subsequent Nodes If the Current Node Fails</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.2.4.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p58916261102858">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.2.4.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p7487822102858">Operation that will be performed if the <span id="dataartsstudio_01_0459__text14424191313146">node</span> fails to be executed. Possible values:</p>
<ul id="dataartsstudio_01_0459__en-us_topic_0099822521_ul281538102858"><li id="dataartsstudio_01_0459__en-us_topic_0099822521_li867222192212"><strong id="dataartsstudio_01_0459__b74336207140">Suspend execution plans of the subsequent nodes</strong>: stops running subsequent nodes. The job instance status is <strong id="dataartsstudio_01_0459__b84336206141">Failed</strong>.</li><li id="dataartsstudio_01_0459__en-us_topic_0099822521_li2533844102858"><strong id="dataartsstudio_01_0459__b104132235148">End the current job execution plan</strong>: Execution of the current job will stop, and the job instance status will become <strong id="dataartsstudio_01_0459__b13413723191418">Failed</strong>.</li><li id="dataartsstudio_01_0459__en-us_topic_0099822521_li22804597102858"><strong id="dataartsstudio_01_0459__b15288825151416">Go to the next node</strong>: ignores the execution failure of the current node. The job instance status is <strong id="dataartsstudio_01_0459__b8289132512140">Failure ignored</strong>.</li><li id="dataartsstudio_01_0459__en-us_topic_0099822521_li1657745411173"><strong id="dataartsstudio_01_0459__b88078273147">Suspend the current job execution plan</strong>: If the current job instance is in abnormal state, the subsequent nodes of this node and the subsequent job instances that depend on the current job are in waiting state.</li></ul>
</td>
</tr>
<tr id="dataartsstudio_01_0459__en-us_topic_0099822521_row230711409176"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.2.4.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p143081740131711">Enable Dry Run</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.2.4.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p030844011714">No</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.2.4.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p19929151141017">If you select <strong id="dataartsstudio_01_0459__b2947185017149">Dry run</strong>, the node will not be executed, and a success message will be returned.</p>
</td>
</tr>
<tr id="dataartsstudio_01_0459__row54341735172317"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.2.4.2.4.1.1 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p1027414042510">Task Groups</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.2.4.2.4.1.2 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p1827419013254">No</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.2.4.2.4.1.3 "><p id="dataartsstudio_01_0459__en-us_topic_0099822521_p4881175711254">Select a task group. If you select a task group, you can control the maximum number of concurrent nodes in the task group in a fine-grained manner in scenarios where a job contains multiple nodes, a data patching task is ongoing, or a job is rerunning.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dataartsstudio_01_0441.html">Node Reference</a></div>
</div>
</div>