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: Fő alkalmazás-implementáció
Ez a szakasz áttekinti a fő alkalmazás által importált Python-kódtárakat, valamint azokat a környezeti változókat, amelyektől függ. Amikor üzembe helyezi az alkalmazást a Azure, adja meg ezeket a környezeti változókat a Azure App Service alkalmazásbeállításokon keresztül.
Függőségek és importálási utasítások
Az alkalmazás a következő kódtárakra támaszkodik:
- Flask – a webes API definiálása
- kérések – a standard Python HTTP-ügyfél kimenő API-hívások indításához
- azure.identity – a Microsoft Entra ID tokendalapú hitelesítésének kezelésére
- azure.keyvault.secrets – titkos kulcsok biztonságos lekérése az Azure Key Vaultból
- azure.storage.queue – az Azure Queue Storage használata
Vegye fel ezeket a függőségeket az alkalmazás requirements.txt fájlba. Telepítse őket az üzembe helyezés vagy a helyi beállítás során.
flask
requests
azure.identity
azure.keyvault.secrets
azure.storage.queue
Amikor üzembe helyezi az alkalmazást az Azure App Service-ben, az Azure automatikusan telepíti ezeket a követelményeket a gazdakiszolgálóra. Helyi futtatás esetén telepítse őket a környezetébe a(z) pip install -r requirements.txt paranccsal.
A kódfájl a kódtáraknak a kódban használt részeihez szükséges importálási utasításokkal kezdődik:
from flask import Flask, request, jsonify
import requests, random, string, os
from datetime import datetime
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential
from azure.storage.queue import QueueClient
Környezeti változók
Az alkalmazáskód a következő négy környezeti változótól függ:
| Változó | Érték |
|---|---|
THIRD_PARTY_API_ENDPOINT |
A harmadik fél API-jának URL-címe, például a https://msdocs-example-api.azurewebsites.net/api/RandomNumber-ben leírt . |
KEY_VAULT_URL |
Annak az Azure Key Vaultnak az URL-címe, amelyben a külső API hozzáférési kulcsát tárolta. |
THIRD_PARTY_API_SECRET_NAME |
A kulcstartóban lévő titkos kód neve, amely a külső API hozzáférési kulcsát tartalmazza. |
STORAGE_QUEUE_URL |
Az Azure-ban konfigurált Azure Storage-üzenetsor URL-címe, például https://msdocsexamplemainapp.queue.core.windows.net/code-requests (lásd a 4. részt). Mivel az üzenetsor neve az URL-cím végén található, a kódban sehol nem látja a nevet. |
A változók beállítása attól függ, hogy a kód hol fut:
A kód helyi futtatásakor hozza létre ezeket a változókat a használt parancshéjon belül (például PowerShell, Bash vagy CMD). (Ha az alkalmazást egy virtuális gépen helyezi üzembe, hasonló kiszolgálóoldali változókat hoz létre.) Használhat olyan kódtárat is, mint a Python-dotenv, amely egy .env fájlból olvassa be a kulcs-érték párokat, és környezeti változókként állítja be őket.
Amikor üzembe helyezi a kódot a Azure App Service, ahogyan az ebben az útmutatóban látható, nem rendelkezik hozzáféréssel magához a kiszolgálóhoz. Ehelyett azonos nevű alkalmazásbeállításokat definiáljon az App Service-konfigurációban. Ezek a beállítások automatikusan környezeti változókként teszik elérhetővé az alkalmazást.
A kiépítési szkriptek a Azure CLI paranccsal hozzák létre ezeket a beállításokataz webapp config appsettings set. Állítsa be mind a négy változót egyetlen paranccsal.
Ha az Azure Portalon szeretne beállításokat létrehozni, olvassa el App Service-alkalmazás konfigurálása az Azure Portalon.
A kód helyi futtatásakor olyan környezeti változókat is meg kell adnia, amelyek információkat tartalmaznak a helyi szolgáltatásnévről.
DefaultAzureCredential ezeket az értékeket keresi. Az App Service-ben való üzembe helyezéskor nem kell ezeket az értékeket beállítania, mivel az alkalmazás rendszer által hozzárendelt felügyelt identitását használja a rendszer a hitelesítéshez.
| Változó | Érték |
|---|---|
AZURE_TENANT_ID |
A Microsoft Entra-bérlő (címtár) azonosítója. |
AZURE_CLIENT_ID |
Egy alkalmazásregisztráció ügyfél-(alkalmazás-) azonosítója a bérlőben. |
AZURE_CLIENT_SECRET |
Az alkalmazásregisztrációhoz létrehozott ügyfélkód. |
További információ: Python-alkalmazások hitelesítése az Azure-szolgáltatásokba a helyi fejlesztés során szolgáltatásnevek használatával.