Referință cod de eroare flux cloud

Utilizați acest articol pentru a depana cele mai comune erori din Power Automate fluxurile din cloud. Fiecare intrare explică ce înseamnă eroarea, de ce se întâmplă și cum să o remediați.

Notă

Această referință se aplică tuturor nivelurilor licenței fluxului cloud Power Automate. Aflați despre erorile specifice fluxurilor desktop din Depanarea erorilor de flux desktop.

Erori de timp de proiectare

Aceste erori apar atunci când salvați, validați sau publicați un flux.

NevalidTemplate

Ce înseamnă: Definiția fluxului conține o eroare de sintaxă într-o expresie sau o configurație de acțiune.

Cauze comune:

  • Paranteze sau ghilimele necorespondențe într-o expresie
  • Referindu-vă la o ieșire de acțiune care nu există (greșeală de ortografie în numele acțiunii)
  • Utilizarea unei funcții cu un număr greșit de argumente (de exemplu, createArray() fără argumente)
  • Nepotrivire de tip într-o expresie constantă (de exemplu, int('abc') sau div(100, 0))- motorul validează aceste erori la timp
  • Copierea expresiilor lipite din documentație care include caractere Unicode invizibile

Cum să repari:

  1. Deschideți acțiunea evidențiată cu roșu în proiectant.
  2. Verificați expresia în bara de formule. Căutați caractere necorespondențe().'
  3. Verificați numele de acțiuni din expresii care se potrivesc exact (sensibil la litere mari și mici): outputs('Get_item') nu outputs('Get Item').
  4. Dacă expresia arată corect, ștergeți-o și tastați-o din nou manual pentru a elimina caracterele ascunse.

Sfat

Numele de acțiuni din expresii utilizează caractere de subliniere în loc de spații. Dacă acțiunea se numește "Obțineți elementul", referința expresiei este outputs('Get_item').

Informații asociate: ExpressionEvaluationFailed, FlowCheckerError

FlowCheckerError

Ce înseamnă: Verificatorul de flux a găsit una sau mai multe probleme de validare care împiedică salvarea.

Cauze comune:

  • Un câmp obligatoriu este gol într-una sau mai multe acțiuni
  • Nu este selectată o conexiune pentru o acțiune de conector
  • O expresie face referire la o valoare de conținut dinamic dintr-o ramură paralelă (nu există garantat)
  • Intrările declanșatoare sunt incomplete

Cum să repari:

  1. Selectați bannerul de eroare din partea de sus a proiectantului pentru a afișa lista completă de probleme.
  2. Selectați fiecare eroare pentru a naviga la acțiunea afectată.
  3. Completați câmpurile necesare, remediați expresiile eronate și selectați conexiuni.
  4. Salvați din nou. Verificatorul rulează automat la salvare.

Informații asociate: InvalidTemplate, MissingRequiredProperty

DuplicateActionName

Ce înseamnă: Două sau mai multe acțiuni din flux au același nume intern.

Cauze comune:

  • Copierea unei acțiuni fără a o redenumi
  • Importul unei definiții de flux care a fost editată manual cu chei dublate
  • Redenumirea unei acțiuni la un nume utilizat deja de altă acțiune din același domeniu

Cum să repari:

  1. Căutați în flux acțiuni cu nume identice (verificați și containerele Apply to EachScope ).
  2. Redenumiți una dintre dubluri. Selectați meniul ... din acțiune, apoi selectați Redenumire.
  3. Actualizați toate expresiile care fac referire la acțiunea redenumită: outputs('Old_Name') la outputs('New_Name').

Informații asociate: InvalidTemplate

MissingRequiredProperty

Ce înseamnă: Un câmp de intrare necesar pentru o acțiune sau un trigger este gol.

Cauze comune:

  • Adăugarea unei acțiuni de conector, dar nu finalizarea configurării
  • Tokenul de conținut dinamic care s-a rezolvat la gol a fost utilizat într-un câmp obligatoriu
  • Fluxul importat dintr-o soluție în care variabilele de mediu nu sunt setate

Cum să repari:

  1. Deschideți acțiunea semnalizată cu eroarea.
  2. Căutați câmpurile marcate cu un asterisc roșu (*) care sunt necompletate.
  3. Completați valoarea necesară, fie cu text static, fie cu un simbol de conținut dinamic.
  4. Pentru fluxurile de soluții, verificați dacă toate variabilele de mediu au valori în mediul țintă.

Informații asociate: FlowCheckerError

Erori expresie runtime

Aceste erori apar atunci când un flux rulează și o expresie nu poate fi evaluată.

ExpressionEvaluationFailed

Ce înseamnă:

O expresie nu a reușit să se evalueze la momentul rulării, deoarece datele reale nu se potrivesc cu ceea ce se aștepta expresia. Această eroare apare doar atunci când expresia utilizează valori dinamice (variabile, corp declanșator, ieșiri de acțiune) care nu pot fi verificate la momentul economisirii.

Notă

Dacă o expresie utilizează doar valori constante (cum ar fi int('abc') sau div(100, 0)), motorul de flux capturează eroarea în schimb ca InvalidTemplate .

Cauze comune:

  • Apelarea int() unei variabile care conține un șir non-numeric la momentul rulării
  • Accesarea unei proprietăți pe un obiect nul (outputs('Get_item')?['body/title'] când Get_item nu a returnat nimic)
  • Nepotrivire format dată în formatDateTime() sau parseDateTime() când formatul provine dintr-o variabilă
  • Împărțire la zero atunci când divizorul este o valoare dinamică care se întâmplă să fie 0

Cum să repari:

  1. Deschideți rularea nereușită și selectați acțiunea nereușită pentru a afișa expresia și valorile de intrare.
  2. Încadrați expresiile riscante cu verificări nule: if(empty(triggerBody()?['value']), 'default', triggerBody()?['value']).
  3. Se utilizează coalesce() pentru a furniza valori de rezervă: coalesce(outputs('Get_item')?['body/title'], 'Untitled').
  4. Validați tipurile de date înainte de conversie: if(isInt(variables('input')), int(variables('input')), 0).

Sfat

Aflați despre o bibliotecă de modele de expresii gata de utilizat, cu o gestionare nulă sigură în agenda de bucate Expresie pentru fluxurile în cloud.

Informații asociate: InvalidTemplate, ContentConversionFailed

ContentConversionFailed

Ce înseamnă: Fluxul nu a putut efectua conversia datelor dintr-un tip în altul între acțiuni.

Cauze comune:

  • Trecerea unui șir în care se așteaptă un întreg sau un boolean
  • Trimiterea unei matrice la o acțiune care așteaptă un singur obiect
  • Șir de date într-un format neașteptat (de exemplu, DD/MM/YYYY când MM/DD/YYYY este așteptat)
  • Conținut binar (fișier) transmis către o intrare text

Cum să repari:

  1. Verificați intrările acțiunii nereușite din istoricul de rulare. Comparați tipul valorii reale cu cel așteptat de acțiune.
  2. Utilizați funcții de conversie explicite: , , , , int()float(). string()bool()json()
  3. Pentru date, utilizați parseDateTime() cu o setare regională explicită sau formatDateTime() pentru a normaliza înainte de trecere.
  4. Pentru matrice, se utilizează first() pentru a extrage un singur element dacă acțiunea din aval așteaptă o valoare.

Informații asociate: ExpressionEvaluationFailed

Erori de conexiune și autentificare

Aceste erori apar atunci când fluxul nu se poate autentifica la un serviciu conectat.

Conectare nevalidă

Ce înseamnă: O referință de conexiune din flux indică o conexiune care este întreruptă, ștearsă sau expirată.

Cauze comune:

  • Utilizatorul care a creat conexiunea și-a modificat parola sau a avut resetarea MFA
  • Conexiunea a fost ștearsă din pagina Conexiuni
  • Un administrator a eliminat conexiunea prin centrul de administrare Power Platform
  • Fluxul a fost importat într-un mediu în care conexiunea nu există

Cum să repari:

  1. Deschideți fluxul în modul de editare. Acțiuni cu conexiuni întrerupte afișează o pictogramă de avertisment.
  2. Selectați acțiunea și selectați Modificare conexiune sau Adăugare conexiune nouă.
  3. Conectați-vă cu acreditările corespunzătoare pentru a crea o conexiune nouă.
  4. Salvați și testați fluxul.

Important

Pentru fluxurile de producție, luați în considerare utilizarea conexiunilor principale de serviciu în locul conexiunilor personale ale utilizatorilor. Conexiunile principale de serviciu nu expiră atunci când un utilizator își modifică parola sau părăsește organizația.

Informații asociate: ConnectionNotConfigured, ConnectionAuthorizationFailed

ConnectionNotConfigured

Ce înseamnă: O acțiune necesită o conexiune, dar nu s-a selectat niciuna.

Cauze comune:

  • Fluxul a fost importat dintr-o soluție și referințele de conexiune nu au fost mapate
  • S-a adăugat o nouă acțiune, dar pasul de conexiune a fost ignorat
  • Referința de conexiune indică spre o variabilă de mediu fără valoare

Cum să repari:

  1. Deschideți fluxul în modul de editare și găsiți acțiunea cu avertismentul de conexiune.
  2. Selectați o conexiune existentă din lista verticală sau creați una nouă.
  3. Pentru fluxurile de soluții, accesați> la >.
  4. Setați conexiunea pentru fiecare referință.

Informații asociate: Conectare nevalidă

Neautorizat (401)

Ce înseamnă: API-ul a respins solicitarea, deoarece tokenul de autentificare este nevalid sau a expirat.

Cauze comune:

  • Simbolul OAuth a expirat și conexiunea nu a putut reîmprospăta automat
  • Contul utilizatorului a fost dezactivat sau s-a modificat parola
  • Secretul sau certificatul principal de serviciu a expirat
  • Politica de acces condiționat a blocat conectarea (geo, conformitate dispozitiv)

Cum să repari:

  1. Accesați Power Automate>Connections și găsiți conexiunea utilizată de acțiunea nereușită.
  2. Dacă conexiunea afișează un avertisment, selectați Remediați conexiunea și autentificați-vă din nou.
  3. Pentru conexiunile principale de serviciu, rotiți secretul în Microsoft Entra ID și actualizați conexiunea.
  4. Verificați Microsoft Entra ID jurnalele de conectare pentru blocurile de acces condiționat: Azure portal>Microsoft Entra ID>Conectarea jurnalelor, filtrați după numele aplicației.

Informații asociate: Interzis (403), ConnectionAuthorizationFailed

Interzis (403)

Ce înseamnă: Utilizatorul sau aplicația autentificată nu are permisiunea de a efectua operațiunea solicitată.

Cauze comune:

  • O politică DLP (Prevenirea pierderii datelor) blochează acțiunea conectorului sau conectorului în acest mediu
  • Utilizatorul nu are permisiuni pentru resursa țintă (de exemplu, fără acces la scriere la o SharePoint list)
  • Un administrator a restricționat conectorul prin intermediul setărilor la nivel de entitate găzduită
  • Conectorul necesită o licență premium, iar utilizatorul se află pe un plan cu semințe

Cum să repari:

  1. Verificați politicile DLP:Politici de date> de administrare a platformei Power Platform. Căutați politici care blochează conectorul din grupul dvs. de mediu.
  2. Verificați dacă utilizatorul conexiunii are permisiunile corecte pentru serviciul țintă (SharePoint permisiuni de site, roluri de securitate Dataverse și altele similare).
  3. Dacă este o problemă de conector premium, verificați dacă proprietarul fluxului sau apelantul are o licență Power Automate Premium.
  4. Contactați administratorul dacă trebuie modificată o politică DLP.

Informații asociate: Neautorizat (401), DirectApiAuthorizationRequired

ConnectionAuthorizationFailed

Ce înseamnă: Conexiunea există, dar acreditările sale stocate nu mai sunt valide.

Cauze comune:

  • Parola utilizatorului s-a modificat sau metoda MFA a fost resetată
  • Simbolul de reîmprospătare OAuth a expirat (comun cu conexiunile neutilizate timp de 90 de zile)
  • Administratorul a revocat consimțământul pentru aplicație în Microsoft Entra ID
  • Conexiunea partajată a fost nepartajată de proprietar

Cum să repari:

  1. Deschideți Power Automate>Connections.
  2. Găsiți conexiunea afectată.
  3. Selectați conexiunea, apoi selectați Remediați conexiunea pentru a vă autentifica din nou.
  4. Dacă utilizați o conexiune partajată, solicitați-i proprietarului conexiunii să-l repartajeze.
  5. Pentru conturile de serviciu, setați un memento de calendar pentru a roti acreditările înainte de a expira.

Sfat

Găsiți un tutorial detaliat despre problemele de conexiune în funcție de conector (SharePoint, Outlook, SQL Server, Dataverse, HTTP) în Fix erorile de conexiune în fluxurile din cloud.

Informații asociate: Conectare nevalidă, neautorizată (401)

Erori conector și API

Aceste erori provin din serviciul din aval apelarea fluxului.

ActionFailed

Ce înseamnă: O acțiune a returnat o stare de eroare. Acesta este un wrapper generic. Detaliile de eroare reale se află în corpul de ieșire al acțiunii.

Cauze comune:

  • API-ul din aval a returnat o eroare 4xx sau 5xx
  • Un flux fiu (denumit "Rulare flux fiu") nu a reușit
  • Un conector particularizat a returnat un format de răspuns neașteptat
  • Setările de configurare-rulare a acțiunii au determinat rularea sa după o eroare anterioară

Cum să repari:

  1. Deschideți rularea nereușită și selectați acțiunea nereușită.
  2. Extindeți Ieșiri pentru a afișa mesajul de eroare real și codul de stare din API.
  3. Remediați problema subiacentă pe baza erorii specifice api (revizuiți intrările 400, 401, 403 și 404 din această referință).
  4. Dacă acțiunea ar trebui să ruleze chiar și atunci când acțiunile anterioare nu reușesc, verificați rularea configurată după setări.

Informații asociate: BadRequest (400), NotFound (404)

BadRequest (400)

Ce înseamnă: API-ul conectorului a respins solicitarea, deoarece datele de intrare sunt incorect formatate sau nevalide.

Cauze comune:

  • Trimiterea unui câmp cu tipul de date greșit (șir în loc de număr sau invers)
  • Câmpurile obligatorii lipsesc din corpul solicitării
  • Caractere nevalide în numele de fișiere sau titlurile elementelor de listă
  • Depășirea limitei de lungime a câmpului (de exemplu, SharePoint text cu o singură linie = 255 caractere)

Cum să repari:

  1. Deschideți acțiunea nereușită din istoricul rulării și uitați-vă la secțiunea Intrări pentru a afișa exact ceea ce a fost trimis.
  2. Comparați intrările cu schema așteptată de API (consultați documentația conectorului).
  3. Sanitizați intrările utilizatorului cu replace() pentru a dezbrăca caracterele nevalide înainte de a trece la acțiune.
  4. Utilizați substring() sau take() pentru a trunchia valorile lungi la lungimea maximă a câmpului.

Informații asociate: ActionFailed, ContentConversionFailed

NotFound (404)

Ce înseamnă: Resursa pe care încearcă să o acceseze nu există.

Cauze comune:

  • Un SharePoint list, o bibliotecă sau un site a fost redenumit sau șters
  • Un folder Outlook sau un canal Teams au fost eliminate
  • Fluxul face referire la un ID codat de hardcoded pentru o resursă care nu mai există
  • Tabelul sau rândul Dataverse a fost șters de alt proces

Cum să repari:

  1. Verificați dacă resursa există încă în serviciul țintă.
  2. Dacă a fost redenumit, actualizați acțiunea pentru a utiliza numele nou sau ID-ul.
  3. Înlocuiți ID-urile codificate cu căutări dinamice, dacă este posibil (de exemplu, "Obțineți elemente" cu un filtru în loc de "Obținere element" cu un ID static).
  4. Adăugarea tratării erorilor: configurați următoarea acțiune la Rulare după ce>nu a reușit și gestionați 404 cu grație.

Informații asociate: ActionFailed

Erori de declanșare

Aceste erori se referă la declanșatoarele fluxului nu se declanșează sau nu reușesc.

TriggerConditionNotMet

Ce înseamnă: Declanșatorul și-a evaluat condiția și a determinat că evenimentul nu ar trebui să pornească o rulare a fluxului.

Cauze comune:

  • O expresie condiție declanșatoare se evaluează întotdeauna la fals (eroare logică)
  • Condiția declanșatorului face referire la un câmp care nu există în sarcina declanșatorului
  • Evenimentul a avut loc, dar datele nu se potrivesc filtrului (de exemplu, "Când se creează un element" cu o condiție privind Starea, dar Starea a fost necompletată)

Cum să repari:

  1. Accesați Setările triggerului și revizuiți expresia condiției declanșatorului.
  2. Testați condiția în raport cu o sarcină de eveniment cunoscută. Utilizați codul Sumar de pe declanșator pentru a afișa schema brută.
  3. Eliminați temporar condiția, declanșați fluxul manual și inspectați rezultatul declanșator pentru a verifica numele și valorile câmpurilor.
  4. Remediați expresia și reactivați condiția.

Informații asociate: ExpressionEvaluationFailed

Erori de expirare și limitare

Aceste erori apar atunci când fluxul sau o acțiune depășește limitele de timp sau de rată.

ActionTimedOut

Ce înseamnă: O singură acțiune a depășit timpul de expirare configurat și a fost anulată.

Cauze comune:

  • Acțiunea HTTP care apelează un API extern lent cu temporizare implicită de 100 secunde
  • "Așteptați o aprobare" cu o expirare care a trecut
  • Încărcarea sau descărcarea fișierelor mari printr-o conexiune lentă
  • Interogarea Dataverse returnează prea multe rânduri fără paginare

Cum să repari:

  1. Deschideți Setările acțiunii și măriți valoarea de expirare (durata ISO 8601, de exemplu, PT5M pentru 5 minute).
  2. Pentru acțiuni HTTP, verificați dacă API-ul extern are un model de operațiune cu rulare lungă (sondaj cu reîncercare după).
  3. Pentru Dataverse, adăugați $filter și $top reduceți setul de rezultate.
  4. Pentru aprobări, setați o expirare rezonabilă și adăugați o ramură de expirare pentru a gestiona non-răspunsurile.

Informații asociate: OperationTimedOut

OperationTimedOut

Ce înseamnă: O operațiune cu rulare lungă (așteptare web, aprobare, sondaje HTTP) a depășit timpul maxim de așteptare.

Cauze comune:

  • Acțiunea webhook HTTP care așteaptă o apelare inversă care nu a venit niciodată
  • Acțiunea de aprobare fără expirare, lovind limita de rulare a fluxului de 30 de zile
  • Acțiunea "Întârziere până la" setată la o dată dincolo de limita de durată a rulării de 30 de zile
  • Serviciul extern a scăzut și nu a trimis niciodată răspunsul așteptat

Cum să repari:

  1. Setați întotdeauna expirări explicite pentru acțiunile webhook și aprobare.
  2. Pentru acțiunile webhook HTTP, implementați o ramură de expirare cu rularea Configurare după ce>a expirat.
  3. Întrerupeți așteptările lungi în segmente mai scurte, utilizând o buclă cu verificări zilnice.
  4. Pentru limita de rulare de 30 de zile, reproiectați procesele cu rulare lungă pentru a utiliza un model de "releu": Încheiați rularea curentă și începeți una nouă cu starea transmisă prin Dataverse sau printr-un fișier.

Important

Fluxurile cloud au o durată maximă de rulare de 30 de zile. Pentru procesele care durează mai mult, scindați-le în mai multe fluxuri cu starea partajată.

Informații asociate: ActionTimedOut

WorkflowRunActionRepetitionQuotaExceeded

Ce înseamnă: O aplicație la fiecare buclă a depășit numărul maxim de iterații (implicit: 100.000 pentru premium, 5.000 pentru profilurile de performanță).

Cauze comune:

  • Procesarea unui tabel mare SharePoint list sau Dataverse fără a filtra mai întâi
  • Bucle imbricate Apply to Each înmulțind numărul de iterații (100 x 100 = 10,000)
  • O Get items acțiune care returnează toate rândurile în locul unui subset filtrat

Cum să repari:

  1. Adăugați filtre la acțiunea sursei de date pentru a reduce numărul de elemente dinainte de buclă.
  2. Utilizați OData $filter și $top în Obțineți acțiuni de elemente în loc să filtrați în buclă.
  3. Pentru seturi mari de date, grupați lucrul pe mai multe rulări de flux utilizând tokenuri de paginare sau intervale de date.
  4. Luați în considerare utilizarea Select sau Filter array acțiunile în loc de Apply to Each momentul în care trebuie să transformați sau să filtrați date.

Informații asociate: FlowRunQuotaExceeded

FlowRunQuotaExceeded

Ce înseamnă: Fluxul sau entitatea găzduită a depășit limita zilnică de executare a acțiunilor.

Cauze comune:

  • Licență cu semințe/gratuite: 6.000 de acțiuni pe zi pentru fiecare utilizator
  • Licență Premium: 40.000 de acțiuni pe zi pentru fiecare utilizator
  • Licență proces: 250.000 de acțiuni pe zi pe flux
  • Un flux în buclă care consumă mii de acțiuni pe rulare

Cum să repari:

  1. Verificați utilizarea curentă în centrul de administrare Power Platform>Analytics>Power Automate.
  2. Optimizați fluxurile pentru a utiliza mai puține acțiuni: înlocuiți Se aplică la fiecare cu Selectare/Filtrare, operațiuni pe loturi, reduceți frecvența sondajelor.
  3. Nivelul licenței de upgrade dacă volumul de lucru necesită în mod legitim mai multă capacitate.
  4. Distribuiți volumele de lucru în mai multe fluxuri sau programați rulări de volum mare în afara orelor de vârf.

Notă

Aflați mai multe despre limitele de acțiuni zilnice după nivelul de licență din Power Automate limite și configurație.

Informații asociate: WorkflowRunActionRepetitionQuotaExceeded, DirectApiAuthorizationRequired

Erori de licențiere

DirectApiAuthorizationRequired

Ce înseamnă: Fluxul utilizează un conector premium, dar apelantul nu are o licență premium.

Cauze comune:

  • Un flux cu conectori premium (HTTP, SQL Server, Dataverse, conectori particularizați) este rulat de un utilizator pe o licență Microsoft 365 cu semințe
  • Proprietarul fluxului are premium, dar utilizatorul care declanșează nu (apelantul contează, nu al proprietarului)
  • Proprietarul unui flux planificat și-a pierdut licența premium
  • Un flux în context a fost dezasociat de aplicația Sa Power, făcându-l în afara contextului

Cum să repari:

  1. Identificați conectorul care necesită premium. Mesajul de eroare îl denumea de obicei.
  2. Atribuiți o licență Power Automate Premium utilizatorului care declanșează sau rulează fluxul.
  3. Pentru fluxurile planificate sau automate, asigurați-vă că proprietarul fluxului are o licență premium.
  4. Luați în considerare dacă o licență De proces (per flux) este mai eficientă pentru fluxurile partajate cu volum mare. De asemenea, puteți partaja o singură licență Proces în până la 25 de fluxuri cu un grup de fluxuri.

Informații asociate: Interzis (403), FlowRunQuotaExceeded

Tabel de referințe rapide

Eroare Categorie Cel mai probabil remediu
NevalidTemplate Timp de proiectare Remedierea sintaxei expresiilor
ExpressionEvaluationFailed Runtime Adăugarea verificărilor nule, validarea tipurilor
ActionFailed Runtime Verificarea ieșirilor acțiunii pentru eroarea API
FlowCheckerError Timp de proiectare Completați câmpurile obligatorii, remediați conexiunile
Conectare nevalidă Connection Re-autentificați conexiunea
ConnectionNotConfigured Connection Selectarea sau crearea unei conexiuni
Neautorizat (401) Auth Remedierea conexiunii, rotirea acreditărilor
Interzis (403) Auth Verificați politicile DLP, permisiunile
BadRequest (400) API Validați formatul de date de intrare
NotFound (404) API Verificați dacă resursa există, referințele de actualizare
TriggerConditionNotMet Declanșa Revizuirea expresiei condiției declanșatoare
ActionTimedOut Perioadă de expirare Măriți timpul de expirare în setările de acțiune
DuplicateActionName Timp de proiectare Redenumirea uneia dintre acțiunile dublate
MissingRequiredProperty Timp de proiectare Completați câmpurile obligatorii
ContentConversionFailed Runtime Utilizați conversii de tip explicit
WorkflowRunActionRepetitionQuotaExceeded Limitare Filtrarea datelor înainte de buclare
DirectApiAuthorizationRequired Licențiere Atribuirea licenței premium apelantului
FlowRunQuotaExceeded Limitare Optimizați numărul de acțiuni, licența de upgrade
ConnectionAuthorizationFailed Connection Remedierea conexiunii, re-autentificarea
OperationTimedOut Perioadă de expirare Setați expirări explicite, utilizați modelul de releu

Notă: Autorul a creat acest articol cu ajutorul AI. Aflați mai multe