forked from docs/doc-exports
Compare commits
159 Commits
waf_and_ob
...
gaussdb_ap
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b004c98a0 | |||
| ba65944bfd | |||
| 4c6bc53817 | |||
| 9ef1eb82a1 | |||
| 84321a2353 | |||
| 6fc8f56a34 | |||
| f2733178cc | |||
| e109bf9c8e | |||
| 83fa2f6615 | |||
| 3b672beb23 | |||
| a7882cf1e5 | |||
| 3d9cca138b | |||
| e0f19ed93a | |||
| 38a9f4a4f1 | |||
| ef5d2cd3cf | |||
| a177f38d14 | |||
| 51dc9baefd | |||
| f716007a5f | |||
| 28105bc50e | |||
| e98e63f8be | |||
| f083e18983 | |||
| d7579655e9 | |||
| 7ace410424 | |||
| 18ea1da072 | |||
| 68bcea4384 | |||
| 0513d28744 | |||
| 4e8841817b | |||
| 94aa7bee24 | |||
| e8a6dc40f2 | |||
| 751359ff3f | |||
| 91c429e341 | |||
| 5692bff190 | |||
| 3a55e4d067 | |||
| 1a47ebbd92 | |||
| 00bf7469fb | |||
| f5d48a5472 | |||
| f701254745 | |||
| 8d0cd12846 | |||
| 5e9d9a41e7 | |||
| f3ee29a3dd | |||
| eebf6cb7fa | |||
| e8efa9b7ba | |||
| c77e557422 | |||
| 21455079fd | |||
| 342f52c5ae | |||
| 5da982a576 | |||
| 5d0d5cb580 | |||
| efd08778d3 | |||
| 60ce55a6ea | |||
| 2de464948e | |||
| ef0114d1cb | |||
| 9dc3cf685a | |||
| caf6a13046 | |||
| a08f68fbc7 | |||
| a6e2b5f473 | |||
| 00887d3d3c | |||
| 32b9354795 | |||
| a80bb7d522 | |||
| 31704f0318 | |||
| b920308ce6 | |||
| 3878697a01 | |||
| 3ddd15d9ee | |||
| 3afe914820 | |||
| bf0cbd66f9 | |||
| 0c90df93b1 | |||
| e00cefc755 | |||
| 5a1135747c | |||
| 5b5876528a | |||
| 70c0715827 | |||
| f15f2de664 | |||
| f173c9af19 | |||
| c24a3e0de3 | |||
| f8abb220af | |||
| 2374069890 | |||
| eda19245f1 | |||
| 4a12a1caba | |||
| bdd7833dbb | |||
| 2ce2f88b51 | |||
| a217e13b31 | |||
| 5eee175e13 | |||
| 5b28b6b590 | |||
| 90a67c482c | |||
| d2cf04063e | |||
| c4a04d1412 | |||
| 58b2c5fa4f | |||
| e721f171fe | |||
| d84e24d182 | |||
| 245e895951 | |||
| 8b0d556fba | |||
| 9b080603e7 | |||
| c4bbd6f5f5 | |||
| 14be84ba51 | |||
| 1ad28cc33e | |||
| 24b2a3635e | |||
| ca474a9a73 | |||
| 00fefcaaba | |||
| c4cb455200 | |||
| 5838e911a2 | |||
| 4e812dec9e | |||
| c8d7a6f7c1 | |||
| 6edd5bfe3a | |||
| 7492b7b30f | |||
| 55786917ca | |||
| 65bcfb9cda | |||
| 9e0bcb70c6 | |||
| 2cf321eb3d | |||
| 1a76d1b3b4 | |||
| 14f2171339 | |||
| a64ca9cc06 | |||
| 37582ed59f | |||
| b421d4c681 | |||
| 1b372eb4c2 | |||
| 55da809bbb | |||
| 9506c3feb1 | |||
| 0749423d6d | |||
| b55a939a8a | |||
| f3b09e5d2f | |||
| f37f5291ef | |||
| 894279c39a | |||
| cfec39ba1b | |||
| 313c8b6ba0 | |||
| beb52111d9 | |||
| 6a0fb20d02 | |||
| a98e12fea0 | |||
| 3f5759eed2 | |||
| a24ca60074 | |||
| a037336b6b | |||
| 60010eb9d0 | |||
| 05f2df2618 | |||
| 256e58e5d1 | |||
| 21e968a153 | |||
| 79b1bc1455 | |||
| b1e6b7227a | |||
| 4194b50d78 | |||
| 894de44a4e | |||
| b24bb72138 | |||
| c5fcb46315 | |||
| 3b1f73dece | |||
| 8682f10aa4 | |||
| 558bee8536 | |||
| b974c4b77e | |||
| ea05d1a734 | |||
| 50686af1a0 | |||
| 96aa3747dc | |||
| 5e34f6ce26 | |||
| 6182f91ba8 | |||
| 14be087a3b | |||
| 947c3381e0 | |||
| 54b39691a8 | |||
| 901ea67b42 | |||
| e227be9021 | |||
| 5523220f09 | |||
| 82285f686d | |||
| 7f68b84da4 | |||
| dd8a3a658b | |||
| 5bdbeeee8c | |||
| f6f2ca6fa5 | |||
| 6b71b4a1fa | |||
| 99eb66ab8a |
2
.gitignore
vendored
2
.gitignore
vendored
@ -134,6 +134,8 @@ dmypy.json
|
||||
**/temp/
|
||||
**/tmp_result/
|
||||
|
||||
.stestr/
|
||||
|
||||
# Some people build submodule because of not understanding git basics
|
||||
doc-exports
|
||||
|
||||
|
||||
3
.stestr.conf
Normal file
3
.stestr.conf
Normal file
@ -0,0 +1,3 @@
|
||||
[DEFAULT]
|
||||
test_path=./otc_doc_convertor/tests/unit
|
||||
top_dir=./
|
||||
Submodule doc-exports deleted from 118a109795
@ -1 +0,0 @@
|
||||
var expandClassName="dropdownexpand";var collapseClassName="dropdowncollapse";var collapseTableClassName="dropdowncollapsetable";function ExpandorCollapseNode(a){a=a.parentNode;if(a.className==expandClassName){a.className=collapseClassName}else{a.className=expandClassName}}function ExpandorCollapseTableNode(a){a=a.parentNode;if(a.className==expandClassName){a.className=collapseTableClassName}else{a.className=expandClassName}}function ExpandorCollapseAllNodes(g,h,c){var a=g.getAttribute("title");var b=g.parentNode;if(a=="collapse"){g.setAttribute("title","expand");g.className="dropdownAllButtonexpand";g.innerHTML=h}else{g.setAttribute("title","collapse");g.className="dropdownAllButtoncollapse";g.innerHTML=c}var f=b.getElementsByTagName("*");for(var d=0;d<f.length;d++){var e=f[d];if(e.className.indexOf(expandClassName)!=-1||e.className.indexOf(collapseClassName)!=-1||e.className.indexOf(collapseTableClassName)!=-1){if(a=="collapse"){if(e.tagName.toLowerCase()=="table"){e.className=collapseTableClassName}else{e.className=collapseClassName}}else{e.className=expandClassName}}}}function ExpandForHref(f){if(null==f||"#"==f||"###"==f){return}var a=null;try{a=document.getElementById(f)}catch(d){}if(null==a||a.length==0){return}try{var b=a.parentNode;while(b!=null&&b.tagName!="body"){if(b.className==collapseClassName){b.className=expandClassName}b=b.parentNode}}catch(c){}}window.onload=function(){var b=document.getElementsByTagName("div");for(var c=0;c<b.length;c++){var j=b[c];if(j.className.indexOf(expandClassName)!=-1){j.className=collapseClassName}}var d=document.getElementsByTagName("a");try{for(var c=0;c<d.length;c++){var f=d[c];var h=f.getAttribute("href");if(h!=""&&h!=null){f.addEventListener("click",showHasConref,false)}}}catch(g){}};function showHasConref(b){var a=b.currentTarget.getAttribute("href");try{if(a!=null&&a!="#"&&a.lastIndexOf("#")>-1){ExpandForHref(a.substring(a.lastIndexOf("#")+1))}}catch(c){}};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,18 +0,0 @@
|
||||
/** IDP renames $ to $$$,jQueryHW2 */
|
||||
var $$$, jQueryHW2;
|
||||
jQueryHW2 = $$$ = $;
|
||||
|
||||
function image_size(a) {
|
||||
$$$(window).on('load', function () {
|
||||
$$$(a).each(function () {
|
||||
var e = $$$(this);
|
||||
var f = e.width();
|
||||
var d = e.height();
|
||||
var b = f;
|
||||
var c = d;
|
||||
e.click(function () {
|
||||
tb_show("", this.src, false)
|
||||
})
|
||||
})
|
||||
})
|
||||
};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,7 +0,0 @@
|
||||
/*!
|
||||
* jQuery Mousewheel 3.1.13
|
||||
*
|
||||
* Copyright 2015 jQueryHW2 Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
*/
|
||||
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQueryHW2)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});
|
||||
@ -1 +0,0 @@
|
||||
var i=0;var dhtmlgoodies_tooltipFlag=false;var dhtmlgoodies_tooltip="";var dhtmlgoodies_tooltipShadow="";var dhtmlgoodies_shadowSize=3;var dhtmlgoodies_tooltipMaxWidth=500;var dhtmlgoodies_tooltipMinWidth=100;var dhtmlgoodies_iframe=false;var timeId;var clickFlag=false;var tooltip_is_msie=(navigator.userAgent.indexOf("MSIE")>=0&&navigator.userAgent.indexOf("opera")==-1&&document.all)?true:false;var xPos;var yPos;window.document.onmousemove=function(a){a=a||window.event;if(a.pageX){xPos=a.pageX;yPos=a.pageY}else{if(document.body!==null&&typeof document.body!=="undefined"){xPos=a.clientX+document.body.scrollLeft-document.body.clientLeft;yPos=a.clientY+document.body.scrollTop-document.body.clientTop}}};function showTooltip(e){if(document.body===null||typeof document.body==="undefined"){return}if(i==0){return}clickFlag=true;var f=Json.parse("jsonData."+e);var a=Math.max(document.body.clientWidth,document.documentElement.clientWidth)-20;if(!dhtmlgoodies_tooltipFlag){dhtmlgoodies_tooltip=document.createElement("DIV");dhtmlgoodies_tooltip.id="dhtmlgoodies_tooltip";dhtmlgoodies_tooltipShadow=document.createElement("DIV");dhtmlgoodies_tooltipShadow.id="dhtmlgoodies_tooltipShadow";document.body.appendChild(dhtmlgoodies_tooltip);document.body.appendChild(dhtmlgoodies_tooltipShadow);if(tooltip_is_msie){dhtmlgoodies_iframe=document.createElement("IFRAME");dhtmlgoodies_iframe.frameborder="5";dhtmlgoodies_iframe.style.backgroundColor="#FFFFFF";dhtmlgoodies_iframe.src="#";dhtmlgoodies_iframe.style.zIndex=100;dhtmlgoodies_iframe.style.position="absolute";document.body.appendChild(dhtmlgoodies_iframe)}}dhtmlgoodies_tooltip.style.display="block";dhtmlgoodies_tooltipShadow.style.display="block";if(tooltip_is_msie){dhtmlgoodies_iframe.style.display="block"}var b=Math.max(document.body.scrollTop,document.documentElement.scrollTop);if(navigator.userAgent.toLowerCase().indexOf("safari")>=0){b=0}var c=xPos+10;dhtmlgoodies_tooltip.style.width=null;dhtmlgoodies_tooltip.innerHTML=f;dhtmlgoodies_tooltip.style.left=c+"px";if(tooltip_is_msie){dhtmlgoodies_tooltip.style.top=yPos+20+b+"px"}else{dhtmlgoodies_tooltip.style.top=yPos+20+"px"}dhtmlgoodies_tooltipShadow.style.left=c+dhtmlgoodies_shadowSize+"px";if(tooltip_is_msie){dhtmlgoodies_tooltipShadow.style.top=yPos+20+b+dhtmlgoodies_shadowSize+"px"}else{dhtmlgoodies_tooltipShadow.style.top=yPos+20+dhtmlgoodies_shadowSize+"px"}if(dhtmlgoodies_tooltip.offsetWidth>dhtmlgoodies_tooltipMaxWidth){dhtmlgoodies_tooltip.style.width=dhtmlgoodies_tooltipMaxWidth+"px"}var d=dhtmlgoodies_tooltip.offsetWidth;if(d<dhtmlgoodies_tooltipMinWidth){d=dhtmlgoodies_tooltipMinWidth}dhtmlgoodies_tooltip.style.width=d+"px";dhtmlgoodies_tooltipShadow.style.width=dhtmlgoodies_tooltip.offsetWidth+"px";dhtmlgoodies_tooltipShadow.style.height=dhtmlgoodies_tooltip.offsetHeight+"px";if((c+d)>a){dhtmlgoodies_tooltip.style.left=(dhtmlgoodies_tooltipShadow.style.left.replace("px","")-((c+d)-a))+"px";dhtmlgoodies_tooltipShadow.style.left=(dhtmlgoodies_tooltipShadow.style.left.replace("px","")-((c+d)-a)+dhtmlgoodies_shadowSize)+"px"}if(tooltip_is_msie){dhtmlgoodies_iframe.style.left=dhtmlgoodies_tooltip.style.left;dhtmlgoodies_iframe.style.top=dhtmlgoodies_tooltip.style.top;dhtmlgoodies_iframe.style.width=dhtmlgoodies_tooltip.offsetWidth+"px";dhtmlgoodies_iframe.style.height=dhtmlgoodies_tooltip.offsetHeight+"px"}}function hideTooltip(){i=0;clickFlag=false;if((dhtmlgoodies_tooltip!==null&&typeof dhtmlgoodies_tooltip!=="undefined")&&+(dhtmlgoodies_tooltip.style!==null&&typeof dhtmlgoodies_tooltip.style!=="undefined")){dhtmlgoodies_tooltip.style.display="none";dhtmlgoodies_tooltipShadow.style.display="none";if(tooltip_is_msie){dhtmlgoodies_iframe.style.display="none"}}if(timeId!==null&&typeof timeId!=="undefined"&&timeId!=""){clearTimeout(timeId)}}function showText(a){i=1;timeId=setTimeout(function(){showTooltip(a)},500)}function showText2(a){if(!clickFlag){i=1;showTooltip(a);i=0;if(timeId!==null&&typeof timeId!=="undefined"&&timeId!=""){clearTimeout(timeId)}}}function anchorScroll(b){var d=document.getElementsByName(b);if(d!=null&&d.length>0){var c=d[0];var a=c.getBoundingClientRect().left+(document.body.scrollLeft||(document.documentElement&&document.documentElement.scrollLeft));var e=c.getBoundingClientRect().top+(document.body.scrollTop||(document.documentElement&&document.documentElement.scrollTop));window.scrollTo(a,e-30)}};
|
||||
@ -1 +0,0 @@
|
||||
#TB_window{font:12px Arial,Helvetica,sans-serif;color:#333333;}#TB_secondLine{font:10px Arial,Helvetica,sans-serif;color:#666666;}#TB_window a:link{color:#666666;}#TB_window a:visited{color:#666666;}#TB_window a:hover{color:#000;}#TB_window a:active{color:#666666;}#TB_window a:focus{color:#666666;}#TB_overlay{position:fixed;z-index:100;top:0;left:0;height:100%;width:100%;}.TB_overlayMacFFBGHack{background:url(macFFBgHack.png) repeat;}.TB_overlayBG{background-color:#000;filter:alpha(opacity=30);-moz-opacity:.75;opacity:.75;}* html #TB_overlay{position:absolute;height:expression(document.body.scrollHeight>document.body.offsetHeight ? document.body.scrollHeight:document.body.offsetHeight+'px');}#TB_window{position:fixed;background:#ffffff;z-index:102;color:#000000;display:none;border:2px solid #525252;text-align:left;top:50%;left:50%;}* html #TB_window{position:absolute;margin-top:expression(0 - parseInt(this.offsetHeight / 2)+(TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop)+'px');}#TB_window img#TB_Image{display:block;margin:0 auto;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:1px solid #666;border-left:1px solid #666;cursor:pointer;}#TB_caption{padding:7px 30px 10px 25px;float:left;}#TB_closeWindow{color:#999999;padding:8px 0 25px;font-size:12px;}#TB_closeWindow a{float:left;height:17px;line-height:100px;margin-left:10px;overflow:hidden;width:17px;}#TB_closeWindow a:hover{float:left;height:17px;line-height:100px;margin-left:10px;overflow:hidden;width:17px;}#TB_closeWindow a.imgadjust{background:url(imagemax.gif) no-repeat 0 top;}#TB_closeWindow a.imgclose{background:url(imageclose.gif) no-repeat 0 top;}#TB_closeWindow a.imgadjust:hover{background:url(imagemaxhover.gif) no-repeat 0 top;}#TB_closeWindow a.imgclose:hover{background:url(imageclosehover.gif) no-repeat 0 top;}.TB_padding{padding:5px 10px 10px;}#TB_closeAjaxWindow{padding:7px 10px 5px 0;margin-bottom:1px;text-align:right;float:right;}#TB_ajaxWindowTitle{float:left;padding:7px 0 5px 10px;margin-bottom:1px;}#TB_title{background-color:#e8e8e8;height:27px;}#TB_ajaxContent{clear:both;padding:2px 15px 15px 15px;overflow:auto;text-align:left;line-height:1.4em;}#TB_ajaxContent.TB_modal{padding:15px;}#TB_ajaxContent p{padding:5px 0 5px 0;}#TB_load{position:fixed;display:none;height:13px;width:208px;z-index:103;top:50%;left:50%;margin:-6px 0 0 -104px;}* html #TB_load{position:absolute;margin-top:expression(0 - parseInt(this.offsetHeight / 2)+(TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop)+'px');}#TB_HideSelect{z-index:99;position:fixed;top:0;left:0;background-color:#fff;border:none;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;height:100%;width:100%;}* html #TB_HideSelect{position:absolute;height:expression(document.body.scrollHeight>document.body.offsetHeight ? document.body.scrollHeight:document.body.offsetHeight+'px');}#TB_iframeContent{clear:both;border:none;margin-bottom:-1px;margin-top:1px;_margin-bottom:1px;}
|
||||
File diff suppressed because one or more lines are too long
1652
docs/apig/umn/ALL_META.TXT.json
Normal file
1652
docs/apig/umn/ALL_META.TXT.json
Normal file
File diff suppressed because it is too large
Load Diff
1487
docs/apig/umn/CLASS.TXT.json
Normal file
1487
docs/apig/umn/CLASS.TXT.json
Normal file
File diff suppressed because it is too large
Load Diff
3
docs/apig/umn/PARAMETERS.txt
Normal file
3
docs/apig/umn/PARAMETERS.txt
Normal file
@ -0,0 +1,3 @@
|
||||
version=""
|
||||
language="en-us"
|
||||
type=""
|
||||
21
docs/apig/umn/apic-ug-190430104.html
Normal file
21
docs/apig/umn/apic-ug-190430104.html
Normal file
@ -0,0 +1,21 @@
|
||||
<a name="apic-ug-190430104"></a><a name="apic-ug-190430104"></a>
|
||||
|
||||
|
||||
<h1 class="topictitle1">Custom Authorizers</h1>
|
||||
|
||||
<div id="body1567734680308"><p id="apic-ug-190430104__en-us_topic_0190314273_p8060118"></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="ullinks">
|
||||
<li class="ulchildlink"><strong><a href="apic-ug-190430105.html">Creating a Custom Authorizer</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apic-ug-190430106.html">Deleting a Custom Authorizer</a></strong><br>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-0008.html">API Opening</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
74
docs/apig/umn/apic-ug-190430105.html
Normal file
74
docs/apig/umn/apic-ug-190430105.html
Normal file
@ -0,0 +1,74 @@
|
||||
<a name="apic-ug-190430105"></a><a name="apic-ug-190430105"></a>
|
||||
|
||||
<h1 class="topictitle1">Creating a Custom Authorizer</h1>
|
||||
<div id="body1567734681701"><div class="notice" id="apic-ug-190430105__note393918316161"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="apic-ug-190430105__p49391539165">This feature is currently unavailable because FunctionGraph has not been launched.</p>
|
||||
</div></div>
|
||||
<div class="section" id="apic-ug-190430105__en-us_topic_0190314274_section82021509359"><h4 class="sectiontitle">Scenario</h4><p id="apic-ug-190430105__en-us_topic_0190314274_p1554211215447">APIG supports custom authentication of both frontend and backend requests.</p>
|
||||
<ul id="apic-ug-190430105__en-us_topic_0190314274_ul2168135994418"><li id="apic-ug-190430105__en-us_topic_0190314274_li1916855920446">Frontend custom authentication: If you already have an authentication system, you can configure it in a function and then create a custom authorizer by using the function to authenticate API requests.</li><li id="apic-ug-190430105__en-us_topic_0190314274_li2443192124520">Backend custom authentication: You can create a custom authorizer to authenticate requests for different backend services, eliminating the need to customize APIs for different authentication systems and simplifying API development. You only need to create a function-based custom authorizer in APIG to connect to the backend authentication system.</li></ul>
|
||||
<div class="note" id="apic-ug-190430105__en-us_topic_0190314274_note184013376469"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="apic-ug-190430105__en-us_topic_0190314274_p2401537194615">Custom authentication is implemented using FunctionGraph and not supported if FunctionGraph is unavailable in the selected region.</p>
|
||||
<p id="apic-ug-190430105__en-us_topic_0190314274_p1612866155615">For details about custom authentication, see <em id="apic-ug-190430105__en-us_topic_0190314274_i6558321154212">Developer Guide</em>.</p>
|
||||
</div></div>
|
||||
<p id="apic-ug-190430105__en-us_topic_0190314274_p175515517443">The following figure shows the process of calling APIs through custom authentication.</p>
|
||||
<div class="fignone" id="apic-ug-190430105__en-us_topic_0190314274_fig6743111682417"><span class="figcap"><b>Figure 1 </b>Calling APIs through custom authentication</span><br><span><img id="apic-ug-190430105__en-us_topic_0190314274_image16681309018" src="en-us_image_0000001142758222.png"></span></div>
|
||||
</div>
|
||||
<div class="section" id="apic-ug-190430105__en-us_topic_0190314274_section174396106356"><h4 class="sectiontitle">Prerequisites</h4><ul id="apic-ug-190430105__ul10170203075214"><li id="apic-ug-190430105__li12170163045218">You have created a function in FunctionGraph.</li><li id="apic-ug-190430105__li1217043095218">You have the <strong id="apic-ug-190430105__b338815538574">FunctionGraph Administrator</strong> permission.</li></ul>
|
||||
</div>
|
||||
<div class="section" id="apic-ug-190430105__en-us_topic_0190314274_section57334161359"><h4 class="sectiontitle">Procedure</h4><ol id="apic-ug-190430105__en-us_topic_0190314274_ol1388135917558"><li id="apic-ug-190430105__en-us_topic_0190314274_li1831115541819"><span>Log in to the management console.</span></li><li id="apic-ug-190430105__en-us_topic_0190314274_li46871818394"><span>In the navigation pane, choose <strong id="apic-ug-190430105__en-us_topic_0190314274_b48248502154">Dedicated Gateways</strong>. Then click <strong id="apic-ug-190430105__en-us_topic_0190314274_b882511504154">Access Console</strong> in the upper right corner of a dedicated gateway.</span></li><li id="apic-ug-190430105__en-us_topic_0190314274_li1347811279416"><span>Choose <strong id="apic-ug-190430105__en-us_topic_0190314274_b257521317281">API Publishing</strong> > <strong id="apic-ug-190430105__en-us_topic_0190314274_b728910490273">Custom Authorizers</strong>, and click <strong id="apic-ug-190430105__en-us_topic_0190314274_b15290134982714">Create Custom Authorizer</strong>.</span></li><li id="apic-ug-190430105__en-us_topic_0190314274_li132121615719"><span>Set the parameters listed in <a href="#apic-ug-190430105__table63864610016">Table 1</a>.</span><p><div class="p" id="apic-ug-190430105__p2178145813019">
|
||||
<div class="tablenoborder"><a name="apic-ug-190430105__table63864610016"></a><a name="table63864610016"></a><table cellpadding="4" cellspacing="0" summary="" id="apic-ug-190430105__table63864610016" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Parameters for creating a custom authorizer</caption><thead align="left"><tr id="apic-ug-190430105__row12351746509"><th align="left" class="cellrowborder" valign="top" width="18.63%" id="mcps1.3.4.2.4.2.1.1.2.3.1.1"><p id="apic-ug-190430105__p3351461802">Parameter</p>
|
||||
</th>
|
||||
<th align="left" class="cellrowborder" valign="top" width="81.37%" id="mcps1.3.4.2.4.2.1.1.2.3.1.2"><p id="apic-ug-190430105__p83514461608">Description</p>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr id="apic-ug-190430105__row8354461303"><td class="cellrowborder" valign="top" width="18.63%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.1 "><p id="apic-ug-190430105__p19351646003">Name</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="81.37%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.2 "><p id="apic-ug-190430105__p1354460014">Authorizer name.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apic-ug-190430105__row15361546203"><td class="cellrowborder" valign="top" width="18.63%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.1 "><p id="apic-ug-190430105__p7351946201">Type</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="81.37%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.2 "><ul id="apic-ug-190430105__ul17351846804"><li id="apic-ug-190430105__li133517461607"><strong id="apic-ug-190430105__en-us_topic_0190314274_b3101910152912">Frontend</strong>: Authenticates access to APIs.</li><li id="apic-ug-190430105__li113594614015"><strong id="apic-ug-190430105__en-us_topic_0190314274_b367542302912">Backend</strong>: Authenticates access to backend services.</li></ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apic-ug-190430105__row17363461808"><td class="cellrowborder" valign="top" width="18.63%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.1 "><p id="apic-ug-190430105__p43611461305">Function URN</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="81.37%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.2 "><p id="apic-ug-190430105__p73611461705">Select a FunctionGraph function.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apic-ug-190430105__row17361846807"><td class="cellrowborder" valign="top" width="18.63%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.1 "><p id="apic-ug-190430105__p17361046309">Identity Sources</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="81.37%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.2 "><p id="apic-ug-190430105__p10361946506">Request parameters for authentication. You can add headers and query strings. Header names are case-insensitive.</p>
|
||||
<p id="apic-ug-190430105__p73614611019">This parameter is mandatory only if you set <strong id="apic-ug-190430105__en-us_topic_0190314274_b5491145922012">Type</strong> to <strong id="apic-ug-190430105__en-us_topic_0190314274_b16429554213">Frontend</strong>, and <strong id="apic-ug-190430105__en-us_topic_0190314274_b15989984210">Max. Cache Age (s)</strong> is greater than <strong id="apic-ug-190430105__en-us_topic_0190314274_b202635118211">0</strong>. When the cache is used, this parameter is used as a search criterion to query authentication results.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apic-ug-190430105__row13794612015"><td class="cellrowborder" valign="top" width="18.63%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.1 "><p id="apic-ug-190430105__p43616469020">Max. Cache Age (s)</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="81.37%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.2 "><p id="apic-ug-190430105__p436154618018">The time for caching authentication results.</p>
|
||||
<p id="apic-ug-190430105__p836646502">Value <strong id="apic-ug-190430105__en-us_topic_0190314274_b9619143115377">0</strong> means that authentication results will not be cached. The maximum value is <strong id="apic-ug-190430105__en-us_topic_0190314274_b1962153123718">3600</strong>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apic-ug-190430105__row1837846704"><td class="cellrowborder" valign="top" width="18.63%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.1 "><p id="apic-ug-190430105__p183713467015">Send Request Body</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="81.37%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.2 "><p id="apic-ug-190430105__p113712466017">Determine whether to send the body of each API request to the authentication function. If you enable this option, the request body will be sent to the authentication function in the same way as the headers and query strings.</p>
|
||||
<div class="note" id="apic-ug-190430105__note537164616010"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="apic-ug-190430105__p163714613016">This option is available only for dedicated API gateways.</p>
|
||||
</div></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apic-ug-190430105__row1381246206"><td class="cellrowborder" valign="top" width="18.63%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.1 "><p id="apic-ug-190430105__p0385461508">User Data</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="81.37%" headers="mcps1.3.4.2.4.2.1.1.2.3.1.2 "><p id="apic-ug-190430105__p11381346308">Customized request parameters to be used together with <strong id="apic-ug-190430105__en-us_topic_0190314274_b97924713816">Identity Sources</strong> when APIG invokes a function.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</p></li><li id="apic-ug-190430105__en-us_topic_0190314274_li258413487573"><span>Click <strong id="apic-ug-190430105__en-us_topic_0190314274_b6229185515381">OK</strong>.</span></li></ol>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apic-ug-190430104.html">Custom Authorizers</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
18
docs/apig/umn/apic-ug-190430106.html
Normal file
18
docs/apig/umn/apic-ug-190430106.html
Normal file
@ -0,0 +1,18 @@
|
||||
<a name="apic-ug-190430106"></a><a name="apic-ug-190430106"></a>
|
||||
|
||||
<h1 class="topictitle1">Deleting a Custom Authorizer</h1>
|
||||
<div id="body1567734682305"><div class="section" id="apic-ug-190430106__en-us_topic_0190314275_section1288124051515"><h4 class="sectiontitle">Scenario</h4><p id="apic-ug-190430106__en-us_topic_0190314275_p12350184217151">You can delete custom authorizers you no longer require.</p>
|
||||
<div class="note" id="apic-ug-190430106__en-us_topic_0190314275_note64806442019"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="apic-ug-190430106__en-us_topic_0190314275_ul7871145124818"><li id="apic-ug-190430106__en-us_topic_0190314275_li787154594815">Custom authentication is implemented using FunctionGraph and not supported if FunctionGraph is unavailable in the selected region.</li><li id="apic-ug-190430106__en-us_topic_0190314275_li18794544810">Custom authorizers that have been configured for APIs cannot be deleted.</li></ul>
|
||||
</div></div>
|
||||
</div>
|
||||
<div class="section" id="apic-ug-190430106__en-us_topic_0190314275_section497534932116"><h4 class="sectiontitle">Prerequisites</h4><p id="apic-ug-190430106__en-us_topic_0190314275_p153978535219">You have <a href="apic-ug-190430105.html">created a custom authorizer</a>.</p>
|
||||
</div>
|
||||
<div class="section" id="apic-ug-190430106__en-us_topic_0190314275_section710174681512"><h4 class="sectiontitle">Procedure</h4><ol id="apic-ug-190430106__en-us_topic_0190314275_ol14964143051617"><li id="apic-ug-190430106__en-us_topic_0190314275_li1831115541819"><span>Log in to the management console.</span></li><li id="apic-ug-190430106__en-us_topic_0190314275_li46871818394"><span>In the navigation pane, choose <strong id="apic-ug-190430106__en-us_topic_0190314275_b187941753161510">Dedicated Gateways</strong>. Then click <strong id="apic-ug-190430106__en-us_topic_0190314275_b12799145315157">Access Console</strong> in the upper right corner of a dedicated gateway.</span></li><li id="apic-ug-190430106__en-us_topic_0190314275_li1347811279416"><span>Choose <strong id="apic-ug-190430106__en-us_topic_0190314275_b1970916431663">API Publishing</strong> > <strong id="apic-ug-190430106__en-us_topic_0190314275_b92381328065">Custom Authorizers</strong>, and click <strong id="apic-ug-190430106__en-us_topic_0190314275_b6696401712">Delete</strong> in the row containing the custom authorizer you want to delete.</span></li><li id="apic-ug-190430106__en-us_topic_0190314275_li1112314390314"><span>Click <strong id="apic-ug-190430106__en-us_topic_0190314275_b5666185635119">Yes</strong>.</span></li></ol>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apic-ug-190430104.html">Custom Authorizers</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
45
docs/apig/umn/apig-custom-policy.html
Normal file
45
docs/apig/umn/apig-custom-policy.html
Normal file
@ -0,0 +1,45 @@
|
||||
<a name="apig-custom-policy"></a><a name="apig-custom-policy"></a>
|
||||
|
||||
<h1 class="topictitle1">APIG Custom Policies</h1>
|
||||
<div id="body1585035631993"><p id="apig-custom-policy__en-us_topic_0232979206_p958317321214">Custom policies can be created to supplement the system-defined policies of APIG. For the actions that can be added to custom policies, see section "Permissions Policies and Supported Actions" in the <em id="apig-custom-policy__i10321123255714">API Gateway API Reference</em>.</p>
|
||||
<p id="apig-custom-policy__en-us_topic_0232979206_p11763528201217">You can create custom policies using one of the following methods:</p>
|
||||
<ul id="apig-custom-policy__en-us_topic_0232979206_ul87631028191213"><li id="apig-custom-policy__en-us_topic_0232979206_li176382821219">Visual editor: Select cloud services, actions, resources, and request conditions. This does not require knowledge of policy syntax.</li><li id="apig-custom-policy__en-us_topic_0232979206_li1776320280124">JSON: Edit JSON policies from scratch or based on an existing policy.</li></ul>
|
||||
<p id="apig-custom-policy__en-us_topic_0232979206_p38310456104">For details, see section "Creating a Custom Policy" in the <em id="apig-custom-policy__i143671496574">Identity and Access Management User Guide</em>. The following section contains examples of common APIG custom policies.</p>
|
||||
<div class="note" id="apig-custom-policy__en-us_topic_0232979206_note416314130244"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="apig-custom-policy__en-us_topic_0232979206_p16164181311242">Only dedicated API gateways support system-defined policies and custom policies.</p>
|
||||
</div></div>
|
||||
<div class="section" id="apig-custom-policy__en-us_topic_0232979206_section207947385117"><h4 class="sectiontitle">Example Custom Policies</h4><ul id="apig-custom-policy__en-us_topic_0232979206_ul1379473816114"><li id="apig-custom-policy__en-us_topic_0232979206_li1679416383118">Example 1: Allow users to create and debug APIs<pre class="screen" id="apig-custom-policy__en-us_topic_0232979206_screen15794193891113">{
|
||||
"Version": "1.1",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": [
|
||||
"
|
||||
apig:apis:create
|
||||
apig:apis:debug
|
||||
"
|
||||
]
|
||||
}
|
||||
]
|
||||
}</pre>
|
||||
</li><li id="apig-custom-policy__en-us_topic_0232979206_li87948384116">Example 2: Deny API group creation<p id="apig-custom-policy__en-us_topic_0232979206_p079415386115"><a name="apig-custom-policy__en-us_topic_0232979206_li87948384116"></a><a name="en-us_topic_0232979206_li87948384116"></a>A policy with only "Deny" permissions must be used in conjunction with other policies to take effect. If the permissions assigned to a user contain both "Allow" and "Deny", the "Deny" permissions take precedence over the "Allow" permissions.</p>
|
||||
<p id="apig-custom-policy__en-us_topic_0232979206_p47946388118">The following method can be used if you need to assign permissions of the <strong id="apig-custom-policy__en-us_topic_0232979206_b6582529173710">APIG FullAccess</strong> policy to a user but you want to prevent the user from creating API groups. Create a custom policy for denying API group creation, and attach both policies to the group to which the user belongs. Then, the user can perform all operations on API gateways except creating API groups. The following is an example of a deny policy:</p>
|
||||
<pre class="screen" id="apig-custom-policy__en-us_topic_0232979206_screen14794038181119">{
|
||||
"Version": "1.1",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Deny",
|
||||
"Action": [
|
||||
"apig:groups:create"
|
||||
]
|
||||
}
|
||||
]
|
||||
}</pre>
|
||||
</li></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-190529107.html">Permissions Management</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
17
docs/apig/umn/apig-en-faq-180307001.html
Normal file
17
docs/apig/umn/apig-en-faq-180307001.html
Normal file
@ -0,0 +1,17 @@
|
||||
<a name="apig-en-faq-180307001"></a><a name="apig-en-faq-180307001"></a>
|
||||
|
||||
<h1 class="topictitle1">What Are the Error Messages Returned by APIG Like?</h1>
|
||||
<div id="body1513649176968"><p id="apig-en-faq-180307001__en-us_topic_0089391837_p8060118">When receiving an API request, APIG returns a response. A similar response body is as follows:</p>
|
||||
<pre class="screen" id="apig-en-faq-180307001__en-us_topic_0089391837_screen896515153425">{
|
||||
"error_code": "APIG.0101",
|
||||
"error_msg": "API does not exist or is not published in the environment.",
|
||||
"request_id": "acbc548ac6f2a0dbdb9e3518a7c0ff84"
|
||||
}</pre>
|
||||
<ul id="apig-en-faq-180307001__en-us_topic_0089391837_ul59486177221"><li id="apig-en-faq-180307001__en-us_topic_0089391837_li179482176229"><strong id="apig-en-faq-180307001__en-us_topic_0089391837_b87091310194912">"error_code"</strong>: error code</li><li id="apig-en-faq-180307001__en-us_topic_0089391837_li20234731102219"><strong id="apig-en-faq-180307001__en-us_topic_0089391837_b10517185794816">"error_msg"</strong>: description of the error</li></ul>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919014.html">Other FAQs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
11
docs/apig/umn/apig-en-faq-180307002.html
Normal file
11
docs/apig/umn/apig-en-faq-180307002.html
Normal file
@ -0,0 +1,11 @@
|
||||
<a name="apig-en-faq-180307002"></a><a name="apig-en-faq-180307002"></a>
|
||||
|
||||
<h1 class="topictitle1">Do I Need to Publish an API Again After Modification?</h1>
|
||||
<div id="body1513649176968"><p id="apig-en-faq-180307002__en-us_topic_0089391838_p8060118">Yes. After you modify the parameters of a published API, you must publish the API again to synchronize the modifications to the environment.</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919016.html">API Publishing</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
14
docs/apig/umn/apig-en-faq-180307003.html
Normal file
14
docs/apig/umn/apig-en-faq-180307003.html
Normal file
@ -0,0 +1,14 @@
|
||||
<a name="apig-en-faq-180307003"></a><a name="apig-en-faq-180307003"></a>
|
||||
|
||||
<h1 class="topictitle1">How Can I Protect My APIs?</h1>
|
||||
<div id="body1513649176968"><ul id="apig-en-faq-180307003__en-us_topic_0089391839_ul34341241168"><li id="apig-en-faq-180307003__en-us_topic_0089391839_li29636281068">Identity authentication<p id="apig-en-faq-180307003__en-us_topic_0089391839_p15725122910611"><a name="apig-en-faq-180307003__en-us_topic_0089391839_li29636281068"></a><a name="en-us_topic_0089391839_li29636281068"></a>Configure IAM or App authentication for APIs to prevent malicious calling.</p>
|
||||
</li><li id="apig-en-faq-180307003__en-us_topic_0089391839_li334614127718">Access control policies<p id="apig-en-faq-180307003__en-us_topic_0089391839_p636214975"><a name="apig-en-faq-180307003__en-us_topic_0089391839_li334614127718"></a><a name="en-us_topic_0089391839_li334614127718"></a>Configure a whitelist or blacklist of IP addresses/IP address ranges or accounts for APIs to secure access.</p>
|
||||
</li><li id="apig-en-faq-180307003__en-us_topic_0089391839_li4435424669">Request throttling policies<p id="apig-en-faq-180307003__en-us_topic_0089391839_p8060118"><a name="apig-en-faq-180307003__en-us_topic_0089391839_li4435424669"></a><a name="en-us_topic_0089391839_li4435424669"></a>By default, an API can be called up to 200 times per second. If your backend service does not support this access rate, decrease the quota accordingly.</p>
|
||||
</li></ul>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919015.html">API Security</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
11
docs/apig/umn/apig-en-faq-180307004.html
Normal file
11
docs/apig/umn/apig-en-faq-180307004.html
Normal file
@ -0,0 +1,11 @@
|
||||
<a name="apig-en-faq-180307004"></a><a name="apig-en-faq-180307004"></a>
|
||||
|
||||
<h1 class="topictitle1">Can Mobile Apps Call APIs?</h1>
|
||||
<div id="body1513649176968"><p id="apig-en-faq-180307004__en-us_topic_0089391840_p8060118">Yes, mobile apps can call APIs. In app authentication mode, the AppKey and AppSecret of a mobile app are replaced with those in the relevant SDK to sign the app.</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919017.html">API Calling</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
14
docs/apig/umn/apig-en-faq-180307006.html
Normal file
14
docs/apig/umn/apig-en-faq-180307006.html
Normal file
@ -0,0 +1,14 @@
|
||||
<a name="apig-en-faq-180307006"></a><a name="apig-en-faq-180307006"></a>
|
||||
|
||||
<h1 class="topictitle1">Can I Upload Files Using the POST Method?</h1>
|
||||
<div id="body1513649176968"><p id="apig-en-faq-180307006__en-us_topic_0089391842_p25248191833">Yes.</p>
|
||||
<p id="apig-en-faq-180307006__en-us_topic_0089391842_p1636918478318">If you are using dedicated gateways, configure the maximum request body size allowed by setting the <strong id="apig-en-faq-180307006__b31709553616">request_body_size</strong> parameter. The value ranges from 1 MB to 9536 MB.</p>
|
||||
<div class="note" id="apig-en-faq-180307006__note20886171145913"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="apig-en-faq-180307006__p28878125912">Currently, only the request body can be transparently transmitted.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919014.html">Other FAQs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
38
docs/apig/umn/apig-en-faq-180307008.html
Normal file
38
docs/apig/umn/apig-en-faq-180307008.html
Normal file
@ -0,0 +1,38 @@
|
||||
<a name="apig-en-faq-180307008"></a><a name="apig-en-faq-180307008"></a>
|
||||
|
||||
<h1 class="topictitle1">Can Applications Deployed in a VPC Call APIs?</h1>
|
||||
<div id="body1513827940996"><p id="apig-en-faq-180307008__en-us_topic_0089872475_p147418307461">Yes, applications deployed in a VPC can call APIs by default. If domain name resolution fails, configure a DNS server on the current endpoint by following the instructions in <a href="#apig-en-faq-180307008__en-us_topic_0089872475_section856622113118">Configuring an Intranet DNS Server</a>. After the configuration, applications deployed in the VPC can call APIs.</p>
|
||||
<div class="section" id="apig-en-faq-180307008__en-us_topic_0089872475_section856622113118"><a name="apig-en-faq-180307008__en-us_topic_0089872475_section856622113118"></a><a name="en-us_topic_0089872475_section856622113118"></a><h4 class="sectiontitle">Configuring an Intranet DNS Server</h4><p class="MsoNormal" id="apig-en-faq-180307008__en-us_topic_0089872475_p59002044">To configure a DNS server, specify its IP address in the <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b1055789353172254">/etc/resolv.conf</strong> file.</p>
|
||||
<p class="MsoNormal" id="apig-en-faq-180307008__p686935132811">The IP address of the intranet DNS server depends on which region you are located in. Find the IP address of the intranet DNS server in your region from the private DNS server addresses mentioned in the <em id="apig-en-faq-180307008__i1311645362213">Domain Name Service FAQs</em>.</p>
|
||||
<p id="apig-en-faq-180307008__en-us_topic_0089872475_p1345182812445">Add an intranet DNS server with either of the following two methods:</p>
|
||||
<ul id="apig-en-faq-180307008__en-us_topic_0089872475_ul72651733194414"><li id="apig-en-faq-180307008__en-us_topic_0089872475_li164310423442">Method 1: Modify the subnet information of the VPC.</li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li183471853154410">Method 2: Edit the <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b842352706172843">/etc/resolv.conf</strong> file.<div class="note" id="apig-en-faq-180307008__en-us_topic_0089872475_note95521833153019"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="apig-en-faq-180307008__en-us_topic_0089872475_p6553833183013">The intranet DNS server configurations become invalid after the ECS restarts, and the intranet DNS server must be configured again. Therefore, method 1 is recommended.</p>
|
||||
</div></div>
|
||||
</li></ul>
|
||||
</div>
|
||||
<div class="section" id="apig-en-faq-180307008__en-us_topic_0089872475_section15385141315316"><h4 class="sectiontitle">Method 1</h4><p id="apig-en-faq-180307008__en-us_topic_0089872475_p132171223113117">Perform the following procedure to add a DNS server IP address to the subnet configurations of the ECS in the VPC. </p>
|
||||
<ol id="apig-en-faq-180307008__en-us_topic_0089872475_ol6442141303113"><li id="apig-en-faq-180307008__en-us_topic_0089872475_li144113139313"><span>Log in to the management console.</span></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_en-us_topic_0080101678_li1763225213319"><span>Click <span><img id="apig-en-faq-180307008__image1373385310416" src="en-us_image_0143929918.png"></span> in the upper left corner to select a region.</span></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_en-us_topic_0080101678_li2936408718728"><span>In the service list, choose <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b7123125331317">Compute</strong> > <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b24831507132">Elastic Cloud Server</strong>.</span></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li18441151343112"><span>Click the name of the ECS you want to use.</span></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li16910204134212"><a name="apig-en-faq-180307008__en-us_topic_0089872475_li16910204134212"></a><a name="en-us_topic_0089872475_li16910204134212"></a><span>On the ECS details page, view the NIC information, and click <span><img id="apig-en-faq-180307008__en-us_topic_0089872475_image416924811155" src="en-us_image_0000001143167164.png"></span> to view the subnet name of the ECS.</span></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li144411613133111"><span>On the ECS basic information page, view the VPC name of the ECS.</span></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li18176162024812"><span>Click the VPC name to visit the VPC console.</span></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li1644111318311"><span>Choose <strong id="apig-en-faq-180307008__b163191110185317">Subnets</strong> in the left navigation pane.</span></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li1844191363111"><span>Locate the subnet mentioned in <a href="#apig-en-faq-180307008__en-us_topic_0089872475_li16910204134212">5</a> and click the subnet name.</span></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li13041961595"><span>Change the DNS server address of the subnet and click <strong id="apig-en-faq-180307008__b1252193935514">OK</strong>.</span><p><p id="apig-en-faq-180307008__en-us_topic_0089872475_p18639127115918">For example, change the address to <strong id="apig-en-faq-180307008__b1723254445514">100.125.1.250</strong>.</p>
|
||||
</p></li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li4442191314311"><span>Restart the ECS. Check that the <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b842352706174213">/etc/resolv.conf</strong> file contains the IP address of the DNS server to be configured, and the IP address is less than those of all other DNS servers.</span><p><p id="apig-en-faq-180307008__en-us_topic_0089872475_p1744762315">The following figure shows the IP address <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b1761053182912">100.125.1.250</strong> of the DNS server to be configured.</p>
|
||||
<p class="MsoNormal" id="apig-en-faq-180307008__en-us_topic_0089872475_p122471635311"><span><img id="apig-en-faq-180307008__en-us_topic_0089872475_image72477313318" src="en-us_image_0000001189007099.png" title="Click to enlarge" class="imgResize"></span></p>
|
||||
<div class="note" id="apig-en-faq-180307008__en-us_topic_0089872475_note1124710320315"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p class="NotesText" id="apig-en-faq-180307008__en-us_topic_0089872475_p12476310314">Modifying the subnet information of a VPC will affect all ECSs created using the subnet.</p>
|
||||
</div></div>
|
||||
</p></li></ol>
|
||||
</div>
|
||||
<div class="section" id="apig-en-faq-180307008__en-us_topic_0089872475_section20214194333211"><h4 class="sectiontitle">Method 2</h4><p id="apig-en-faq-180307008__en-us_topic_0089872475_p156831510151">Add the IP address of the intranet DNS server to the <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b159875416213">/etc/resolv.conf</strong> file.</p>
|
||||
<p id="apig-en-faq-180307008__en-us_topic_0089872475_p11442213133115">For example, if you are located in <strong id="apig-en-faq-180307008__b1952045782019">region01</strong>, add an intranet DNS server of IP address <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b8527626143217">100.125.1.250</strong> to the <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b14591231193215">/etc/resolv.conf</strong> file.</p>
|
||||
<div class="note" id="apig-en-faq-180307008__en-us_topic_0089872475_note1144471319312"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="apig-en-faq-180307008__en-us_topic_0089872475_ul125968273610"><li id="apig-en-faq-180307008__en-us_topic_0089872475_li17596427567">The IP address of the new DNS server must be less than those of all other DNS servers.</li><li id="apig-en-faq-180307008__en-us_topic_0089872475_li17343143010613">The DNS configurations take effect immediately after the <strong id="apig-en-faq-180307008__en-us_topic_0089872475_b141657157343">/etc/resolv.conf</strong> file is saved.</li></ul>
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919017.html">API Calling</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script language="JavaScript">
|
||||
<!--
|
||||
image_size('.imgResize');
|
||||
var msg_imageMax = "view original image";
|
||||
var msg_imageClose = "close";
|
||||
//--></script>
|
||||
15
docs/apig/umn/apig-en-faq-180307009.html
Normal file
15
docs/apig/umn/apig-en-faq-180307009.html
Normal file
@ -0,0 +1,15 @@
|
||||
<a name="apig-en-faq-180307009"></a><a name="apig-en-faq-180307009"></a>
|
||||
|
||||
<h1 class="topictitle1">How Do I Ensure the Security of Backend Services Invoked by APIG?</h1>
|
||||
<div id="body1516602210259"><p id="apig-en-faq-180307009__en-us_topic_0093963882_p1941784211261">You can ensure the security of backend services invoked by APIG by using the following methods:</p>
|
||||
<ul id="apig-en-faq-180307009__en-us_topic_0093963882_ul1489013506289"><li id="apig-en-faq-180307009__en-us_topic_0093963882_li3412153302211">Bind signature keys to APIs<p id="apig-en-faq-180307009__en-us_topic_0093963882_p42472034152214"><a name="apig-en-faq-180307009__en-us_topic_0093963882_li3412153302211"></a><a name="en-us_topic_0093963882_li3412153302211"></a>After a signature key is bound to an API, APIG adds signature information to each request sent to the backend service. The backend service calculates the signature information in each request and checks whether the signature information is consistent with that on APIG.</p>
|
||||
</li><li id="apig-en-faq-180307009__en-us_topic_0093963882_li18433173610221">Encrypt requests using HTTPS<p id="apig-en-faq-180307009__en-us_topic_0093963882_p1449414376223"><a name="apig-en-faq-180307009__en-us_topic_0093963882_li18433173610221"></a><a name="en-us_topic_0093963882_li18433173610221"></a>Ensure that the required SSL certificate exists.</p>
|
||||
</li><li id="apig-en-faq-180307009__en-us_topic_0093963882_li112921560139">Perform backend authentication<p id="apig-en-faq-180307009__en-us_topic_0093963882_p563031151613"><a name="apig-en-faq-180307009__en-us_topic_0093963882_li112921560139"></a><a name="en-us_topic_0093963882_li112921560139"></a>Enable security authentication for backend services of the desired APIs to process only API requests that carry correct authentication information.</p>
|
||||
</li></ul>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919015.html">API Security</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
11
docs/apig/umn/apig-en-faq-180606010.html
Normal file
11
docs/apig/umn/apig-en-faq-180606010.html
Normal file
@ -0,0 +1,11 @@
|
||||
<a name="apig-en-faq-180606010"></a><a name="apig-en-faq-180606010"></a>
|
||||
|
||||
<h1 class="topictitle1">What SDK Languages Does APIG Support?</h1>
|
||||
<div id="body1527296467241"><p id="apig-en-faq-180606010__en-us_topic_0114206515_p8060118">APIG supports Java, Go, Python, C#, JavaScript, PHP, C++, C, and Android SDKs.</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919014.html">Other FAQs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
13
docs/apig/umn/apig-en-faq-180606011.html
Normal file
13
docs/apig/umn/apig-en-faq-180606011.html
Normal file
@ -0,0 +1,13 @@
|
||||
<a name="apig-en-faq-180606011"></a><a name="apig-en-faq-180606011"></a>
|
||||
|
||||
<h1 class="topictitle1">Why Can't APIs Published in a Non-RELEASE Environment Be Accessed?</h1>
|
||||
<div id="body1527296467241"><p id="apig-en-faq-180606011__p250644182516">To make an API published in a non-RELEASE environment accessible, add the <strong id="apig-en-faq-180606011__b16663939194518">x-stage</strong> header to the API request.</p>
|
||||
<p id="apig-en-faq-180606011__en-us_topic_0114206516_p8060118">Example:</p>
|
||||
<pre class="screen" id="apig-en-faq-180606011__screen1337204919247">r.Header.Add("x-stage", "RELEASE")</pre>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919016.html">API Publishing</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
11
docs/apig/umn/apig-en-faq-180606012.html
Normal file
11
docs/apig/umn/apig-en-faq-180606012.html
Normal file
@ -0,0 +1,11 @@
|
||||
<a name="apig-en-faq-180606012"></a><a name="apig-en-faq-180606012"></a>
|
||||
|
||||
<h1 class="topictitle1">Does APIG Support Multiple Backend Endpoints?</h1>
|
||||
<div id="body1527296467241"><p id="apig-en-faq-180606012__en-us_topic_0114206517_p8060118">Yes. APIG supports the configuration of multiple backend endpoints through a VPC channel (also called "load balance channel"). You can add multiple cloud servers to each VPC channel.</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-faq-create.html">API Creation</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
11
docs/apig/umn/apig-en-faq-180606013.html
Normal file
11
docs/apig/umn/apig-en-faq-180606013.html
Normal file
@ -0,0 +1,11 @@
|
||||
<a name="apig-en-faq-180606013"></a><a name="apig-en-faq-180606013"></a>
|
||||
|
||||
<h1 class="topictitle1">What Is the Maximum Size of an API Request Package?</h1>
|
||||
<div id="body1527296467241"><p id="apig-en-faq-180606013__en-us_topic_0114206518_p1636918478318">Dedicated gateway: APIG forwards only API requests whose body is no larger than 12 MB. If your gateway will receive requests with a body larger than 12 MB, modify the <strong id="apig-en-faq-180606013__b939515012394">request_body_size</strong> parameter on the gateway details page. This parameter indicates the maximum request body size allowed. The value ranges from 1 MB to 9536 MB.</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919017.html">API Calling</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
29
docs/apig/umn/apig-en-faq-180919014.html
Normal file
29
docs/apig/umn/apig-en-faq-180919014.html
Normal file
@ -0,0 +1,29 @@
|
||||
<a name="apig-en-faq-180919014"></a><a name="apig-en-faq-180919014"></a>
|
||||
|
||||
|
||||
<h1 class="topictitle1">Other FAQs</h1>
|
||||
|
||||
<div id="body1537328448508"><p id="apig-en-faq-180919014__en-us_topic_0132100546_p8060118"></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="ullinks">
|
||||
<li class="ulchildlink"><strong><a href="en-us_topic_0084464485.html">What Are the Relationships Between an API, Environment, and App?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="en-us_topic_0084464486.html">How Can I Use APIG?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180606010.html">What SDK Languages Does APIG Support?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180307006.html">Can I Upload Files Using the POST Method?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180307001.html">What Are the Error Messages Returned by APIG Like?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-20210414.html">Can APIG Be Deployed in a Local Data Center?</a></strong><br>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-cmccfaq.html">FAQs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
19
docs/apig/umn/apig-en-faq-180919015.html
Normal file
19
docs/apig/umn/apig-en-faq-180919015.html
Normal file
@ -0,0 +1,19 @@
|
||||
<a name="apig-en-faq-180919015"></a><a name="apig-en-faq-180919015"></a>
|
||||
|
||||
<h1 class="topictitle1">API Security</h1>
|
||||
<div id="body1537328448508"></div>
|
||||
<div>
|
||||
<ul class="ullinks">
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180307003.html">How Can I Protect My APIs?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180307009.html">How Do I Ensure the Security of Backend Services Invoked by APIG?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-191201.html">Can I Control Access to the Private IP Addresses of the ECSs in a VPC Channel (or Load Balance Channel)?</a></strong><br>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-cmccfaq.html">FAQs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
25
docs/apig/umn/apig-en-faq-180919016.html
Normal file
25
docs/apig/umn/apig-en-faq-180919016.html
Normal file
@ -0,0 +1,25 @@
|
||||
<a name="apig-en-faq-180919016"></a><a name="apig-en-faq-180919016"></a>
|
||||
|
||||
|
||||
<h1 class="topictitle1">API Publishing</h1>
|
||||
|
||||
<div id="body1537328981429"><p id="apig-en-faq-180919016__en-us_topic_0132117927_p8060118"></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="ullinks">
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180307002.html">Do I Need to Publish an API Again After Modification?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180606011.html">Why Can't APIs Published in a Non-RELEASE Environment Be Accessed?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-181016019.html">Can I Invoke Different Backend Services by Publishing an API in Different Environments?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-2005027.html">How Do I Specify an Environment for API Debugging?</a></strong><br>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-cmccfaq.html">FAQs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
53
docs/apig/umn/apig-en-faq-180919017.html
Normal file
53
docs/apig/umn/apig-en-faq-180919017.html
Normal file
@ -0,0 +1,53 @@
|
||||
<a name="apig-en-faq-180919017"></a><a name="apig-en-faq-180919017"></a>
|
||||
|
||||
<h1 class="topictitle1">API Calling</h1>
|
||||
<div id="body1537328981429"></div>
|
||||
<div>
|
||||
<ul class="ullinks">
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-2005010.html">What Are the Possible Causes for an API Calling Failure?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-2005012.html">What Should I Do If an Error Code Is Returned During API Calling?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-2005022.html">Why Am I Seeing the Error Message "414 Request-URI Too Large" When I Call an API?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-19123002.html">What Should I Do If "The API does not exist or has not been published in the environment." Is Displayed?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-181016018.html">Why Am I Seeing the Message "No backend available"?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="en-us_topic_0087908599.html">What Are the Possible Causes If the Message "Backend unavailable" or "Backend timeout" Is Displayed?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-0004.html">Why Am I Seeing the Message "Backend domain name resolution failed" When a Backend Service Is Called?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-19122004.html">Why Doesn't Modification of the backend_timeout Parameter Take Effect?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-2005011.html">How Do I Switch the Environment for API Calling?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180606013.html">What Is the Maximum Size of an API Request Package?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-190515025.html">How Do I Perform App Authentication in iOS System?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-190627029.html">Why Can't I Create a Header Parameter Named x-auth-token for an API Called Through IAM Authentication?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-190627030.html">App FAQs</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180307004.html">Can Mobile Apps Call APIs?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-faq-180307008.html">Can Applications Deployed in a VPC Call APIs?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-190627033.html">How Do I Implement WebSocket Data Transmission?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-19122001.html">Does APIG Support Persistent Connections?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-19123001.html">How Will the Requests for an API with Multiple Backend Policies Be Matched and Executed?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-19122003.html">Is There a Limit on the Size of the Response to an API Request?</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-faq-0007.html">How Can I Access Backend Services over Public Networks Through APIG?</a></strong><br>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-cmccfaq.html">FAQs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
11
docs/apig/umn/apig-en-faq-181016018.html
Normal file
11
docs/apig/umn/apig-en-faq-181016018.html
Normal file
@ -0,0 +1,11 @@
|
||||
<a name="apig-en-faq-181016018"></a><a name="apig-en-faq-181016018"></a>
|
||||
|
||||
<h1 class="topictitle1">Why Am I Seeing the Message "No backend available"?</h1>
|
||||
<div id="body1539658342364"><ul id="apig-en-faq-181016018__en-us_topic_0135442565_ul1258265171417"><li id="apig-en-faq-181016018__en-us_topic_0135442565_li658295121417">Check whether the backend service is accessible, and modify the backend service if it is inaccessible.</li><li id="apig-en-faq-181016018__en-us_topic_0135442565_li3582135151415">Check the ECS security group configurations of the backend service and verify that the required port has been enabled.</li><li id="apig-en-faq-181016018__en-us_topic_0135442565_li4582451131412">Check whether ACL configurations of the VPC restrict the communication between the API gateway and the subnet where the backend service is located.</li><li id="apig-en-faq-181016018__en-us_topic_0135442565_li328135541419">If you use a VPC channel, check whether the service port, health check port, and backend servers of the VPC channel have been correctly configured.</li></ul>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919017.html">API Calling</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
11
docs/apig/umn/apig-en-faq-181016019.html
Normal file
11
docs/apig/umn/apig-en-faq-181016019.html
Normal file
@ -0,0 +1,11 @@
|
||||
<a name="apig-en-faq-181016019"></a><a name="apig-en-faq-181016019"></a>
|
||||
|
||||
<h1 class="topictitle1">Can I Invoke Different Backend Services by Publishing an API in Different Environments?</h1>
|
||||
<div id="body1539658342364"><p id="apig-en-faq-181016019__en-us_topic_0135442566_p13200165711416">Yes, you can invoke different backend services by publishing an API in different environments while specifying environment variables and backend parameters.</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-faq-180919016.html">API Publishing</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
27
docs/apig/umn/apig-en-ug-180307001.html
Normal file
27
docs/apig/umn/apig-en-ug-180307001.html
Normal file
@ -0,0 +1,27 @@
|
||||
<a name="apig-en-ug-180307001"></a><a name="apig-en-ug-180307001"></a>
|
||||
|
||||
<h1 class="topictitle1">Opening APIs</h1>
|
||||
<div id="body1511090188350"></div>
|
||||
<div>
|
||||
<ul class="ullinks">
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307002.html">Process Flow</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307003.html">Creating an API Group</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-ug-190419107.html">Binding a Domain Name</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="en-us_topic_0080101678.html">Creating an API</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-ug-190419108.html">Debugging an API</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307004.html">(Optional) Creating an Environment</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307005.html">Publishing an API</a></strong><br>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-0012.html">Getting Started</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
28
docs/apig/umn/apig-en-ug-180307002.html
Normal file
28
docs/apig/umn/apig-en-ug-180307002.html
Normal file
@ -0,0 +1,28 @@
|
||||
<a name="apig-en-ug-180307002"></a><a name="apig-en-ug-180307002"></a>
|
||||
|
||||
<h1 class="topictitle1">Process Flow</h1>
|
||||
<div id="body1508204232679"><p id="apig-en-ug-180307002__en-us_topic_0080101676_p8060118">The following figure shows the process of exposing an API.</p>
|
||||
<p id="apig-en-ug-180307002__p18543548134311"><span><img id="apig-en-ug-180307002__image14730133294617" src="en-us_image_0000001182465263.png" title="Click to enlarge" class="imgResize"></span></p>
|
||||
<ol id="apig-en-ug-180307002__en-us_topic_0080101676_ol134712352910"><li id="apig-en-ug-180307002__li035223651911">Creating a Gateway<p id="apig-en-ug-180307002__p147514598126"><a name="apig-en-ug-180307002__li035223651911"></a><a name="li035223651911"></a>Buy a dedicated gateway. For details, see <a href="apig-ug-191004.html">Buying a Dedicated Gateway</a>. </p>
|
||||
<p id="apig-en-ug-180307002__p08351451237"></p>
|
||||
</li><li id="apig-en-ug-180307002__en-us_topic_0080101676_li1934718315294"><a href="apig-en-ug-180307003.html">Creating an API Group</a><p id="apig-en-ug-180307002__en-us_topic_0080101676_p52731551293">An API group facilitates management of APIs used for the same service. Create an API group and then create APIs.</p>
|
||||
</li><li id="apig-en-ug-180307002__en-us_topic_0080101676_li1239042116208"><a href="apig-ug-190419107.html">Binding a Domain Name</a><p id="apig-en-ug-180307002__en-us_topic_0080101676_p1939022115203">Before making the API available for users to access, bind an independent domain name (custom domain name) to the group to which the API belongs. Then API callers can use these domain names to call the API.</p>
|
||||
</li><li id="apig-en-ug-180307002__en-us_topic_0080101676_li034715392911"><a href="en-us_topic_0080101678.html">Creating an API</a><p id="apig-en-ug-180307002__en-us_topic_0080101676_p1396201052917">When creating an API, configure the frontend and backend request paths, parameters, and protocols.</p>
|
||||
</li><li id="apig-en-ug-180307002__en-us_topic_0080101676_li1447643191811"><a href="apig-ug-190419108.html">Debugging an API</a><p id="apig-en-ug-180307002__en-us_topic_0080101676_p18728145518188">Debug the API to check whether it works normally.</p>
|
||||
</li><li id="apig-en-ug-180307002__en-us_topic_0080101676_li23471332910"><a href="apig-en-ug-180307004.html">(Optional) Creating an Environment</a><p id="apig-en-ug-180307002__en-us_topic_0080101676_p10254142615218">An API can be called in different scenarios, such as the production environment (RELEASE) or other custom environments. RELEASE is the default environment defined in APIG.</p>
|
||||
</li><li id="apig-en-ug-180307002__en-us_topic_0080101676_li134733102913"><a href="apig-en-ug-180307005.html">Publishing an API</a><p id="apig-en-ug-180307002__en-us_topic_0080101676_p780511012155">Publish the API so that it can be called.</p>
|
||||
</li></ol>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-ug-180307001.html">Opening APIs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script language="JavaScript">
|
||||
<!--
|
||||
image_size('.imgResize');
|
||||
var msg_imageMax = "view original image";
|
||||
var msg_imageClose = "close";
|
||||
//--></script>
|
||||
32
docs/apig/umn/apig-en-ug-180307003.html
Normal file
32
docs/apig/umn/apig-en-ug-180307003.html
Normal file
@ -0,0 +1,32 @@
|
||||
<a name="apig-en-ug-180307003"></a><a name="apig-en-ug-180307003"></a>
|
||||
|
||||
<h1 class="topictitle1">Creating an API Group</h1>
|
||||
<div id="body1508204232679"><ol id="apig-en-ug-180307003__en-us_topic_0080101677_en-us_topic_0089184725_en-us_topic_0080101677_ol43115541812"><li id="apig-en-ug-180307003__li174331760019"><span>Log in to the APIG console.</span></li><li id="apig-en-ug-180307003__li275441511522"><span>Access the <a href="apig-ug-191004.html">dedicated gateway you purchased</a>.</span></li><li id="apig-en-ug-180307003__en-us_topic_0080101677_en-us_topic_0089184725_en-us_topic_0080101677_li1311354012"><span>In the navigation pane, choose <strong id="apig-en-ug-180307003__b6308167183616">API Publishing</strong> > <strong id="apig-en-ug-180307003__b231617163612">API Groups</strong>.</span></li><li id="apig-en-ug-180307003__en-us_topic_0080101677_en-us_topic_0089184725_en-us_topic_0080101677_li3311165411110"><span>Click <strong id="apig-en-ug-180307003__b1145915146433">Create API Group</strong> and configure group information.</span><p><div class="p" id="apig-en-ug-180307003__p116093312475">
|
||||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="apig-en-ug-180307003__table895845134614" frame="border" border="1" rules="all"><caption><b>Table 1 </b>API group information</caption><thead align="left"><tr id="apig-en-ug-180307003__row17941745204619"><th align="left" class="cellrowborder" valign="top" width="31.03%" id="mcps1.3.1.4.2.1.1.2.3.1.1"><p id="apig-en-ug-180307003__p6941545144618">Parameter</p>
|
||||
</th>
|
||||
<th align="left" class="cellrowborder" valign="top" width="68.97%" id="mcps1.3.1.4.2.1.1.2.3.1.2"><p id="apig-en-ug-180307003__p6941045154620">Description</p>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr id="apig-en-ug-180307003__row1895194520463"><td class="cellrowborder" valign="top" width="31.03%" headers="mcps1.3.1.4.2.1.1.2.3.1.1 "><p id="apig-en-ug-180307003__p894164517462">Name</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="68.97%" headers="mcps1.3.1.4.2.1.1.2.3.1.2 "><p id="apig-en-ug-180307003__p9951745114620">API group name. It is recommended that you enter a name based on naming rules to facilitate search.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apig-en-ug-180307003__row995194524614"><td class="cellrowborder" valign="top" width="31.03%" headers="mcps1.3.1.4.2.1.1.2.3.1.1 "><p id="apig-en-ug-180307003__p1695645104618">Description</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="68.97%" headers="mcps1.3.1.4.2.1.1.2.3.1.2 "><p id="apig-en-ug-180307003__p1795845134612">Description of the API group.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</p></li><li id="apig-en-ug-180307003__en-us_topic_0080101677_en-us_topic_0089184725_en-us_topic_0080101677_li33111754410"><span>Click <strong id="apig-en-ug-180307003__b757334163917">OK</strong>. The system automatically allocates a subdomain name to the API group. APIs in the group can be debugged using the domain name.</span></li></ol>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-ug-180307001.html">Opening APIs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
32
docs/apig/umn/apig-en-ug-180307004.html
Normal file
32
docs/apig/umn/apig-en-ug-180307004.html
Normal file
@ -0,0 +1,32 @@
|
||||
<a name="apig-en-ug-180307004"></a><a name="apig-en-ug-180307004"></a>
|
||||
|
||||
<h1 class="topictitle1">(Optional) Creating an Environment</h1>
|
||||
<div id="body1508204796733"><ol id="apig-en-ug-180307004__en-us_topic_0080102731_en-us_topic_0114941621_en-us_topic_0080102731_ol43115541812"><li id="apig-en-ug-180307004__en-us_topic_0080102731_en-us_topic_0114941621_en-us_topic_0080102731_li1311354012"><span>In the navigation pane, choose <strong id="apig-en-ug-180307004__en-us_topic_0080102731_en-us_topic_0114941621_b7342115452819">API Publishing</strong> > <strong id="apig-en-ug-180307004__en-us_topic_0080102731_en-us_topic_0114941621_b10342165412284">Environments</strong>.</span></li><li id="apig-en-ug-180307004__en-us_topic_0080102731_en-us_topic_0114941621_en-us_topic_0080102731_li3311165411110"><span>Click <strong id="apig-en-ug-180307004__b2073643054314">Create Environment</strong> and set the environment information.</span><p><div class="p" id="apig-en-ug-180307004__p19953134310379">
|
||||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="apig-en-ug-180307004__table1286551813717" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Environment information</caption><thead align="left"><tr id="apig-en-ug-180307004__row786401863715"><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.1.2.2.1.1.2.3.1.1"><p id="apig-en-ug-180307004__p19864518193717">Parameter</p>
|
||||
</th>
|
||||
<th align="left" class="cellrowborder" valign="top" width="80%" id="mcps1.3.1.2.2.1.1.2.3.1.2"><p id="apig-en-ug-180307004__p15864201818370">Description</p>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr id="apig-en-ug-180307004__row1086431823713"><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.1.2.2.1.1.2.3.1.1 "><p id="apig-en-ug-180307004__p118641718133718">Name</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="80%" headers="mcps1.3.1.2.2.1.1.2.3.1.2 "><p id="apig-en-ug-180307004__p138641189377">Environment name. It is recommended that you enter a name based on naming rules to facilitate search.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apig-en-ug-180307004__row68652184371"><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.1.2.2.1.1.2.3.1.1 "><p id="apig-en-ug-180307004__p1865161843712">Description</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="80%" headers="mcps1.3.1.2.2.1.1.2.3.1.2 "><p id="apig-en-ug-180307004__p686571813372">Description of the environment.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</p></li><li id="apig-en-ug-180307004__en-us_topic_0080102731_en-us_topic_0114941621_en-us_topic_0080102731_li27031236164915"><span>Click <strong id="apig-en-ug-180307004__en-us_topic_0080102731_en-us_topic_0114941621_b842352706184714">OK</strong>.</span></li></ol>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-ug-180307001.html">Opening APIs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
12
docs/apig/umn/apig-en-ug-180307005.html
Normal file
12
docs/apig/umn/apig-en-ug-180307005.html
Normal file
@ -0,0 +1,12 @@
|
||||
<a name="apig-en-ug-180307005"></a><a name="apig-en-ug-180307005"></a>
|
||||
|
||||
<h1 class="topictitle1">Publishing an API</h1>
|
||||
<div id="body1511439357859"><ol id="apig-en-ug-180307005__en-us_topic_0085245354_en-us_topic_0080103325_en-us_topic_0085245354_ol43115541812"><li id="apig-en-ug-180307005__en-us_topic_0085245354_en-us_topic_0080103325_en-us_topic_0085245354_li1311354012"><span>In the navigation pane, choose <strong id="apig-en-ug-180307005__b188749327465">API Publishing</strong> > <strong id="apig-en-ug-180307005__b14884173217463">APIs</strong>.</span></li><li id="apig-en-ug-180307005__en-us_topic_0085245354_en-us_topic_0080103325_en-us_topic_0085245354_li63871220171114"><span>Locate the API created in <a href="en-us_topic_0080101678.html">Creating an API</a>, and click <strong id="apig-en-ug-180307005__b23716184712">Publish</strong>.</span></li><li id="apig-en-ug-180307005__en-us_topic_0085245354_en-us_topic_0080103325_en-us_topic_0085245354_li17854113512"><span>Select the environment where the API will be published.</span><p><p id="apig-en-ug-180307005__p13845331174012"></p>
|
||||
</p></li><li id="apig-en-ug-180307005__en-us_topic_0085245354_en-us_topic_0080103325_en-us_topic_0085245354_li38613145118"><span>Click <strong id="apig-en-ug-180307005__b84978388293">Publish</strong>.</span></li></ol>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-ug-180307001.html">Opening APIs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
21
docs/apig/umn/apig-en-ug-180307007.html
Normal file
21
docs/apig/umn/apig-en-ug-180307007.html
Normal file
@ -0,0 +1,21 @@
|
||||
<a name="apig-en-ug-180307007"></a><a name="apig-en-ug-180307007"></a>
|
||||
|
||||
<h1 class="topictitle1">Calling APIs</h1>
|
||||
<div id="body1511404114797"></div>
|
||||
<div>
|
||||
<ul class="ullinks">
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307008.html">Process Flow</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307010.html">Creating an App and Getting Authorized</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307009.html">Adding an AppCode for Simple Authentication</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307011.html">Calling an API</a></strong><br>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-0012.html">Getting Started</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
18
docs/apig/umn/apig-en-ug-180307008.html
Normal file
18
docs/apig/umn/apig-en-ug-180307008.html
Normal file
@ -0,0 +1,18 @@
|
||||
<a name="apig-en-ug-180307008"></a><a name="apig-en-ug-180307008"></a>
|
||||
|
||||
<h1 class="topictitle1">Process Flow</h1>
|
||||
<div id="body1511404114797"><p id="apig-en-ug-180307008__en-us_topic_0085149604_p21911839154311">The following figure shows the process of calling an API.</p>
|
||||
<p id="apig-en-ug-180307008__p298135814519"><span><img id="apig-en-ug-180307008__image2794141704" src="en-us_image_0000001142638662.png"></span></p>
|
||||
<p id="apig-en-ug-180307008__p181111515304"></p>
|
||||
<ol id="apig-en-ug-180307008__en-us_topic_0085149604_ol26845418413"><li id="apig-en-ug-180307008__en-us_topic_0085149604_li1934718315294">Obtaining an API<p id="apig-en-ug-180307008__p870144816278"><a name="apig-en-ug-180307008__en-us_topic_0085149604_li1934718315294"></a><a name="en-us_topic_0085149604_li1934718315294"></a>Obtain an API and its documentation from an API provider.</p>
|
||||
</li><li id="apig-en-ug-180307008__en-us_topic_0085149604_li034715392911"><a href="apig-en-ug-180307010.html">Creating an App and Getting Authorized</a><p id="apig-en-ug-180307008__p026518814305">APIs that use app authentication can only be called using apps bound to them.</p>
|
||||
</li><li id="apig-en-ug-180307008__li10481112215013"><a href="apig-en-ug-180307009.html">Adding an AppCode for Simple Authentication</a><p id="apig-en-ug-180307008__p12605544153420">APIG only verifies the AppCode during simple authentication.</p>
|
||||
</li><li id="apig-en-ug-180307008__en-us_topic_0085149604_li186871442042"><a href="apig-en-ug-180307011.html">Calling the API</a><p id="apig-en-ug-180307008__p1987765311304">Use an API test tool to call the API with app authentication credentials.</p>
|
||||
</li></ol>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-ug-180307007.html">Calling APIs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
12
docs/apig/umn/apig-en-ug-180307009.html
Normal file
12
docs/apig/umn/apig-en-ug-180307009.html
Normal file
@ -0,0 +1,12 @@
|
||||
<a name="apig-en-ug-180307009"></a><a name="apig-en-ug-180307009"></a>
|
||||
|
||||
<h1 class="topictitle1">Adding an AppCode for Simple Authentication</h1>
|
||||
<div id="body1511404114797"><ol id="apig-en-ug-180307009__ol5288720202717"><li id="apig-en-ug-180307009__li12288172082714"><span>In the app list, click the app created in <a href="apig-en-ug-180307010.html">Creating an App and Getting Authorized</a> to go to the app details page.</span></li><li id="apig-en-ug-180307009__li1720682113280"><span>Click the <strong id="apig-en-ug-180307009__b2911325662">AppCodes</strong> tab.</span></li><li id="apig-en-ug-180307009__li854814547286"><span>Click <strong id="apig-en-ug-180307009__b67227211371">Add AppCode</strong>.</span></li><li id="apig-en-ug-180307009__li1293513496290"><span>Select <strong id="apig-en-ug-180307009__b4584541787">Automatically generated</strong>.</span><p><p id="apig-en-ug-180307009__p4928142545616"></p>
|
||||
</p></li><li id="apig-en-ug-180307009__li1431525193011"><span>Click <strong id="apig-en-ug-180307009__b35811661587">OK</strong>.</span></li></ol>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-ug-180307007.html">Calling APIs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
35
docs/apig/umn/apig-en-ug-180307010.html
Normal file
35
docs/apig/umn/apig-en-ug-180307010.html
Normal file
@ -0,0 +1,35 @@
|
||||
<a name="apig-en-ug-180307010"></a><a name="apig-en-ug-180307010"></a>
|
||||
|
||||
<h1 class="topictitle1">Creating an App and Getting Authorized</h1>
|
||||
<div id="body1511404114797"><div class="section" id="apig-en-ug-180307010__section101812113415"><h4 class="sectiontitle">Creating an App</h4><ol id="apig-en-ug-180307010__en-us_topic_0085149606_en-us_topic_0115925970_en-us_topic_0085149606_ol43115541812"><li id="apig-en-ug-180307010__en-us_topic_0085149606_en-us_topic_0115925970_en-us_topic_0085149606_li1311354012"><span>In the navigation pane, choose <strong id="apig-en-ug-180307010__b27031933195717">API Calling</strong> > <strong id="apig-en-ug-180307010__b67158333570">Apps</strong>.</span></li><li id="apig-en-ug-180307010__en-us_topic_0085149606_en-us_topic_0115925970_en-us_topic_0085149606_li3311165411110"><span>Click <strong id="apig-en-ug-180307010__b104181339115710">Create App</strong> and set basic app information.</span><p>
|
||||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="apig-en-ug-180307010__table84025541401" frame="border" border="1" rules="all"><caption><b>Table 1 </b>App information</caption><thead align="left"><tr id="apig-en-ug-180307010__row16401554124015"><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.1.2.2.2.1.2.3.1.1"><p id="apig-en-ug-180307010__p4401135414014">Parameter</p>
|
||||
</th>
|
||||
<th align="left" class="cellrowborder" valign="top" width="80%" id="mcps1.3.1.2.2.2.1.2.3.1.2"><p id="apig-en-ug-180307010__p1540120546409">Description</p>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr id="apig-en-ug-180307010__row64012054164018"><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.1.2.2.2.1.2.3.1.1 "><p id="apig-en-ug-180307010__p1340125484014">Name</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="80%" headers="mcps1.3.1.2.2.2.1.2.3.1.2 "><p id="apig-en-ug-180307010__p14011654204012">App name. It is recommended that you enter a name based on naming rules to facilitate search.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apig-en-ug-180307010__row5401854124012"><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.1.2.2.2.1.2.3.1.1 "><p id="apig-en-ug-180307010__p440114548408">Description</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="80%" headers="mcps1.3.1.2.2.2.1.2.3.1.2 "><p id="apig-en-ug-180307010__p1640165484017">Description of the app.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</p></li><li id="apig-en-ug-180307010__en-us_topic_0085149606_en-us_topic_0115925970_en-us_topic_0085149606_li82808566572"><span>Click <strong id="apig-en-ug-180307010__en-us_topic_0085149606_en-us_topic_0115925970_b84235270692711">OK</strong>.</span></li></ol>
|
||||
</div>
|
||||
<div class="section" id="apig-en-ug-180307010__en-us_topic_0085149606_en-us_topic_0115925970_section3685125783812"><h4 class="sectiontitle">Binding an App to an API</h4><ol id="apig-en-ug-180307010__en-us_topic_0085149606_en-us_topic_0115925970_en-us_topic_0085149606_ol19155171132916"><li id="apig-en-ug-180307010__li1058610301665"><span>In the <strong id="apig-en-ug-180307010__b5673142195818">Operation</strong> column of the created app, click <strong id="apig-en-ug-180307010__b116731221165814">Bind to API</strong>, and then click <strong id="apig-en-ug-180307010__b8673102114584">Select API</strong>.</span></li><li id="apig-en-ug-180307010__en-us_topic_0085149606_en-us_topic_0115925970_en-us_topic_0085149606_li81561011192910"><span>At the top of the API list, click <strong id="apig-en-ug-180307010__b19985951125816">Select API</strong>.</span></li><li id="apig-en-ug-180307010__en-us_topic_0085149606_en-us_topic_0115925970_en-us_topic_0085149606_li6105152922315"><span>Select the environment, API group, and API created in <a href="apig-en-ug-180307001.html">Opening APIs</a>, and click <strong id="apig-en-ug-180307010__b125493237591">OK</strong>.</span><p><p id="apig-en-ug-180307010__p9976103194612"></p>
|
||||
</p></li></ol>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-ug-180307007.html">Calling APIs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
22
docs/apig/umn/apig-en-ug-180307011.html
Normal file
22
docs/apig/umn/apig-en-ug-180307011.html
Normal file
@ -0,0 +1,22 @@
|
||||
<a name="apig-en-ug-180307011"></a><a name="apig-en-ug-180307011"></a>
|
||||
|
||||
<h1 class="topictitle1">Calling an API</h1>
|
||||
<div id="body1508204796733"><p id="apig-en-ug-180307011__p983924561117">Use an API test tool to configure the API calling information.</p>
|
||||
<ol id="apig-en-ug-180307011__ol204944615405"><li id="apig-en-ug-180307011__li13835113641320"><span>Obtain the API request information.</span><p><p id="apig-en-ug-180307011__p136491513488">For illustration purposes, an API and its documentation are obtained through offline channels. You can also obtain the authentication mode, request method, request path, and other information about the API.</p>
|
||||
</p></li><li id="apig-en-ug-180307011__li4393141012538"><span>Add the header parameter <strong id="apig-en-ug-180307011__b1686713326131">X-Apig-AppCode</strong> and set the parameter value to the <a href="apig-en-ug-180307009.html">generated AppCode</a>.</span></li><li id="apig-en-ug-180307011__li1720018219474"><span>Add the header parameter <strong id="apig-en-ug-180307011__b1530450151411">x-stage</strong> and set the parameter value to the <a href="apig-en-ug-180307004.html">running environment</a>. Skip this step if the API has been published in the RELEASE environment.</span></li><li id="apig-en-ug-180307011__li19653744488"><span>Click <strong id="apig-en-ug-180307011__b111510417161">Send</strong> to send a request.</span><p><p id="apig-en-ug-180307011__p13191182917174">If the API is called successfully, the message <strong id="apig-en-ug-180307011__b91131542141618">200 OK</strong> is displayed.</p>
|
||||
<p id="apig-en-ug-180307011__p13637132614176"><span><img id="apig-en-ug-180307011__image013818215597" src="en-us_image_0000001188579631.png" title="Click to enlarge" class="imgResize"></span></p>
|
||||
</p></li></ol>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-ug-180307007.html">Calling APIs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script language="JavaScript">
|
||||
<!--
|
||||
image_size('.imgResize');
|
||||
var msg_imageMax = "view original image";
|
||||
var msg_imageClose = "close";
|
||||
//--></script>
|
||||
21
docs/apig/umn/apig-en-ug-180307014.html
Normal file
21
docs/apig/umn/apig-en-ug-180307014.html
Normal file
@ -0,0 +1,21 @@
|
||||
<a name="apig-en-ug-180307014"></a><a name="apig-en-ug-180307014"></a>
|
||||
|
||||
<h1 class="topictitle1">API Group Management</h1>
|
||||
<div id="body1511232545602"></div>
|
||||
<div>
|
||||
<ul class="ullinks">
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307015.html">Creating an API Group</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180327076.html">Binding a Domain Name</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-en-ug-180307018.html">Deleting an API Group</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig-lgug-200226001.html">Adding a Gateway Response</a></strong><br>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-0008.html">API Opening</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
41
docs/apig/umn/apig-en-ug-180307015.html
Normal file
41
docs/apig/umn/apig-en-ug-180307015.html
Normal file
@ -0,0 +1,41 @@
|
||||
<a name="apig-en-ug-180307015"></a><a name="apig-en-ug-180307015"></a>
|
||||
|
||||
<h1 class="topictitle1">Creating an API Group</h1>
|
||||
<div id="body8662426"><div class="section" id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_section1731012541118"><h4 class="sectiontitle">Scenario</h4><p id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_p1931010545114">Before creating an API, you must create an API group. An API group contains different APIs used for the same service.</p>
|
||||
<div class="note" id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_note1442918804515"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="apig-en-ug-180307015__p11608521296">Each API can only belong to one API group.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
<div class="section" id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_section8731554122615"><h4 class="sectiontitle">Procedure</h4><ol id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_ol43115541812"><li id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_li1831115541819"><span>Log in to the management console.</span></li><li id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_li46871818394"><span>In the navigation pane, choose <strong id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_b12907459186">Dedicated Gateways</strong>. Then click <strong id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_b1191285913811">Access Console</strong> in the upper right corner of a dedicated gateway.</span></li><li id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_li1311354012"><span>In the navigation pane, choose <strong id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_b18158175701515">API Publishing</strong> > <strong id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_b21581857161514">API Groups</strong>.</span></li><li id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_li3311165411110"><span>Click <strong id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_b19457133621120">Create API Group</strong>, and set the parameters described in <a href="#apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_table195413315428">Table 1</a>.</span><p>
|
||||
<div class="tablenoborder"><a name="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_table195413315428"></a><a name="en-us_topic_0089184725_en-us_topic_0080101677_table195413315428"></a><table cellpadding="4" cellspacing="0" summary="" id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_table195413315428" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Parameters for creating an API group</caption><thead align="left"><tr id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_row45523384220"><th align="left" class="cellrowborder" valign="top" width="31.03%" id="mcps1.3.2.2.4.2.1.2.3.1.1"><p id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_p65563314423">Parameter</p>
|
||||
</th>
|
||||
<th align="left" class="cellrowborder" valign="top" width="68.97%" id="mcps1.3.2.2.4.2.1.2.3.1.2"><p id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_p356183311427">Description</p>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_row1156183364219"><td class="cellrowborder" valign="top" width="31.03%" headers="mcps1.3.2.2.4.2.1.2.3.1.1 "><p id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_p105616333427">Name</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="68.97%" headers="mcps1.3.2.2.4.2.1.2.3.1.2 "><p id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_p1656123374219">API group name.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_row14879114316433"><td class="cellrowborder" valign="top" width="31.03%" headers="mcps1.3.2.2.4.2.1.2.3.1.1 "><p id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_p12880154304320">Description</p>
|
||||
</td>
|
||||
<td class="cellrowborder" valign="top" width="68.97%" headers="mcps1.3.2.2.4.2.1.2.3.1.2 "><p id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_p48801043134312">Description of the API group.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</p></li><li id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_li33111754410"><span>Click <strong id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_b842352706164226">OK</strong>.</span><p><div class="p" id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_p15877110102719">After the API group is created, it is displayed in the API group list.<div class="note" id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_note244319751817"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_ul188601320593"><li id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_li12860113125918">The system automatically allocates a subdomain name to the API group for internal testing. The subdomain name can be accessed 1000 times a day.</li><li id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_li6179142271711">A default API group is automatically generated for each dedicated gateway. APIs in the default group can be called using the IP address of the VPC where the dedicated gateway is deployed.</li><li id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_li2085720711593">To make your APIs available for users to access, bind independent domain names to the API group to which the APIs belong.</li></ul>
|
||||
</div></div>
|
||||
</div>
|
||||
</p></li></ol>
|
||||
</div>
|
||||
<div class="section" id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_section12967127112416"><h4 class="sectiontitle">Follow-Up Operations</h4><p id="apig-en-ug-180307015__en-us_topic_0089184725_en-us_topic_0080101677_p108340533244">After the API group is created, bind independent domain names to it so that API callers can use the domain names to call APIs in the group. For more information, see <a href="apig-en-ug-180327076.html">Binding a Domain Name</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-en-ug-180307014.html">API Group Management</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user