Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Előző rész: Hitelesítési követelmények
A példaforgatókönyvben a fő alkalmazás egy külső API-t használ, amely hozzáférési kulccsal van védve. Ez a szakasz a Azure Functions használó API-t mutatja be, de ugyanazok az alapelvek érvényesek az API implementálásának módjától és helyszínétől függetlenül, függetlenül attól, hogy az alkalmazást egy másik felhőszolgáltatón vagy egy hagyományos webkiszolgálón üzemelteti.
A fő szempont az, hogy a védett végpontra irányuló ügyfélkéréseknek tartalmazniuk kell a hozzáférési kulcsot, amelyet az alkalmazásnak biztonságosan kell kezelnie. Ez a szakasz áttekintést nyújt arról, hogyan implementálhat egy ilyen API-t az Azure Functions használatával, de az alapelveket az ön igényeihez igazíthatja.
Példa külső API-implementációra
A külső API példa egy egyszerű végpont, amely egy véletlenszerű számot ad vissza 1 és 999 között. Az API-t egy hozzáférési kulccsal védik, amelyet a végpont elérésére vonatkozó kérésben meg kell adnia. Bemutató célokra ez az API a végponton https://msdocs-example-api.azurewebsites.net/api/RandomNumbervan üzembe helyezve. Az API meghívásához azonban meg kell adnia a hozzáférési kulcsot d0c5atM1cr0s0ft egy ?code= URL-paraméterben vagy a HTTP-fejléc egyik 'x-functions-key' tulajdonságában. Az alkalmazás és az API üzembe helyezése után például próbálja ki ezt az URL-címet egy böngészőben vagy curlben: https://msdocs-example-api.azurewebsites.net/api/RandomNumber?code=d0c5atM1cr0s0ft.
Ha a hozzáférési kulcs érvényes, a végpont egy olyan JSON-választ ad vissza, amely egyetlen tulajdonságot ("value") tartalmaz, amelynek értéke egy 1 és 999 közötti szám, például {"value": 959}.
A végpont Pythonban van implementálva, és az Azure Functionsben van üzembe helyezve. A kód a következő:
import logging
import random
import json
import azure.functions as func
def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('RandomNumber invoked via HTTP trigger.')
random_value = random.randint(1, 1000)
dict = { "value" : random_value }
return func.HttpResponse(json.dumps(dict))
A mintaadattárban ez a kód a third_party_api/RandomNumber/__init__.py alatt található. A RandomNumber nevű mappa megadja a függvény nevét, és __init__.py tartalmazza a kódot. Egy másik fájl a mappában, function.json, leírja, hogy mikor kerül sor a függvény aktiválására. A third_party_api szülőmappájában található egyéb fájlok a függvényt üzemeltető Azure-függvényalkalmazás részleteit adják meg.
A kód üzembe helyezéséhez a minta kiépítési szkriptje a következő lépéseket hajtja végre:
Hozzon létre egy háttértárfiókot az Azure Functions számára az Azure CLI paranccsal az
az storage account createállapot és a belső műveletek kezeléséhez.Azure Functions-alkalmazás létrehozása az Azure CLI paranccsal.
az function app createMiután 60 másodpercet várt a gazdagép teljes kiépítésére, telepítse a kódot az Azure Functions Core Tools paranccsal.
func azure functionapp publishRendelje hozzá a hozzáférési kulcsot
d0c5atM1cr0s0fta függvényhez. (A függvénykulcsok hátterét az Azure Functions biztonságossá tétele című témakörben talál.)A kiépítési szkriptben ezt a lépést az az functionapp function keys set Azure CLI-parancs segítségével hajtják végre.
A megjegyzések bemutatják, hogyan hajthatja végre ezt a lépést egy REST API-híváson keresztül a Functions Key Management API-hoz , ha szükséges. A REST API meghívásához először egy másik REST API-hívást kell végrehajtani a függvényalkalmazás főkulcsának lekéréséhez.
Hozzáférési kulcsokat az Azure Portalon is hozzárendelhet. A Functions alkalmazás lapján válassza a Functions elemet, majd válassza ki a biztonságossá tenni kívánt függvényt (amely ebben a példában szerepel RandomNumber ). A függvény lapján válassza a Függvénykulcsok lehetőséget a lap megnyitásához, ahol létrehozhatja és kezelheti ezeket a kulcsokat.