Používání vlastních funkcí ve službě Azure Static Web Apps
Azure Static Web Apps poskytuje integraci rozhraní API, která umožňují vytvářet front-endové webové aplikace, které závisí na back-endových rozhraních API pro data a služby. Dvě možnosti integrace rozhraní API jsou: spravované funkce a používání vlastních back-endů. Další informace o rozdílech mezi těmito možnostmi najdete v přehledu.
Tento článek ukazuje, jak propojit existující aplikaci Azure Functions s prostředkem Azure Static Web Apps.
Poznámka:
Integrace se službou Azure Functions vyžaduje plán Static Web Apps Standard.
Integrace back-endu není podporována v prostředích statických žádostí o přijetí změn Web Apps.
Požadavky
Pokud chcete propojit aplikaci funkcí se statickou webovou aplikací, musíte mít existující prostředek Azure Functions a statickou webovou aplikaci.
Resource | Popis |
---|---|
Azure Functions | Pokud ho ještě nemáte, postupujte podle pokynů v průvodci Začínáme se službou Azure Functions . |
Existující statická webová aplikace | Pokud ho ještě nemáte, vytvořte statickou webovou aplikaci No Framework podle pokynů v úvodní příručce. |
Příklad
Představte si existující aplikaci Azure Functions, která zveřejňuje koncový bod prostřednictvím následujícího umístění.
https://my-functions-app.azurewebsites.net/api/getProducts
Po propojení můžete ke stejnému api
koncovému bodu přistupovat přes cestu z vaší statické webové aplikace, jak je znázorněno v této ukázkové adrese URL.
https://red-sea-123.azurestaticapps.net/api/getProducts
Obě adresy URL koncového bodu odkazují na stejnou funkci. Koncový bod v aplikaci funkcí musí mít předponu /api
, protože Static Web Apps odpovídá žádostem provedeným na /api
propojeném prostředku a proxy server.
Propojení existující aplikace Azure Functions
Odebrání spravovaných funkcí z prostředku Static Web Apps (pokud je k dispozici)
Než přidružíte existující aplikaci Functions, musíte nejprve upravit konfiguraci statické webové aplikace, aby se odebraly spravované funkce, pokud nějaké máte.
Propojení aplikace Azure Functions s prostředkem Static Web Apps
Otevřete instanci Static Web Apps na webu Azure Portal.
V nabídce Nastavení vyberte rozhraní API.
V řádku Production (Produkční) vyberte Odkaz a otevřete okno Propojit nový back-end.
Zadejte následující nastavení.
Nastavení Hodnota Typ back-endového prostředku Vyberte aplikaci funkcí. Předplatné Vyberte název předplatného Azure. Název prostředku Vyberte název aplikace Azure Functions. Back-endový slot Vyberte název slotu pro funkci Azure Functions. Vyberte odkaz.
Aplikace Azure Functions je teď namapovaná na trasu /api
vaší statické webové aplikace.
Důležité
Před propojením existující aplikace Functions nezapomeňte hodnotu nastavit api_location
na prázdný řetězec (""
) v konfiguračním souboru pracovního postupu. Volání také předpokládají, že externí aplikace funkcí zachovává výchozí api
předponu trasy. Mnoho aplikací odebere tuto předponu v host.json. Ujistěte se, že je předpona v konfiguraci, jinak volání selže.
Nasazení
Zodpovídáte za nastavení pracovního postupu nasazení pro vaši aplikaci Azure Functions.
Zrušení propojení aplikace Azure Functions
Zrušení propojení aplikace Functions se statickými webovými aplikacemi
Pokud chcete zrušit propojení aplikace funkcí se statickou webovou aplikací, postupujte takto:
Na webu Azure Portal přejděte do statické webové aplikace.
V navigační nabídce vyberte rozhraní API .
Vyhledejte prostředí, které chcete odpojit, a vyberte název aplikace funkcí.
Vyberte Zrušit propojení.
Po dokončení procesu zrušení propojení se požadavky na trasy začínající na /api
trasu už nepřesouvají do aplikace Azure Functions.
Poznámka:
Aby se zabránilo náhodnému zveřejnění vaší aplikace funkcí anonymnímu provozu, zprostředkovatel identity vytvořený procesem propojení se automaticky neodstraní. Z nastavení ověřování aplikace funkcí můžete odstranit zprostředkovatele identity s názvem Azure Static Web Apps (propojené ).
Odebrání ověřování z prostředku Azure Functions
Pokud chcete aplikaci Azure Functions povolit příjem anonymního provozu, odeberte zprostředkovatele identity následujícím postupem:
Na webu Azure Portal přejděte k prostředku Azure Functions.
V navigační nabídce vyberte Ověřování .
Ze seznamu zprostředkovatelů identity odstraňte zprostředkovatele identity související s prostředkem Static Web Apps.
Výběrem možnosti Odebrat ověřování odeberete ověřování a povolíte anonymní provoz do vašeho prostředku Azure Functions.
Vaše aplikace funkcí teď může přijímat anonymní provoz.
Omezení zabezpečení
Ověřování a autorizace: Pokud ještě ve stávající aplikaci Functions nejsou nastavené zásady ověřování a autorizace, má statická webová aplikace výhradní přístup k rozhraní API. Pokud chcete aplikaci Functions zpřístupnit pro jiné aplikace, přidejte dalšího zprostředkovatele identity nebo změňte nastavení zabezpečení tak, aby povolovala neověřený přístup.
Poznámka:
Pokud v propojené aplikaci Functions povolíte ověřování a autorizaci, musí používat Aplikace Azure ověřování služby a zprostředkovatele autorizace verze 2.
Požadovaná veřejná přístupnost: Existující aplikace Functions nemusí používat následující konfigurace zabezpečení.
- Omezení IP adresy aplikace Functions
- Omezení provozu prostřednictvím privátního propojení nebo koncových bodů služby
Přístupové klíče funkce: Pokud vaše funkce vyžaduje přístupový klíč, musíte klíč poskytnout volání ze statické aplikace do rozhraní API.
Omezení
- Pro jednu statickou webovou aplikaci je dostupná jenom jedna aplikace Azure Functions.
- Hodnota
api_location
v konfiguraci pracovního postupu musí být nastavena na prázdný řetězec. - Nepodporuje se v prostředích statických žádostí o přijetí změn Web Apps.
- I když vaše aplikace Azure Functions může reagovat na různé triggery, může statická webová aplikace přistupovat pouze k funkcím prostřednictvím koncových bodů HTTP.