Nota
Prístup na túto stránku vyžaduje autorizáciu. Môžete sa pokúsiť prihlásiť alebo zmeniť adresár.
Prístup na túto stránku vyžaduje autorizáciu. Môžete skúsiť zmeniť adresáre.
Ak chcete vyvolať položky funkcie údajov používateľa štruktúry z konzolovej aplikácie v jazyku Python, môžete odoslať požiadavky HTTP na koncový bod funkcie, ktorý je potrebné spustiť. V tomto rýchlom štarte sa dozviete, ako nastaviť aplikáciu v jazyku Python pomocou visual Studia Code.
Požiadavky
- Nainštalujte visual Studio Code.
- Stiahnite si jazyku Python 3.1 do lokálneho počítača.
- Ak ho nemáte, vytvorte si bezplatné konto služby Microsoft Fabric.
- Vytvorte pracovný priestor.
- Vytvorte položku údajových funkcií používateľa a publikujte ju. V týchto článkoch nájdete informácie o tom, ako ho vytvoriť v editore Visual Studio Code alebo ako ho vytvoriť na portáli. Publikujte zmeny, aby bola položka údajových funkcií používateľa pripravená na vyvolanie.
Vytvorenie aplikácie Microsoft Entra
Nasledujúce kroky vysvetľujú, ako nakonfigurovať podporu pre aplikáciu ReactJS v Microsoft Entra.
Registrácia aplikácie pomocou krokov opísaných v téme Stručný návod: Registrácia aplikácie pomocou platformy identity spoločnosti Microsoft.
Hodnoty ID aplikácie (klienta) aplikácie Microsoft Entra a ID adresára (nájomníka) sa zobrazia v poli Súhrn. Tieto hodnoty si zaznamenajte, pretože sú potrebné neskôr.
V zozname Spravovať vyberte povolenia rozhrania APIa potom Pridať povolenie.
Pridajte službu PowerBI, vyberte položku Delegované povolenia a vyberte položku UserDataFunction.Execute.All alebo položku. Execute.All povolenia. Skontrolujte, či sa nevyžaduje súhlas správcu.
Vráťte sa do nastavenia Spravovať a vyberte Overenie>Pridať platformu>Jednostránková aplikácia.
Na lokálne účely vývoja pridajte do
http://localhost:3000časti Identifikátory URI presmerovania a potvrďte, že je aplikácia povolená pre postup kódu oprávnenia s overeným kľúčom pre Exchange kódov (PKCE). Ak chcete zmeny uložiť, vyberte tlačidlo Konfigurovať. Ak aplikácia narazí na chybu súvisiacu s požiadavkami medzi zdrojmi, pridajte platformu mobilných a desktopových aplikácií v predchádzajúcom kroku s rovnakým identifikátorom URI presmerovania.Späť na overovania , prejdite nadol na rozšírené nastavenia a v časti Povoliťverejné klientske postupy vyberte položku Áno pre Povoliť nasledujúce mobilné postupy a postupy pracovnej plochy.
Vytvorenie konzolovej aplikácie
Funkcia musí byť verejne prístupná. V prieskumníkovi funkcií ukážte na názov funkcie, vyberte ikonu troch bodiek (...), ktorá sa zobrazí, a potom vyberte položky Vlastnosti. Na otvorínej table Vlastnosti povoľte verejný prístup. Takisto by ste si mali poznamenať verejnej URL adresy, ktoré môžete použiť v aplikácii jazyka Python.
Vytvorte nový priečinok pre aplikáciu jazyka Python, napríklad môj-data-app. Otvorte priečinok v editore Visual Studio Code.
Nastavte virtuálne prostredie jazyka Python v editore Visual Studio Code. Ak chcete vytvoriť lokálne prostredia v editore Visual Studio Code, otvorte paletu príkazov pomocou kombinácie klávesov Ctrl + Shift + P a potom vyhľadajte a vyberte príkaz Python: Vytvoriť prostredie.
- Príkaz zobrazí zoznam typov prostredia a vyberie venv.
- Vyberte verziu interpreta jazyka Python jazyku Python 3.11.
Spustením nasledujúceho príkazu aktivujte virtuálne prostredie v termináli Visual Studio Code.
venv\Scripts\activate.batPotom spustite príkaz na inštaláciu knižníc jazyka Python potrebných pre tento príklad.
pip install azure-identity, requestsVytvorte
app.pysúbor a pomocou kódu vyvolajte položku údajových funkcií používateľa.from azure.identity import InteractiveBrowserCredential import requests import json # Acquire a token # DO NOT USE IN PRODUCTION. # Below code to acquire token is to test the User data function endpoint and is for the purpose of development only. # For production, always register an application in a Microsoft Entra ID tenant and use the appropriate client_id and scopes. app = InteractiveBrowserCredential() scp = 'https://analysis.windows.net/powerbi/api/user_impersonation' result = app.get_token(scp) if not result.token: print('Error:', "Could not get access token") # Prepare headers headers = { 'Authorization': f'Bearer {result.token}', 'Content-Type': 'application/json' } FUNCTION_URL = '<REPLACE WITH USER DATA FUNCTION URL>' # Prepare the request data data = '{"name": "John"}' # JSON payload to send to the Azure Function headers = { # "Authorization": f"Bearer {access_token}", "Content-Type": "application/json" } try: # Call the user data function public URL response = requests.post(FUNCTION_URL, json=data, headers=headers) response.raise_for_status() print(json.dumps(response.json())) except Exception as e: print({"error": str(e)}, 500) if __name__ == "__main__": app.run(debug=True)Nota
Príkladom je účely vývoja iba. Pred použitím aplikácie pre prípad produkčného použitia aktualizujte aplikáciu tak, aby používala overenie MICROSOFT Entra ID.
Vyvolanie funkcie z externej aplikácie
Funkcie možno vyvolať vydaním volania REST na URL adresu koncového bodu. Vyberte funkciu, ktorú chcete vyvolať v prieskumníkovi Functions a vyberte položky Kopírovať URL adresu funkcie. Možnosť externe používať túto URL adresu môžete zapnúť alebo vypnúť aj z ponuky Vlastnosti.
Potom túto URL adresu použite v aplikácii na vyvolanie funkcie. Pozrite si Vyvolanie údajových funkcií používateľa z aplikácie
Výstupná schéma
Pri vyvolaní funkcie údajov používateľa z externej aplikácie bude mať výstupná schéma nasledujúci formát:
{
"functionName": "hello_fabric",
"invocationId": "1234567890",
"status": "Succeeded | BadRequest | Failed | Timeout | ResponseTooLarge",
"output": /*shows the result of the function dependeing on the output type*/,
"errors": [
{
"name": "Error name",
"message": "Error message",
"properties": {
/*Key value pairs custom to error*/
}
},
]
}
Vrátia sa nasledujúce vlastnosti:
- functionName: Názov spustenej funkcie.
- invocationId: ID vyvolania na vykonanie funkcie.
-
stav: Výsledok spustenia funkcie a podporované hodnoty sú
Succeeded,BadRequest, ,FailedaTimeoutResponseTooLarge. - výstup: Výstupná hodnota vrátená funkciou.
- chýb: Ak sa zaznamenajú nejaké chyby, vráti sa zoznam jednotlivých chýb s ich názvom, chybovým hlásením a vlastnosťami chyby.
Kódy odpovede
Funkcia vráti nasledujúce kódy HTTP ako výsledok spustenia.
| kód odpovede | Správa | Opis |
|---|---|---|
| 200 | Úspech | Požiadavka bola úspešná. |
| 400 | Zlá požiadavka | Žiadosť nebola platná. Táto odpoveď môže byť spôsobená chýbajúcimi alebo nesprávnymi hodnotami vstupných parametrov, typmi údajov alebo názvami. Táto reakcia môže byť spôsobená aj vypnutím verejného prístupu pre funkciu. |
| 403 | Zakázané | Odpoveď bola príliš veľká a vyvolanie zlyhalo. |
| 408 | Časový limit žiadosti | Žiadosť zlyhala, pretože spustenie trvá viac ako 200 sekúnd. |
| 409 | Konflikt | Žiadosť nebolo možné dokončiť z dôvodu konfliktného stavu. Môže to byť spôsobené nespracovanou výnimkou alebo chybou s povereniami používateľa. |
| 422 | Zlá požiadavka | Požiadavka zlyhala z dôvodu UserThrownError vyvolanej vo funkcii. |
| 500 | Interná chyba servera | Žiadosť zlyhala z dôvodu internej chyby v službe. |
Ladenie a testovanie
Ladenie aplikácie v editore Visual Studio Code pomocou ladiaceho nástroja jazyka Python. Ak je to potrebné, pridajte body prerušenia na ladenie prípadných problémov. Ďalšie informácie