{"id":1283,"date":"2025-04-12T11:00:15","date_gmt":"2025-04-12T11:00:15","guid":{"rendered":"https:\/\/virtualall.sk\/?p=1283"},"modified":"2026-09-11T13:51:23","modified_gmt":"2026-09-11T13:51:23","slug":"azure-api-management-gateway","status":"publish","type":"post","link":"https:\/\/virtualall.sk\/en\/2025\/04\/azure-api-management-gateway\/","title":{"rendered":"Azure API Management"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Gateway (br\u00e1na)<\/strong>&nbsp;v Azure API Management je komponent, ktor\u00fd funguje ako sprostredkovate\u013e medzi klientmi a backendov\u00fdmi slu\u017ebami. Jej hlavnou \u00falohou je prija\u0165 po\u017eiadavku od klienta, aplikova\u0165 definovan\u00e9 pravidl\u00e1 (napr. autentifik\u00e1cia, limity, transform\u00e1cie) a n\u00e1sledne po\u017eiadavku smerova\u0165 do cie\u013eovej slu\u017eby.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">K dispoz\u00edcii s\u00fa dva hlavn\u00e9 typy gateway:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SaaS (hostovan\u00e1) Gateway<\/strong>&nbsp;\u2013 be\u017e\u00ed priamo v Azure ako s\u00fa\u010das\u0165 slu\u017eby API Management.<\/li>\n\n\n\n<li><strong>Self-hosted Gateway<\/strong>&nbsp;\u2013 kontajnerizovan\u00e1 verzia gateway, ktor\u00fa si m\u00f4\u017ee\u0161 nasadi\u0165 v on-premise prostred\u00ed, v inej cloudovej platforme alebo v edge lokalit\u00e1ch. Umo\u017e\u0148uje tak jednotn\u00e9 riadenie API aj mimo Azure.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Na \u010do sl\u00fa\u017ei API Management Gateway?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Centralizovan\u00e9 riadenie API<\/strong>&nbsp;\u2013 v\u0161etky volania API prech\u00e1dzaj\u00fa cez br\u00e1nu, kde sa uplat\u0148uj\u00fa pravidl\u00e1 definovan\u00e9 v politike (policy).<\/li>\n\n\n\n<li><strong>Bezpe\u010dnos\u0165<\/strong>&nbsp;\u2013 podpora OAuth 2.0, IP filtr\u00e1cia, \u0161ifrovan\u00e9 spojenie, valid\u00e1cia tokenov a ochrana proti zneu\u017eitiu.<\/li>\n\n\n\n<li><strong>Transform\u00e1cia po\u017eiadaviek\/odpoved\u00ed<\/strong>&nbsp;\u2013 mo\u017enos\u0165 prep\u00edsa\u0165 hlavi\u010dky, URL cesty, form\u00e1t tela po\u017eiadavky\/odpovede (napr. z XML do JSON).<\/li>\n\n\n\n<li><strong>Rate limiting a throttling<\/strong>&nbsp;\u2013 ochrana backendu pred zahlten\u00edm cez limity po\u017eiadaviek.<\/li>\n\n\n\n<li><strong>Monitoring a logging<\/strong>&nbsp;\u2013 integrovan\u00e9 n\u00e1stroje pre sledovanie pou\u017e\u00edvania API a identifik\u00e1ciu probl\u00e9mov.<\/li>\n\n\n\n<li><strong>Verzionovanie a publik\u00e1cia API<\/strong>&nbsp;\u2013 mo\u017enos\u0165 riadi\u0165 r\u00f4zne verzie API, publikova\u0165 testovacie a produk\u010dn\u00e9 prostredia.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Kde sa Azure API Management hod\u00ed?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Organiz\u00e1cie s&nbsp;<strong>viacer\u00fdmi intern\u00fdmi a extern\u00fdmi API<\/strong>, ktor\u00e9 potrebuj\u00fa jednotn\u00fd pr\u00edstup a doh\u013ead.<\/li>\n\n\n\n<li>Firmy, ktor\u00e9 potrebuj\u00fa&nbsp;<strong>zabezpe\u010di\u0165 komunik\u00e1ciu medzi frontend aplik\u00e1ciami a backend syst\u00e9mami<\/strong>.<\/li>\n\n\n\n<li>Scen\u00e1re, kde sa kombinuje&nbsp;<strong>on-premise infra\u0161trukt\u00fara s cloudov\u00fdmi slu\u017ebami<\/strong>.<\/li>\n\n\n\n<li>Projekty s po\u017eiadavkou na&nbsp;<strong>API monetiz\u00e1ciu<\/strong>, monitoring alebo bezpe\u010dn\u00fd pr\u00edstup pre tretie strany.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00davod do modernej spr\u00e1vy API<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">V \u010dase, ke\u010f aplik\u00e1cie rast\u00fa na zlo\u017eitosti a \u010doraz viac slu\u017eieb komunikuje cez API rozhrania, st\u00e1va sa centr\u00e1lne riadenie t\u00fdchto rozhran\u00ed nevyhnutnos\u0165ou. Pr\u00e1ve na tento \u00fa\u010del sl\u00fa\u017ei&nbsp;<strong>API Gateway<\/strong>&nbsp;\u2013 komponent, ktor\u00fd funguje ako jednotn\u00fd vstupn\u00fd bod pre v\u0161etky volania smerovan\u00e9 do backendov\u00fdch slu\u017eieb.<\/p>\n\n\n\n<figure class=\"wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"435\" height=\"241\" data-id=\"1285\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/api-gw-1.drawio-2.png\" alt=\"\u00davod do modernej spr\u00e1vy API\" class=\"wp-image-1285\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/api-gw-1.drawio-2.png 435w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/api-gw-1.drawio-2-300x166.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/api-gw-1.drawio-2-18x10.png 18w\" sizes=\"auto, (max-width: 435px) 100vw, 435px\" \/><figcaption class=\"wp-element-caption\">Popis API GW<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Na obr\u00e1zku vy\u0161\u0161ie vid\u00edme typick\u00fd scen\u00e1r vyu\u017eitia API Gateway:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Actor<\/strong>&nbsp;(pou\u017e\u00edvate\u013e alebo klientsk\u00e1 aplik\u00e1cia) zasiela po\u017eiadavky.<\/li>\n\n\n\n<li>Po\u017eiadavky prech\u00e1dzaj\u00fa cez&nbsp;<strong>API GW (API Gateway)<\/strong>&nbsp;\u2013 t\u00e1to br\u00e1na najsk\u00f4r zabezpe\u010d\u00ed&nbsp;<strong>autentifik\u00e1ciu<\/strong>&nbsp;pou\u017e\u00edvate\u013ea alebo aplik\u00e1cie.<\/li>\n\n\n\n<li>Po \u00faspe\u0161nom overen\u00ed ident\u00edt API Gateway n\u00e1sledne smeruje po\u017eiadavku na pr\u00edslu\u0161n\u00fd&nbsp;<strong>backend<\/strong>&nbsp;(napr. mikroservisu, datab\u00e1zu, REST API a pod.).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Ako nain\u0161talova\u0165 a nakonfigurova\u0165 Azure API Gateway (API Management)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Krok 1 \u2013 Prihl\u00e1senie do Azure port\u00e1lu<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ako prv\u00fd krok sa vy\u017eaduje prihl\u00e1senie do port\u00e1lu <a href=\"https:\/\/portal.azure.com.\" target=\"_blank\" rel=\"noopener\">https:\/\/portal.azure.com.<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Krok 2 \u2013 Vytvorenie novej slu\u017eby API Management<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Klikni na&nbsp;<strong>&#8220;Create a resource&#8221;<\/strong>&nbsp;(v\u013eavo hore).<\/li>\n\n\n\n<li>Vyh\u013eadajte&nbsp;<strong>API Management<\/strong>.<\/li>\n\n\n\n<li>Kliknite na&nbsp;<strong>API Management<\/strong>&nbsp;a n\u00e1sledne&nbsp;<strong>&#8220;Create&#8221;<\/strong>.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-1024x533.png\" alt=\"Krok 2 \u2013 Vytvorenie novej slu\u017eby API Management\" class=\"wp-image-1286\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-1024x533.png 1024w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-300x156.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-768x399.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-18x9.png 18w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image.png 1292w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Krok 3 \u2013 Vyplnenie parametrov slu\u017eby<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vo formul\u00e1ri sa vyplnia nasledovn\u00e9 polia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Subscription<\/strong>&nbsp;\u2013 zvol\u00ed sa akt\u00edvne predplatn\u00e9.<\/li>\n\n\n\n<li><strong>Resource group<\/strong>&nbsp;\u2013 vyberie sa existuj\u00faca skupina zdrojov alebo sa vytvor\u00ed nov\u00e1 (napr. <code>api-gw-group<\/code>).<\/li>\n\n\n\n<li><strong>Resource<\/strong> <strong>Name<\/strong>&nbsp;\u2013zad\u00e1 sa n\u00e1zov slu\u017eby (napr. <code>moja-api-gateway<\/code>).<\/li>\n\n\n\n<li><strong>Region<\/strong>&nbsp;\u2013 vyberie sa preferovan\u00fd geografick\u00fd regi\u00f3n (napr. <code>West Europe<\/code>).<\/li>\n\n\n\n<li><strong>Organization name<\/strong>&nbsp;\u2013 uvedie sa n\u00e1zov organiz\u00e1cie alebo t\u00edmu.<\/li>\n\n\n\n<li><strong>Administrator email<\/strong>&nbsp;\u2013 zad\u00e1 sa emailov\u00e1 adresa spr\u00e1vcu, na ktor\u00fa bud\u00fa zasielan\u00e9 notifik\u00e1cie.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Po vyplnen\u00ed \u00fadajov sa pokra\u010duje kliknut\u00edm na <strong>Review + create<\/strong> a n\u00e1sledne na <strong>Create<\/strong>, \u010d\u00edm sa spust\u00ed nasadenie slu\u017eby.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"836\" height=\"882\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-2.png\" alt=\"Krok 3 \u2013 Vyplnenie parametrov slu\u017eby\" class=\"wp-image-1288\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-2.png 836w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-2-284x300.png 284w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-2-768x810.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-2-11x12.png 11w\" sizes=\"auto, (max-width: 836px) 100vw, 836px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Sekcia Networking v Azure API Management \u2013 mo\u017enosti a nastavenie konektivity<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Slu\u017eba <strong>Azure API Management (APIM)<\/strong> pon\u00faka viacero sp\u00f4sobov, ako m\u00f4\u017ee by\u0165 API Gateway spr\u00edstupnen\u00e1 klientskym aplik\u00e1ci\u00e1m \u2013 bu\u010f verejne prostredn\u00edctvom internetu, alebo s\u00fakromne len v r\u00e1mci zabezpe\u010den\u00e9ho sie\u0165ov\u00e9ho prostredia. V\u00fdber re\u017eimu pripojenia m\u00e1 z\u00e1sadn\u00fd vplyv na bezpe\u010dnos\u0165, architekt\u00faru a sp\u00f4sob integr\u00e1cie rie\u0161enia.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>External (verejn\u00e1 konektivita)<\/strong>\n<ul class=\"wp-block-list\">\n<li>API Gateway je dostupn\u00e1 cez verejn\u00fa IP adresu \u2013 pr\u00edstupn\u00e1 z internetu bez potreby \u0161peci\u00e1lneho sie\u0165ov\u00e9ho pripojenia<\/li>\n\n\n\n<li>Pou\u017eitie:\n<ul class=\"wp-block-list\">\n<li>Webov\u00e9\/mobiln\u00e9 aplik\u00e1cie be\u017eiace mimo Azure<\/li>\n\n\n\n<li>Extern\u00ed partneri alebo z\u00e1kazn\u00edci<\/li>\n\n\n\n<li>R\u00fdchle testovanie alebo v\u00fdvoj<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Internal (vn\u00fatorn\u00e1 konektivita \u2013 VNet Integration)<\/strong>\n<ul class=\"wp-block-list\">\n<li>Pr\u00edstup len z Azure Virtual Network<br>Gateway be\u017e\u00ed v priv\u00e1tnom re\u017eime \u2013 dostupn\u00e1 len pre zdroje v tej istej VNet alebo cez priv\u00e1tne pripojenie (napr. VPN, ExpressRoute).<\/li>\n\n\n\n<li>Pou\u017eitie:\n<ul class=\"wp-block-list\">\n<li>Syst\u00e9my s citliv\u00fdmi d\u00e1tami<\/li>\n\n\n\n<li>Firemn\u00e9 API rozhrania nepr\u00edstupn\u00e9 z verejn\u00e9ho internetu<\/li>\n\n\n\n<li>Hybridn\u00e9 scen\u00e1re (on-premise + cloud)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Hybridn\u00fd model \u2013 kombin\u00e1cia Public + VNet<\/strong>\n<ul class=\"wp-block-list\">\n<li>Niektor\u00e9 \u010dasti API m\u00f4\u017eu by\u0165 verejn\u00e9 (napr. open API pre tretie strany), in\u00e9 len pre intern\u00e9 syst\u00e9my.<br>Mo\u017en\u00e9 v re\u017eime&nbsp;<strong>Premium Tier<\/strong>, kde m\u00f4\u017ee\u0161 konfigurova\u0165 viacer\u00e9 region\u00e1lne in\u0161tancie a zmie\u0161an\u00fa konektivitu.<\/li>\n\n\n\n<li>Pou\u017eitie:\n<ul class=\"wp-block-list\">\n<li>Ve\u013ek\u00e9 organiz\u00e1cie s viacer\u00fdmi po\u017eiadavkami na pr\u00edstup<\/li>\n\n\n\n<li>API rozhrania pre verejnos\u0165 aj intern\u00e9 t\u00edmy<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"417\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-3-1024x417.png\" alt=\"Sekcia Networking v Azure API Management \u2013 mo\u017enosti a nastavenie konektivity\" class=\"wp-image-1289\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-3-1024x417.png 1024w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-3-300x122.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-3-768x312.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-3-1536x625.png 1536w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-3-18x7.png 18w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-3.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 1: Vytvorenie Azure Virtual Network<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ak e\u0161te nie je vytvoren\u00e1 <strong>Virtual Network<\/strong>, je potrebn\u00e9 ju zriadi\u0165 nasledovne:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>V prostred\u00ed Azure Portal sa vyberie mo\u017enos\u0165 <strong>Create a resource<\/strong>.<\/li>\n\n\n\n<li>Do vyh\u013ead\u00e1vacieho po\u013ea sa zad\u00e1 v\u00fdraz <strong>Virtual Network<\/strong> a vyberie sa pr\u00edslu\u0161n\u00e1 slu\u017eba.<\/li>\n\n\n\n<li>Sie\u0165 sa pomenuje (napr. <code>apim-vnet<\/code>).<\/li>\n\n\n\n<li>V \u010dasti <strong>IP Addressing<\/strong> sa prid\u00e1 adresn\u00fd rozsah, napr\u00edklad <code>10.1.0.0\/16<\/code>.<\/li>\n\n\n\n<li>V sekcii <strong>Subnets<\/strong> sa vytvor\u00ed subnet s n\u00e1zvom <code>apim-subnet<\/code>, napr\u00edklad <code>10.1.0.0\/24<\/code>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 2: Zriadenie verejnej IP adresy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e1sledne je potrebn\u00e9 vytvori\u0165 verejn\u00fa IP adresu, ktor\u00e1 bude sl\u00fa\u017ei\u0165 ako vstupn\u00fd bod pre prich\u00e1dzaj\u00face po\u017eiadavky:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>V Azure Portal sa op\u00e4\u0165 vyberie mo\u017enos\u0165 <strong>Create a resource<\/strong>.<\/li>\n\n\n\n<li>Vyh\u013ead\u00e1 sa slu\u017eba <strong>Public IP address<\/strong>.<\/li>\n\n\n\n<li>IP adresa sa pomenuje (napr. <code>apim-public-ip<\/code>).<\/li>\n\n\n\n<li>V \u010dasti <strong>SKU<\/strong> sa zvol\u00ed mo\u017enos\u0165 <strong>Standard<\/strong> (vy\u017eadovan\u00e1 pri integr\u00e1cii s VNet).<\/li>\n\n\n\n<li>V sekcii priradenia sa vyberie <strong>Static<\/strong> \u2013 IP adresa sa po vytvoren\u00ed nebude meni\u0165.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e1to verejn\u00e1 IP adresa bude nesk\u00f4r priraden\u00e1 k slu\u017ebe API Management a bude sl\u00fa\u017ei\u0165 ako verejn\u00fd pr\u00edstupov\u00fd bod pre klientov.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 3: Priradenie VNet a verejnej IP k APIM<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po vytvoren\u00ed siete a IP adresy sa konfigur\u00e1cia dokon\u010d\u00ed nasledovne:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>V Azure Port\u00e1li sa otvor\u00ed existuj\u00faca slu\u017eba <strong>API Management (APIM)<\/strong>.<\/li>\n\n\n\n<li>V \u013eavom menu sa prejde do \u010dasti <strong>Network<\/strong> \u2192 <strong>Virtual Network<\/strong> \u2192 <strong>Configure<\/strong>.<\/li>\n\n\n\n<li>Zvol\u00ed sa re\u017eim <strong>External<\/strong>.<\/li>\n\n\n\n<li>Vyberie sa vytvoren\u00e1 sie\u0165 <code>apim-vnet<\/code> a subnet <code>apim-subnet<\/code>.<\/li>\n\n\n\n<li>V sekcii <strong>Public IP address<\/strong> sa vyberie adresa <code>apim-public-ip<\/code>.<\/li>\n\n\n\n<li>Zmeny sa potvrdia kliknut\u00edm na <strong>Apply<\/strong>.<\/li>\n\n\n\n<li><strong>Pozn\u00e1mka<\/strong>: Zmena m\u00f4\u017ee trva\u0165 15\u201345 min\u00fat.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large is-style-zoooom\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"393\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-4-1024x393.png\" alt=\"Krok 3: Priradenie VNet a verejnej IP k APIM\" class=\"wp-image-1290\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-4-1024x393.png 1024w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-4-300x115.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-4-768x295.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-4-1536x589.png 1536w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-4-18x7.png 18w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-4.png 2035w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Ako vytvori\u0165 API v Azure API Management<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po nasaden\u00ed API Gateway do&nbsp;<strong>Azure API Management (APIM)<\/strong>&nbsp;je \u010fal\u0161\u00edm krokom&nbsp;<strong>vytvorenie samotn\u00e9ho API rozhrania<\/strong>, cez ktor\u00e9 bud\u00fa chodi\u0165 po\u017eiadavky od klientov a aplik\u00e1ci\u00ed. APIM umo\u017e\u0148uje jednoducho vytvori\u0165 nov\u00e9 API, alebo importova\u0165 u\u017e existuj\u00face \u0161pecifik\u00e1cie (napr. OpenAPI \/ Swagger \/ WSDL).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Mo\u017enosti ako vytvori\u0165 API<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">V prostred\u00ed Azure API Management je mo\u017en\u00e9 API rozhranie vytvori\u0165 nieko\u013ek\u00fdmi sp\u00f4sobmi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Import existuj\u00facej OpenAPI \u0161pecifik\u00e1cie<\/strong> (Swagger)<\/li>\n\n\n\n<li><strong>Import SOAP slu\u017eby na z\u00e1klade WSDL defin\u00edcie<\/strong><\/li>\n\n\n\n<li><strong>Prepojenie s existuj\u00facou slu\u017ebou v Azure App Service alebo Azure Functions<\/strong><\/li>\n\n\n\n<li><strong>Vytvorenie pr\u00e1zdneho API (Blank API)<\/strong> a manu\u00e1lne pridanie oper\u00e1ci\u00ed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Krok 1: Otvor Azure API Management a prejdite do \u010dasti \u201eAPIs\u201c<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>V Azure port\u00e1li sa otvor\u00ed vytvoren\u00e1 slu\u017eba <strong>API Management<\/strong>.<\/li>\n\n\n\n<li>V \u013eavom paneli navig\u00e1cie sa klikne na polo\u017eku <strong>\u201eAPIs\u201c<\/strong>.<\/li>\n\n\n\n<li>Pre pridanie nov\u00e9ho API sa zvol\u00ed mo\u017enos\u0165 <strong>\u201e+ Add API\u201c<\/strong> alebo <strong>\u201eCreate from scratch\u201c<\/strong>, v z\u00e1vislosti od preferovan\u00e9ho sp\u00f4sobu vytvorenia rozhrania.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large is-style-zoooom\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"501\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-5-1024x501.png\" alt=\"Krok 1: Otvor Azure API Management a prejdite do \u010dasti \u201eAPIs\u201c\" class=\"wp-image-1291\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-5-1024x501.png 1024w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-5-300x147.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-5-768x376.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-5-1536x752.png 1536w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-5-2048x1002.png 2048w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/image-5-18x9.png 18w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"568\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/Snimka-obrazovky-2025-04-10-o-19.17.56-1024x568.png\" alt=\"Krok 1: Otvor Azure API Management a prejdite do \u010dasti \u201eAPIs\u201c (2)\" class=\"wp-image-1292\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/Snimka-obrazovky-2025-04-10-o-19.17.56-1024x568.png 1024w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/Snimka-obrazovky-2025-04-10-o-19.17.56-300x167.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/Snimka-obrazovky-2025-04-10-o-19.17.56-768x426.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/Snimka-obrazovky-2025-04-10-o-19.17.56-1536x853.png 1536w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/Snimka-obrazovky-2025-04-10-o-19.17.56-18x10.png 18w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/Snimka-obrazovky-2025-04-10-o-19.17.56.png 2041w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Na obr\u00e1zku vy\u0161\u0161ie je zobrazen\u00e9 <strong>rozhranie pre n\u00e1vrh a \u00fapravu API<\/strong> v slu\u017ebe <strong>Azure API Management<\/strong>. Ide o priestor, v ktorom sa konfiguruje spr\u00e1vanie API br\u00e1ny \u2013 vr\u00e1tane spracovania vstupn\u00fdch po\u017eiadaviek, \u00faprav odpoved\u00ed, definovania jednotliv\u00fdch oper\u00e1ci\u00ed a aplikovania politiky (policies). Pomocou tohto rozhrania je mo\u017en\u00e9 podrobne riadi\u0165 sp\u00f4sob, ak\u00fdm sa sprac\u00favaj\u00fa po\u017eiadavky od klientov e\u0161te pred ich odoslan\u00edm na backend, ako aj upravi\u0165 odpovede pred ich vr\u00e1ten\u00edm klientovi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rozhranie je rozdelen\u00e9 do&nbsp;<strong>\u0161tyroch hlavn\u00fdch sekci\u00ed<\/strong>&nbsp;(z\u013eava doprava):<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Naviga\u010dn\u00fd panel (\u013eav\u00e1 strana)<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Search APIs \/ operations<\/strong>&nbsp;\u2013 umo\u017e\u0148uje vyh\u013ead\u00e1va\u0165 v zozname tvojich API alebo ich oper\u00e1ci\u00ed.<\/li>\n\n\n\n<li><strong>Add API<\/strong>&nbsp;\u2013 tla\u010didlo na pridanie nov\u00e9ho API do slu\u017eby.<\/li>\n\n\n\n<li><strong>All APIs<\/strong>&nbsp;\u2013 zoznam v\u0161etk\u00fdch API, ktor\u00e9 m\u00e1\u0161 vytvoren\u00e9.<\/li>\n\n\n\n<li>V pr\u00edklade je zobrazen\u00e9&nbsp;<strong>Echo API<\/strong>&nbsp;\u2013 vzorov\u00e9\/testovacie API dostupn\u00e9 po in\u0161tal\u00e1cii.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Frontend defin\u00edcia oper\u00e1cie<\/strong>\n<ul class=\"wp-block-list\">\n<li>Zobrazuje detaily aktu\u00e1lnej oper\u00e1cie, v tomto pr\u00edpade:\n<ul class=\"wp-block-list\">\n<li><strong>GET \/resource<\/strong><\/li>\n\n\n\n<li>Oper\u00e1cia m\u00e1&nbsp;<strong>query parametre<\/strong>:&nbsp;<code>param1<\/code>&nbsp;(string) a&nbsp;<code>param2<\/code>&nbsp;(number)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Odpove\u010f z oper\u00e1cie je indikovan\u00e1 ako&nbsp;<strong>200 OK<\/strong>&nbsp;(\u00faspe\u0161n\u00e1 odpove\u010f).<\/li>\n\n\n\n<li>Tu sa definuje:\n<ul class=\"wp-block-list\">\n<li>Met\u00f3du (GET, POST, at\u010f.)<\/li>\n\n\n\n<li>Cestu (<code>\/resource<\/code>)<\/li>\n\n\n\n<li>Parametre<\/li>\n\n\n\n<li>Typ odpovede (napr. JSON, XML)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Inbound processing (vstupn\u00e9 spracovanie)<\/strong>\n<ul class=\"wp-block-list\">\n<li>T\u00e1to sekcia definuje,&nbsp;<strong>\u010do sa m\u00e1 sta\u0165 so \u017eiados\u0165ou od klienta<\/strong>, predt\u00fdm ne\u017e sa po\u0161le na backend.<\/li>\n\n\n\n<li>Tu sa definuje&nbsp;<strong>politika (policies)<\/strong>&nbsp;ako napr\u00edklad:\n<ul class=\"wp-block-list\">\n<li>Overenie JWT tokenu (<code>validate-jwt<\/code>)<\/li>\n\n\n\n<li>Limitovanie pr\u00edstupov (<code>rate-limit<\/code>)<\/li>\n\n\n\n<li>\u00daprava hlavi\u010diek alebo URL (<code>rewrite-uri<\/code>,&nbsp;<code>set-header<\/code>)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Na obr\u00e1zku vid\u00edme, \u017ee je tu pridan\u00e1 z\u00e1kladn\u00e1 politika ozna\u010den\u00e1 ako&nbsp;<code>base<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Backend sekcia<\/strong>\n<ul class=\"wp-block-list\">\n<li>Zobrazuje&nbsp;<strong>HTTP(S) endpoint<\/strong>, kam sa m\u00e1 po\u017eiadavka smerova\u0165.<\/li>\n\n\n\n<li>V tomto pr\u00edpade: <a href=\"http:\/\/echoapi.cloudapp.net\/api\" target=\"_blank\" rel=\"noopener\">http:\/\/echoapi.cloudapp.net\/api<\/a><\/li>\n\n\n\n<li>To znamen\u00e1, \u017ee po\u017eiadavky, ktor\u00e9 prejd\u00fa cez gateway, sa posielaj\u00fa na tento backend.<\/li>\n\n\n\n<li>V tejto \u010dasti m\u00f4\u017eu by\u0165 pridan\u00e9 politiky, napr\u00edklad na \u00fapravu URL adresy alebo na zabezpe\u010denie po\u017eiadaviek.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Outbound processing (v\u00fdstupn\u00e9 spracovanie)<\/strong>\n<ul class=\"wp-block-list\">\n<li>T\u00e1to sekcia ur\u010duje,&nbsp;<strong>ako sa m\u00e1 upravi\u0165 odpove\u010f<\/strong>&nbsp;z backendu predt\u00fdm, ako sa po\u0161le klientovi.<\/li>\n\n\n\n<li>Pr\u00edklady pou\u017eitia:\n<ul class=\"wp-block-list\">\n<li>Odstr\u00e1nenie alebo pridanie hlavi\u010diek<\/li>\n\n\n\n<li>Transform\u00e1cia XML na JSON<\/li>\n\n\n\n<li>Logovanie odpoved\u00ed<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Na obr\u00e1zku je pou\u017eit\u00e1 z\u00e1kladn\u00e1 politika&nbsp;<code>base<\/code>.<a href=\"http:\/\/echoapi.cloudapp.net\/api\" target=\"_blank\" rel=\"noopener\"><br><\/a><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Vytvorenie nov\u00e9ho HTTP API<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-1024x570.png\" alt=\"Vytvorenie nov\u00e9ho HTTP API\" class=\"wp-image-1293\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-1024x570.png 1024w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-300x167.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-768x427.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-1536x854.png 1536w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-18x10.png 18w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek.png 1609w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Na obr\u00e1zku vy\u0161\u0161ie vid\u00edme formul\u00e1r, ktor\u00fd sa zobraz\u00ed po kliknut\u00ed na <strong>\u201e+ Add API\u201c<\/strong> a n\u00e1sledne v\u00fdbere mo\u017enosti <strong>HTTP API<\/strong>. Tento formul\u00e1r sl\u00fa\u017ei na z\u00e1kladn\u00e9 nastavenie nov\u00e9ho API rozhrania, ktor\u00e9 bude spr\u00edstupnen\u00e9 cez API Gateway.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ni\u017e\u0161ie s\u00fa uveden\u00e9 vysvetlenia jednotliv\u00fdch pol\u00ed:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Display name:\n<ul class=\"wp-block-list\">\n<li>Vidite\u013en\u00fd n\u00e1zov API, ktor\u00fd sa zobraz\u00ed v rozhran\u00ed APIM.<\/li>\n\n\n\n<li>M\u00f4\u017ee by\u0165 ak\u00fdko\u013evek \u2013 v tomto pr\u00edpade:\n<ul class=\"wp-block-list\">\n<li><strong>Returns the requester&#8217;s IP Address<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Name:\n<ul class=\"wp-block-list\">\n<li>Intern\u00fd identifik\u00e1tor API \u2013 pou\u017e\u00edva sa v URL a v syst\u00e9mov\u00fdch z\u00e1znamoch.<\/li>\n\n\n\n<li>Automaticky sa generuje z n\u00e1zvu, ale m\u00f4\u017eete ho upravi\u0165 (napr. bez medzier, mal\u00e9 p\u00edsmen\u00e1).<\/li>\n\n\n\n<li>V pr\u00edklade:\n<ul class=\"wp-block-list\">\n<li><strong>returns-the-requester-s-ip-address<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Description:\n<ul class=\"wp-block-list\">\n<li>Kr\u00e1tky popis API \u2013 nepovinn\u00e9, ale odpor\u00fa\u010dan\u00e9 pre preh\u013eadnos\u0165.<\/li>\n\n\n\n<li>Tu sl\u00fa\u017ei na vysvetlenie \u00fa\u010delu:\n<ul class=\"wp-block-list\">\n<li><em>Returns the requester&#8217;s IP Address<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Web service URL:\n<ul class=\"wp-block-list\">\n<li><strong>Najd\u00f4le\u017eitej\u0161ie pole<\/strong> \u2013 sem zad\u00e1vate <strong>re\u00e1lnu URL adresu backendovej slu\u017eby<\/strong>, kam m\u00e1 by\u0165 po\u017eiadavka smerovan\u00e1.<\/li>\n\n\n\n<li>V tomto pr\u00edpade ide o verejne dostupn\u00e9 testovacie API:\n<ul class=\"wp-block-list\">\n<li><strong><a class=\"\" href=\"https:\/\/httpbin.org\" target=\"_blank\" rel=\"noopener\">https:\/\/httpbin.org<\/a><\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>URL scheme:\n<ul class=\"wp-block-list\">\n<li>Vyber\u00e1\u0161, \u010di bude API fungova\u0165 cez <strong>HTTP<\/strong>, <strong>HTTPS<\/strong>, alebo oboje.<\/li>\n\n\n\n<li>Odpor\u00fa\u010dan\u00e9 je pou\u017e\u00edva\u0165 <strong>len HTTPS<\/strong> pre zabezpe\u010den\u00fa komunik\u00e1ciu.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>API URL suffix:\n<ul class=\"wp-block-list\">\n<li>Sufix, ktor\u00fd sa pripoj\u00ed k dom\u00e9ne APIM \u2013 tvor\u00ed fin\u00e1lnu adresu API.<\/li>\n\n\n\n<li>Napr. ak zvol\u00ed\u0161 <code>ip<\/code>, v\u00fdsledn\u00fd endpoint bude:\n<ul class=\"wp-block-list\">\n<li><code>https:\/\/mhi...api.azure-api.net\/ip<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Base URL<\/strong> (automaticky vygenerovan\u00e9):\n<ul class=\"wp-block-list\">\n<li>Z\u00e1kladn\u00e1 adresa tvojej API Management br\u00e1ny \u2013 ned\u00e1 sa upravova\u0165.<\/li>\n\n\n\n<li>V tomto pr\u00edpade:\n<ul class=\"wp-block-list\">\n<li><code>https:\/\/mhi...azure-api.net<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tags:\n<ul class=\"wp-block-list\">\n<li>Nepovinn\u00e9 pole \u2013 sl\u00fa\u017ei na kategoriz\u00e1ciu a filtrovanie API.<\/li>\n\n\n\n<li>U\u017eito\u010dn\u00e9 pri ve\u013ekom po\u010dte API (napr. <code>internal<\/code>, <code>external<\/code>, <code>booking<\/code>, at\u010f.)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Products:\n<ul class=\"wp-block-list\">\n<li>API mus\u00ed by\u0165 pridelen\u00e9 aspo\u0148 jedn\u00e9mu produktu, inak nebude publikovan\u00e9.<\/li>\n\n\n\n<li>Produkt je &#8220;bal\u00edk&#8221; API, ktor\u00fd sa poskytuje pou\u017e\u00edvate\u013eom (napr. <code>Free Tier<\/code>, <code>Premium APIs<\/code>).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\">Pridanie oper\u00e1cie: GET <code>\/ip<\/code> \u2013 n\u00e1vrh po\u017eiadavky a odpovede<\/h5>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-2-1024x481.png\" alt=\"Vytvorenie nov\u00e9ho HTTP API (2)\" class=\"wp-image-1295\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-2-1024x481.png 1024w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-2-300x141.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-2-768x360.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-2-1536x721.png 1536w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-2-18x8.png 18w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-2.png 1905w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Na obr\u00e1zku vy\u0161\u0161ie vid\u00edme obrazovku, kde pr\u00e1ve prebieha konfigur\u00e1cia konkr\u00e9tnej <strong>API oper\u00e1cie typu GET<\/strong>. T\u00e1to oper\u00e1cia sa vol\u00e1 <code>Returns the requester's IP Address<\/code> a bude sl\u00fa\u017ei\u0165 na z\u00edskanie IP adresy volaj\u00faceho klienta. T\u00e1to po\u017eiadavka bude presmerovan\u00e1 na testovaciu slu\u017ebu <a class=\"\"><code>https:\/\/httpbin.org\/ip<\/code><\/a>.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Display name:\n<ul class=\"wp-block-list\">\n<li>Intern\u00fd identifik\u00e1tor oper\u00e1cie \u2013 bez medzier a diakritiky.<\/li>\n\n\n\n<li>Pou\u017e\u00edva sa v intern\u00fdch API exportoch a syst\u00e9mov\u00fdch volaniach.<\/li>\n\n\n\n<li>V pr\u00edklade:\n<ul class=\"wp-block-list\">\n<li><strong>returns-the-requester-s-ip-address<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>URL:\n<ul class=\"wp-block-list\">\n<li>Tu je mo\u017en\u00e9 definova\u0165:\n<ul class=\"wp-block-list\">\n<li><strong>Met\u00f3du<\/strong>: GET<\/li>\n\n\n\n<li><strong>Cestu<\/strong>: <code>\/ip<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Kombin\u00e1ciou API suffixu a tejto cesty vznikne fin\u00e1lny endpoint, napr\u00edklad:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/.azure-api.net\/returns-the-requester-s-ip-address\/ip\" target=\"_blank\" rel=\"noopener\">https:\/\/&lt;tvoje-apim&gt;.azure-api.net\/ip<br><\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Sekcia Responses:\n<ul class=\"wp-block-list\">\n<li>V tejto \u010dasti sa definuj\u00fa o\u010dak\u00e1van\u00e9 odpovede od backendu, ktor\u00e9 s\u00fa spracov\u00e1van\u00e9 br\u00e1nou (gateway).<\/li>\n\n\n\n<li>V tomto pr\u00edpade je zadefinovan\u00e1 odpove\u010f:\n<ul class=\"wp-block-list\">\n<li><strong>Status code<\/strong>: <code>200 OK<\/code><\/li>\n\n\n\n<li><strong>Popis<\/strong> (vpravo) \u2013 zatia\u013e pr\u00e1zdny, ale m\u00f4\u017ee obsahova\u0165 JSON pr\u00edklad odpovede, sch\u00e9mu alebo pozn\u00e1mky.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Ako otestova\u0165 API cez cURL pr\u00edkaz<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po vytvoren\u00ed a nasaden\u00ed API v slu\u017ebe Azure API Management je vhodn\u00e9 vykona\u0165 testovanie mimo port\u00e1lu \u2013 napr\u00edklad prostredn\u00edctvom pr\u00edkazov\u00e9ho riadku pomocou n\u00e1stroja cURL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V predvolenom nastaven\u00ed <strong>Azure API Management<\/strong> vy\u017eaduje, aby ka\u017ed\u00e1 po\u017eiadavka bola autorizovan\u00e1 pomocou tzv. <strong>subscription key<\/strong>. Tento k\u013e\u00fa\u010d sa prid\u00e1va bu\u010f vo forme HTTP hlavi\u010dky (<code>Ocp-Apim-Subscription-Key<\/code>), alebo ako parameter priamo v URL (<code>?subscription-key=...<\/code>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ak je v\u0161ak <strong>anonymn\u00fd pr\u00edstup povolen\u00fd<\/strong>, API je mo\u017en\u00e9 testova\u0165 aj bez pou\u017eitia subscription key. Tento re\u017eim sa vyu\u017e\u00edva najm\u00e4 pre verejne dostupn\u00e9 API rozhrania alebo na \u00fa\u010dely testovania.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"569\" height=\"125\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-4.png\" alt=\"Ako otestova\u0165 API cez cURL pr\u00edkaz\" class=\"wp-image-1298\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-4.png 569w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-4-300x66.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-4-18x4.png 18w\" sizes=\"auto, (max-width: 569px) 100vw, 569px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Zapnutie overovania pomocou subscription key<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Azure API Management umo\u017e\u0148uje viacero sp\u00f4sobov overovania po\u017eiadaviek, ktor\u00e9 smeruj\u00fa na publikovan\u00e9 API. V\u00fdber konkr\u00e9tnej met\u00f3dy z\u00e1vis\u00ed od po\u017eiadaviek na bezpe\u010dnos\u0165, typ klienta, ako aj \u00fa\u010del samotn\u00e9ho API (verejn\u00e9 vs. intern\u00e9). Overovanie zabezpe\u010duje, \u017ee API m\u00f4\u017ee vola\u0165 len opr\u00e1vnen\u00fd pou\u017e\u00edvate\u013e alebo aplik\u00e1cia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Subscription key (predvolen\u00e1 met\u00f3da) &#8211; Ka\u017ed\u00e9 API je mo\u017en\u00e9 zabezpe\u010di\u0165 pomocou tzv. <strong>subscription key<\/strong>, ktor\u00fd sa vklad\u00e1 do po\u017eiadavky: <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>bu\u010f do <strong>HTTP hlavi\u010dky<\/strong>:\n<ul class=\"wp-block-list\">\n<li><code>Ocp-Apim-Subscription-Key: &lt;key&gt;<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>alebo ako <strong>parameter v URL<\/strong>:\n<ul class=\"wp-block-list\">\n<li>?subscription-key=<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-5-1024x575.png\" alt=\"Zapnutie overovania pomocou subscription key\" class=\"wp-image-1307\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-5-1024x575.png 1024w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-5-300x169.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-5-768x432.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-5-1536x863.png 1536w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-5-18x10.png 18w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-5.png 1598w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Subscription key v slu\u017ebe <strong>Azure API Management<\/strong> je bezpe\u010dnostn\u00fd token, ktor\u00fd sl\u00fa\u017ei na identifik\u00e1ciu a autoriz\u00e1ciu klientov pristupuj\u00facich k publikovan\u00fdm API rozhraniam. Ide o jednoduch\u00fd, ale efekt\u00edvny sp\u00f4sob zabezpe\u010denia API pred neautorizovan\u00fdm pr\u00edstupom. Subscription key m\u00e1 podobu n\u00e1hodne generovan\u00e9ho re\u0165azca, zvy\u010dajne dlh\u00e9ho 32 a\u017e 40 znakov, napr\u00edklad <code>1a2b3c4d5e6f7g8h9i0jklmnopqrstuv<\/code>, a neobsahuje \u017eiadne \u0161peci\u00e1lne znaky.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017ed\u00fd k\u013e\u00fa\u010d je viazan\u00fd na konkr\u00e9tnu <em>subscription<\/em> (predplatn\u00e9), ktor\u00e9 patr\u00ed k vybran\u00e9mu produktu v r\u00e1mci slu\u017eby APIM. Pre ka\u017ed\u00e9 subscription sa automaticky generuj\u00fa dva k\u013e\u00fa\u010de \u2013 prim\u00e1rny a sekund\u00e1rny, pri\u010dom ich platnos\u0165 je rovnak\u00e1 a m\u00f4\u017eu by\u0165 kedyko\u013evek obnoven\u00e9 (regenerovan\u00e9). Okrem autoriz\u00e1cie po\u017eiadaviek umo\u017e\u0148uje subscription key aj sledovanie spotreby, aplikovanie kv\u00f3t, obmedzen\u00ed r\u00fdchlosti (rate limiting) a evidenciu pr\u00edstupu pod\u013ea pou\u017e\u00edvate\u013eov alebo aplik\u00e1ci\u00ed. V prostred\u00ed s viacer\u00fdmi klientmi alebo partnermi poskytuje efekt\u00edvny sp\u00f4sob spr\u00e1vy a zabezpe\u010denia pr\u00edstupu k rozhran\u00ed bez nutnosti zlo\u017eitej autentifika\u010dnej logiky.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"479\" src=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-6-1024x479.png\" alt=\"Zapnutie overovania pomocou subscription key (2)\" class=\"wp-image-1308\" srcset=\"https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-6-1024x479.png 1024w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-6-300x140.png 300w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-6-768x360.png 768w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-6-1536x719.png 1536w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-6-18x8.png 18w, https:\/\/virtualall.sk\/wp-content\/uploads\/2025\/04\/obrazek-6.png 1916w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tento \u010dl\u00e1nok poskytuje preh\u013eadn\u00fd n\u00e1vod na vytvorenie a nasadenie API pomocou slu\u017eby Azure API Management. Krok za krokom opisuje proces konfigur\u00e1cie slu\u017eby v re\u017eime External s pr\u00edstupom do Virtual Network, vytvorenie HTTP API, definovanie oper\u00e1cie typu GET a nastavenie odpoved\u00ed. S\u00fa\u010das\u0165ou n\u00e1vodu je aj uk\u00e1\u017eka testovania API cez n\u00e1stroj cURL vr\u00e1tane pou\u017eitia subscription key na zabezpe\u010denie pr\u00edstupu. Rie\u0161enie umo\u017e\u0148uje centralizovan\u00fa spr\u00e1vu API rozhran\u00ed s d\u00f4razom na bezpe\u010dnos\u0165, \u0161k\u00e1lovate\u013enos\u0165 a jednoduch\u00fa integr\u00e1ciu s backendov\u00fdmi slu\u017ebami. Vhodn\u00e9 najm\u00e4 pre cloudov\u00e9 a hybridn\u00e9 architekt\u00fary.<\/p>\n","protected":false},"author":1,"featured_media":1310,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[86],"tags":[87,175,176],"class_list":["post-1283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","tag-azure","tag-azure-api-gateway","tag-azure-api-management"],"_links":{"self":[{"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/posts\/1283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/comments?post=1283"}],"version-history":[{"count":13,"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/posts\/1283\/revisions"}],"predecessor-version":[{"id":2259,"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/posts\/1283\/revisions\/2259"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/media\/1310"}],"wp:attachment":[{"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/media?parent=1283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/categories?post=1283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtualall.sk\/en\/wp-json\/wp\/v2\/tags?post=1283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}