forked from docs/doc-exports
Reviewed-by: Eotvos, Oliver <oliver.eotvos@t-systems.com> Co-authored-by: Chen, Junjie <chenjunjie@huawei.com> Co-committed-by: Chen, Junjie <chenjunjie@huawei.com>
178 lines
27 KiB
HTML
178 lines
27 KiB
HTML
<a name="functiongraph_01_1442"></a><a name="functiongraph_01_1442"></a>
|
|
|
|
<h1 class="topictitle1">Creating an HTTP Function</h1>
|
|
<div id="body32001227"><div class="section" id="functiongraph_01_1442__en-us_topic_0000001298667441_section163345291981"><h4 class="sectiontitle">Overview</h4><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p599616471880">HTTP functions are designed to optimize web services. You can send HTTP requests to URLs to trigger function execution. HTTP functions support APIG triggers only.</p>
|
|
<div class="note" id="functiongraph_01_1442__en-us_topic_0000001298667441_note1492143616106"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="functiongraph_01_1442__en-us_topic_0000001298667441_ul750221895914"><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li250281820598">HTTP functions do not distinguish between programming languages. The handler must be set in the <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b17418123610218">bootstrap</strong> file. You can directly write the startup command, and allow access over port 8000. The bound IP address is <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b11351310939">127.0.0.1</strong>.</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li10786340171010">The <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b128591418163">bootstrap</strong> file is the startup file of the HTTP function. The HTTP function can only read <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b99481635844">bootstrap</strong> as the startup file name. If the file name is not <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b1658510427412">bootstrap</strong>, the service cannot be started. For more information, see the <a href="#functiongraph_01_1442__en-us_topic_0000001298667441_li194597302096">bootstrap file example</a>.</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li6153131913521">HTTP functions support multiple programming languages.</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li1066010214593">Functions must return a valid HTTP response.</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li1115663611596">This section uses Node.js as an example. To use another runtime, simply change the runtime path. The code package path does not need to be changed. For the paths of other runtimes, see <a href="#functiongraph_01_1442__en-us_topic_0000001298667441_table20671103902218">Table 1</a>.</li></ul>
|
|
</div></div>
|
|
</div>
|
|
<div class="section" id="functiongraph_01_1442__en-us_topic_0000001298667441_section12816141118346"><h4 class="sectiontitle">Prerequisites</h4><ol id="functiongraph_01_1442__en-us_topic_0000001298667441_ol153901922133419"><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li16962035123511">Prepare a Node.js script. A code example is as follows:<pre class="screen" id="functiongraph_01_1442__en-us_topic_0000001298667441_screen166124112183">const http = require('http'); // Import Node.js core module
|
|
|
|
var server = http.createServer(function (req, res) { //create web server
|
|
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
res.write('<html><body><h2>This is http function.</h2></body></html>');
|
|
res.end();
|
|
});
|
|
|
|
server.listen(8000, '127.0.0.1'); //6 - listen for any incoming requests
|
|
|
|
console.log('Node.js web server at port 8000 is running..')</pre>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li194597302096"><a name="functiongraph_01_1442__en-us_topic_0000001298667441_li194597302096"></a><a name="en-us_topic_0000001298667441_li194597302096"></a>You have prepared a <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b670902742319">bootstrap</strong> file as the startup file of the HTTP function.<p id="functiongraph_01_1442__en-us_topic_0000001298667441_p73365091516"><strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b23368020154">Example</strong></p>
|
|
<p id="functiongraph_01_1442__en-us_topic_0000001298667441_p14173140171817">The content of the <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b386313092315">bootstrap</strong> file is as follows:</p>
|
|
<pre class="screen" id="functiongraph_01_1442__en-us_topic_0000001298667441_screen22081658101813">/opt/function/runtime/nodejs12.13/rtsp/nodejs/bin/node $RUNTIME_CODE_ROOT/index.js</pre>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li46036399226">Compress the preceding two files into a ZIP package.<div class="fignone" id="functiongraph_01_1442__en-us_topic_0000001298667441_fig8326655132718"><span class="figcap"><b>Figure 1 </b>Compressing files into a ZIP package</span><br><span><img id="functiongraph_01_1442__en-us_topic_0000001298667441_image5326155520270" src="en-us_image_0000001768776664.png"></span></div>
|
|
<div class="note" id="functiongraph_01_1442__en-us_topic_0000001298667441_note2887125531811"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p1233151441911">For HTTP functions in Python, add the <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b19662192911239">-u</strong> parameter in the <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b157911336162318">bootstrap</strong> file to ensure that logs can be flushed to the disk. Example:</p>
|
|
<pre class="screen" id="functiongraph_01_1442__en-us_topic_0000001298667441_screen194091558172110">/opt/function/runtime/python3.6/rtsp/python/bin/python3 <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b997174872213">-u</strong> $RUNTIME_CODE_ROOT/index.py</pre>
|
|
</div></div>
|
|
<p id="functiongraph_01_1442__en-us_topic_0000001298667441_p106688393223">To use another runtime, change the runtime path by referring to <a href="#functiongraph_01_1442__en-us_topic_0000001298667441_table20671103902218">Table 1</a>. The code package path does not need to be changed.</p>
|
|
|
|
<div class="tablenoborder"><a name="functiongraph_01_1442__en-us_topic_0000001298667441_table20671103902218"></a><a name="en-us_topic_0000001298667441_table20671103902218"></a><table cellpadding="4" cellspacing="0" summary="" id="functiongraph_01_1442__en-us_topic_0000001298667441_table20671103902218" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Paths for different runtimes</caption><thead align="left"><tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row9669133911223"><th align="left" class="cellrowborder" valign="top" width="30.330000000000002%" id="mcps1.3.2.2.3.4.2.3.1.1"><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p3669239152218">Runtime</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="69.67%" id="mcps1.3.2.2.3.4.2.3.1.2"><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p176697393229">Path</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row14669113916223"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p7669839142210">Java 8</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p1466915399220">/opt/function/runtime/java8/rtsp/jre/bin/java</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row1866915397223"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p15669839112217">Java 11</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p17669339102216">/opt/function/runtime/java11/rtsp/jre/bin/java</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row16669539122219"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p1766963942217">Node.js 6</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p9669113942211">/opt/function/runtime/nodejs6.10/rtsp/nodejs/bin/node</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row966913917227"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p366903952218">Node.js 8</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p46699396226">/opt/function/runtime/nodejs8.10/rtsp/nodejs/bin/node</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row767043911227"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p866943932217">Node.js 10</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p11670163918229">/opt/function/runtime/nodejs10.16/rtsp/nodejs/bin/node</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row10670143915221"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p16704398228">Node.js 12</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p16670939172210">/opt/function/runtime/nodejs12.13/rtsp/nodejs/bin/node</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row1067093902216"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p14670839182219">Node.js 14</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p1867010398223">/opt/function/runtime/nodejs14.18/rtsp/nodejs/bin/node</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row2670193952212"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p4670739112213">Node.js 16</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p18670113914222">/opt/function/runtime/nodejs16.17/rtsp/nodejs/bin/node</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row10670139202219"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p1267013915222">Node.js 18</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p36701539112215">/opt/function/runtime/nodejs18.15/rtsp/nodejs/bin/node</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row26701039152217"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p967093932217">Python 2.7</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p7670173916225">/opt/function/runtime/python2.7/rtsp/python/bin/python</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row467153952213"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p36701039182213">Python 3.6</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p9671123932214">/opt/function/runtime/python3.6/rtsp/python/bin/python3</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row467118398227"><td class="cellrowborder" valign="top" width="30.330000000000002%" headers="mcps1.3.2.2.3.4.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p067173911229">Python 3.9</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="69.67%" headers="mcps1.3.2.2.3.4.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p196711339172218">/opt/function/runtime/python3.9/rtsp/python/bin/python3</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</li></ol>
|
|
</div>
|
|
<div class="section" id="functiongraph_01_1442__en-us_topic_0000001298667441_section3393161112409"><h4 class="sectiontitle">Procedure</h4><ol id="functiongraph_01_1442__en-us_topic_0000001298667441_ol880031614018"><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li10521148202013">Create a function.<ol type="a" id="functiongraph_01_1442__en-us_topic_0000001298667441_ol2257115192014"><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li451713380">Create an HTTP function. For details, see <a href="functiongraph_01_1441.html#functiongraph_01_1441">Creating an Event Function</a>. Pay special attention to the following parameters:<ul id="functiongraph_01_1442__en-us_topic_0000001298667441_ul2495564529"><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li174910564528"><strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b155215518197">Function Type</strong>: HTTP function</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li17901438227"><strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b123131236544">Region</strong>: Select a region where you will deploy your code.</li></ul>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li53678281517">Choose <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b2030114902220">Upload</strong> > <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b155812126225">Local ZIP</strong>, upload the ZIP package, and click <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b1147174715227">Deploy</strong>.<div class="fignone" id="functiongraph_01_1442__en-us_topic_0000001298667441_fig1183852810369"><span class="figcap"><b>Figure 2 </b>Uploading a ZIP file</span><br><span><img id="functiongraph_01_1442__en-us_topic_0000001298667441_image283832812362" src="en-us_image_0000001629983696.png"></span></div>
|
|
</li></ol>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li52643240207">Create a trigger.<div class="note" id="functiongraph_01_1442__en-us_topic_0000001298667441_note185141923142415"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p2051511234243">HTTP functions support APIG triggers only.</p>
|
|
</div></div>
|
|
<ol type="a" id="functiongraph_01_1442__en-us_topic_0000001298667441_ol1667511952415"><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li367431902419">On the function details page, choose <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b9221161515591">Configuration</strong> > <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b65168211166">Triggers</strong> and click <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b220719261062">Create Trigger</strong>.</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li658812919263">Set the trigger information. This step uses an APIG (dedicated) trigger as an example. For more information, see <a href="functiongraph_01_0204.html#functiongraph_01_0204">Using an APIG (Dedicated) Trigger</a>.<p id="functiongraph_01_1442__en-us_topic_0000001298667441_p652792810299"></p>
|
|
<div class="fignone" id="functiongraph_01_1442__en-us_topic_0000001298667441_fig17565131118435"><span class="figcap"><b>Figure 3 </b>Creating a trigger</span><br><span><img id="functiongraph_01_1442__en-us_topic_0000001298667441_image2056512114433" src="en-us_image_0000001678749193.png"></span></div>
|
|
<div class="note" id="functiongraph_01_1442__en-us_topic_0000001298667441_note1973311334295"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p1116754652720">In this example, <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b14855174012913">Security Authentication</strong> is set to <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b93041245590">None</strong>. You need to select an authentication mode based on site requirements.</p>
|
|
<ul id="functiongraph_01_1442__en-us_topic_0000001298667441_ul57811452162713"><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li156201156202710"><strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b10511241151418">App</strong>: AppKey and AppSecret authentication. This mode is of high security and is recommended.</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li5120135914273"><strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b1648664565320">IAM</strong>: IAM authentication. This mode grants access permissions to IAM users only and is of medium security.</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li197811952122712"><strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b131515381111">None</strong>: No authentication. This mode grants access permissions to all users.</li></ul>
|
|
</div></div>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li15193135110261">When the configuration is complete, click <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b145151494141">OK</strong>. After the trigger is created, <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b1721218287176">API_test_http</strong> will be generated on the APIG console.</li></ol>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li859314119289">Publish the API.<ol type="a" id="functiongraph_01_1442__en-us_topic_0000001298667441_ol8357538163119"><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li1475073533115">On the <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b1341104014263">Triggers</strong> tab page, click an API name to go to the API overview page.<div class="fignone" id="functiongraph_01_1442__en-us_topic_0000001298667441_fig328171212534"><span class="figcap"><b>Figure 4 </b>APIG trigger</span><br><span><img id="functiongraph_01_1442__en-us_topic_0000001298667441_image828412105315" src="en-us_image_0000001629992736.png"></span></div>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li13737114214317">Click <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b1152822882818">Edit</strong> in the upper right corner. The <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b158428403288">Basic Information</strong> page is displayed.<div class="fignone" id="functiongraph_01_1442__en-us_topic_0000001298667441_fig116781546105617"><span class="figcap"><b>Figure 5 </b>Editing an API</span><br><span><img id="functiongraph_01_1442__en-us_topic_0000001298667441_image267824617562" src="en-us_image_0000001259876542.png"></span></div>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li187441424314">Click <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b148019172910">Next</strong>. On the <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b44793225914">Define API Request</strong> page that is displayed, change <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b1479219431493">Path</strong> to <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b0181135210913">/user/get</strong> and click <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b18282859692">Finish</strong>.<div class="fignone" id="functiongraph_01_1442__en-us_topic_0000001298667441_fig9771104623715"><span class="figcap"><b>Figure 6 </b>Defining an API request</span><br><span><img id="functiongraph_01_1442__en-us_topic_0000001298667441_image10744342143118" src="en-us_image_0000001307957865.png"></span></div>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li662821943811">Click <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b1751191119103">Publish API</strong>. On the displayed page, click <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b1163122113102">Publish</strong>.</li></ol>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li19703174694216">Trigger a function.<ol type="a" id="functiongraph_01_1442__en-us_topic_0000001298667441_ol7803121714313"><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li153075165434">Go to the FunctionGraph console, choose <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b3710183842513">Functions</strong> > <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b9279842182519">Function List</strong> in the navigation pane, and click the created HTTP function to go to its details page.</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li1399711813455">Choose <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b19984343508">Configuration</strong> > <strong id="functiongraph_01_1442__en-us_topic_0000001298667441_b398416433018">Triggers</strong>, copy the URL, and access it using a browser.<div class="fignone" id="functiongraph_01_1442__en-us_topic_0000001298667441_fig651112313413"><span class="figcap"><b>Figure 7 </b>Copying the URL</span><br><span><img id="functiongraph_01_1442__en-us_topic_0000001298667441_image1751172312344" src="en-us_image_0000001630335086.png"></span></div>
|
|
</li><li id="functiongraph_01_1442__en-us_topic_0000001298667441_li18604114504613">View the request result.<div class="fignone" id="functiongraph_01_1442__en-us_topic_0000001298667441_fig996217418250"><span class="figcap"><b>Figure 8 </b>Viewing the request result</span><br><span><img id="functiongraph_01_1442__en-us_topic_0000001298667441_image128491352155515" src="en-us_image_0000001260038950.png"></span></div>
|
|
</li></ol>
|
|
</li></ol>
|
|
</div>
|
|
<div class="section" id="functiongraph_01_1442__en-us_topic_0000001298667441_section93711611195218"><h4 class="sectiontitle">Common Function Request Headers</h4><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p458117323522">The following table lists the default request header fields of an HTTP function.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="functiongraph_01_1442__en-us_topic_0000001298667441_table1758114322529" frame="border" border="1" rules="all"><caption><b>Table 2 </b>Default request header fields</caption><thead align="left"><tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row25819320522"><th align="left" class="cellrowborder" valign="top" width="28.939999999999998%" id="mcps1.3.4.3.2.3.1.1"><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p155821132135214">Field</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="71.06%" id="mcps1.3.4.3.2.3.1.2"><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p11582232115216">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row1258223225211"><td class="cellrowborder" valign="top" width="28.939999999999998%" headers="mcps1.3.4.3.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p10582332165216">X-CFF-Request-Id</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="71.06%" headers="mcps1.3.4.3.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p45822032145216">ID of the current request</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row15582132115211"><td class="cellrowborder" valign="top" width="28.939999999999998%" headers="mcps1.3.4.3.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p165826321528">X-CFF-Memory</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="71.06%" headers="mcps1.3.4.3.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p958220323526">Allocated memory</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row1758214322529"><td class="cellrowborder" valign="top" width="28.939999999999998%" headers="mcps1.3.4.3.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p1658233220522">X-CFF-Timeout</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="71.06%" headers="mcps1.3.4.3.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p2582153265217">Function timeout duration</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row1758213225215"><td class="cellrowborder" valign="top" width="28.939999999999998%" headers="mcps1.3.4.3.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p4582113235213">X-CFF-Func-Version</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="71.06%" headers="mcps1.3.4.3.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p11582143211523">Function version</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row18583132195216"><td class="cellrowborder" valign="top" width="28.939999999999998%" headers="mcps1.3.4.3.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p55833324521">X-CFF-Func-Name</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="71.06%" headers="mcps1.3.4.3.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p19583193255210">Function name</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row358363218523"><td class="cellrowborder" valign="top" width="28.939999999999998%" headers="mcps1.3.4.3.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p1058333211523">X-CFF-Project-Id</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="71.06%" headers="mcps1.3.4.3.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p11583113275215">Project ID</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row258320324521"><td class="cellrowborder" valign="top" width="28.939999999999998%" headers="mcps1.3.4.3.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p125831932115216">X-CFF-Package</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="71.06%" headers="mcps1.3.4.3.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p19583143255211">App to which the function belongs</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="functiongraph_01_1442__en-us_topic_0000001298667441_row7583183255217"><td class="cellrowborder" valign="top" width="28.939999999999998%" headers="mcps1.3.4.3.2.3.1.1 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p358323255213">X-CFF-Region</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="71.06%" headers="mcps1.3.4.3.2.3.1.2 "><p id="functiongraph_01_1442__en-us_topic_0000001298667441_p758393210525">Current region</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="functiongraph_01_0153.html">Creating a Function from Scratch</a></div>
|
|
</div>
|
|
</div>
|
|
|