Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Diagnostikujte bežné problémy pri vývoji alebo nasadení projektu Fabric Apps. Tento článok sa zaoberá otázkami prihlasovania, lokálnych služieb, zmien schémy, statického hostovania a CLI.
Problémy s nasadením
Nasadenie zlyháva s chybou 401 alebo 403
Príznak: Spustenie npx rayfin up vráti chybu autentifikácie.
Príčina: Vaša autentifikačná relácia vypršala alebo nie ste prihlásený.
Riešenie:
Znovu overte a vyskúšajte nasadenie:
npx rayfin login
npx rayfin up
Statické nasadenie prekračuje limit veľkosti
Príznak: Nasadenie statického obsahu zlyháva s chybou limitu veľkosti.
Príčina: Komprimovaný archív presahuje 100 MB.
Riešenie:
Zmenšite veľkosť výstupu zostavy takto:
- Vylúčenie zdrojových máp z produkčných verzií
- Optimalizácia alebo odstránenie veľkých obrázkov a videí
- Presúvanie binárnych súborov do úložiska namiesto ich balenia
- Overovanie konfigurácie bundlera vylučuje vývojové artefakty
Statické nasadenie nemá vzdialený koncový bod
Príznak: Spúšťam npx rayfin up staticapp deploy hlásenia, že žiadny vzdialený endpoint nie je nakonfigurovaný.
Príčina: Len statické nasadenie aktualizuje existujúce nasadenie. Nedokáže nastaviť pôvodnú vzdialenú aplikáciu.
Riešenie:
Uskutočniť celé nasadenie raz:
npx rayfin up
Po dokončení nastavenia použite npx rayfin up staticapp deploy na ďalšie statické aktualizácie.
Problémy s autentifikáciou
Získanie autentifikačného tokenu zlyháva
Príznak:npx rayfin login alebo iné autentifikované hlásenia Failed to acquire authentication token príkazov CLI alebo chyba pri ukladaní prihlasovacích údajov.
Príčina: CLI nie je prihlásený alebo prostredie neposkytuje úložisko prihlasovacích údajov podporované operačným systémom.
Riešenie:
Prihláste sa znova:
npx rayfin login
Pre obmedzené lokálne vývojové prostredie bez úložiska prihlasovacích údajov môžete povoliť šifrovaciu záložnú funkciu:
npx rayfin login --encryption-fallback-enabled
Upozornenie
Šifrovací záložný systém ukladá cache tokenov v čistom texte. Používajte ho iba v dôveryhodnom vývojovom prostredí. Nepoužívajte ho v produkcii ani v zdieľaných prostrediach.
Relácia nepretrváva po prihlásení
Príznak: Používatelia sú okamžite po autentifikácii odhlásení.
Príčina: Klient nie je nakonfigurovaný so správnou základnou URL alebo publikovateľným kľúčom.
Riešenie:
Overte, či konfigurácia RayfinClient zodpovedá vášmu backendu:
const client = new RayfinClient({
baseUrl: import.meta.env.VITE_RAYFIN_API_URL ?? 'http://localhost:5168',
publishableKey: import.meta.env.VITE_RAYFIN_PUBLISHABLE_KEY,
});
Fabric SSO vyskakovacie okno zablokované
Symptom: Prehliadač blokuje okno Fabric portálu počas prihlásenia.
Príčina:ensureSignedInWithFabric() nebolo volané od správcu používateľských gest.
Riešenie:
Funkciu voláme zo synchronného obslužovateľa udalostí:
async function handleClick() {
await ensureSignedInWithFabric(client.auth, options);
}
// Attach to button click
<button onClick={handleClick}>Sign in</button>
Fabric autentifikácia vypršala
Príznak: Fabric autentifikácia zlyhá po piatich minútach.
Príčina: Fabric portál nevrátil kód na odovzdanie pred vypršaním flow.
Riešenie:
Skontrolujte, či to returnOrigin zodpovedá pôvodu vašej aplikácie, zatvorte vyskakovacie okno a začnite proces prihlasovania znova.
Fabric SSO hlási nesúlad pôvodu
Príznak: Fabric SSO handoff odmieta odpoveď, pretože jej pôvod sa nezhoduje.
Príčina:returnOrigin, allowedRedirectUris, alebo fabricPortalUrl nezodpovedá prostrediu, kde bežia aplikácia a Fabric portál.
Riešenie:
- Nastavte
returnOriginholý pôvod vašej aplikácie. - Potvrďte, že pôvod sa vyskytuje v
services.auth.allowedRedirectUris. - Použite URL portálu Fabric pre správne produkčné, preview alebo vývojové prostredie.
- Bež
npx rayfin uppo zmenerayfin.yml.
Pre viac informácií pozri Configure authentication redirect URIs.
initEmbeddedAuth() Návraty null
Príznak: Vložená autentifikácia nevytvára reláciu.
Príčina: SDK nezaznamenalo, že aplikácia beží vo Fabric.
Riešenie:
Zahrňte ?fabricEmbedded=true do URL aplikácie alebo nastavte fabricEmbedded: true v FabricAuthOptions.
Fabric autentifikácia hlási nesúlad stavov
Príznak: Prihlásenie zlyháva, pretože stav odpovede nezodpovedá stavu požiadavky.
Príčina: Odpoveď patrí vypršanému toku alebo predchádzajúcemu pokusu o prihlásenie.
Riešenie:
Zatvorte vyskakovacie okno Fabric a reštartujte proces prihlasovania. Nepoužívajte spätné URL alebo hodnoty stavov z predchádzajúceho pokusu.
Problémy s dátovým modelom
Data API po nasadení vracia internú chybu servera
Príznak:npx rayfin up alebo npx rayfin up db apply uspeje, ale GraphQL alebo REST dátové API vrátia internú chybu servera.
Príčina: Na Microsoft SQL Server pole @text() bez max generuje NVARCHAR(MAX) stĺpec, čo môže zabrániť generovaniu schémy GraphQL.
Riešenie:
Pridajte explicitnú maximálnu dĺžku ku každému ovplyvnenému textovému poliu:
@text({ max: 200 })
title!: string;
Potom prejdite a aplikujte zmenu schémy:
npx rayfin up db apply --force
Výstraha
Pred použitím --forceskontrolujte všetky nahlásené operácie. Táto možnosť môže spôsobiť trvalú stratu dát.
Dátová služba vyžaduje dialekt
Príznak: Nasadenie zlyháva s odpoveďou HTTP 400 a hlási Dialect is required when Data module is enabled.
Príčina:services.data.enabled je , trueale rayfin.yml nedefinuje dialekt.
Riešenie:
Configure Microsoft SQL Server:
services:
data:
enabled: true
dialect: mssql
Nová entita nie je dostupná po nasadení
Príznak: Nasadenie je úspešné, ale dotazy na novú alebo zmenenú entitu zlyhajú alebo sa správajú, akoby entita neexistovala.
Príčina: Databázová schéma môže byť stále v platnosti, alebo frontend používa zastarané generované typy či uloženú konfiguráciu.
Riešenie:
Skontrolujte nasadenie:
npx rayfin up statusPočkaj, kým bude nasadenie zdravé.
Obnovte alebo znovu vybudujte frontend.
Ak entita stále zlyháva, použite schému explicitne:
npx rayfin up db apply
Pre kompletný pracovný postup pozri Použiť a overiť zmeny schémy.
Vzťahy, ktoré sa nezobrazujú v API
Príznak: Súvisiace pole entít nie sú pri dotazovaní dostupné.
Príčina: Navigačný dekorátor chýba alebo schéma nebola aplikovaná.
Riešenie:
Overte si, či sú prítomní dekoratéri na vzťahy:
@one(() => Notebook) notebook?: Notebook;Znovu aplikuj schému.
Politika autorizácie nefunguje
Príznak: Používatelia môžu pristupovať k záznamom, ktoré by nemali vidieť.
Príčina: Výraz poistky je nesprávny alebo názvy nárokov nesedia.
Riešenie:
Overte, či poistka používa správne názvy nárokov (
sub,email,role):policy: (claims, item) => claims.sub.eq(item.user_id)Zaznamenajte dekódovaný JWT, aby ste overili, či hodnoty nárokov zodpovedajú vášmu kódu.
Zastarané odpovede API
Príznak: Frontend vracia zastarané dátové tvary po zmene schémy.
Príčina: Generovaná konfigurácia je uložená do vyrovnávacej pamäte.
Riešenie:
Zastavte backend.
Vymažte
.temp/adresár vrayfin/:rm -rf rayfin/.temp/Reštartujte služby a znovu aplikujte schému.
Problémy s CLI
Príkaz nenájdený
Príznak: Spustenie npx rayfin vráti "príkaz nenájdený."
Príčina: CLI nie je nainštalované alebo npm nie je vo vašej PATH.
Riešenie:
Overte, či sú nainštalované Node.js a npm:
node --version npm --versionZávislosti na opätovnej inštalácii:
npm install
Nesúlad verzií CLI
Príznak: Príkazy CLI zlyhávajú s nečakanými chybami po aktualizácii.
Príčina: Cacheovaná verzia CLI je zastaraná.
Riešenie:
Aktualizácia a opätovná inštalácia:
npm update --save
npm install
npx rayfin --version
Nesúlad globálnych a lokálnych verzií CLI
Príznak: CLI príkazy zlyhávajú s nečakanými chybami naprieč projektmi.
Príčina: Globálna a lokálna inštalácia CLI verzií a nezhodujú sa.
Riešenie: Overiť lokálnu verziu npm list @microsoft/rayfin-cli. Toto ukazuje verziu v node_modules vášho aktuálneho projektu. Skontrolujte globálnu verziu npm list -g @microsoft/rayfin-cli. Zobrazuje verziu nainštalovanú v celom systéme. Použite npm uninstall -g s balíkom Rayfin CLI na odstránenie globálnej verzie a použite lokálne verzie.
Problémy s riadením tajného tajomstva
Tajný príkaz nevyvoláva výzvu
Príznak:npx rayfin secret set <NAME> Opúšťa bez vyzvania hodnoty.
Príčina: Štandardný vstup nie je interaktívny terminál, alebo je premenná CI prostredia nastavená na true. Príkaz používa maskovanú interaktívnu výzvu.
Riešenie:
Použite jednu z nasledujúcich podporovaných alternatív pre neinteraktívne vytváranie tajomstiev:
Nastavte jedno tajomstvo tak, že jeho hodnotu pošlete príkazu:
Get-Content .\secret.txt | npx rayfin secret set <NAME> --stdinNastavte viacero tajomstiev zo súboru prostredia:
npx rayfin secret set --env-file .\secrets.env
Držte tajné hodnoty mimo svojej histórie a nezaväzujte sa secret.txt.\secrets.env ani neprepájajte do správy zdrojových kódov.
Tajné velenie vracia povolenie zamietnuté
Príznak:npx rayfin secret set alebo npx rayfin secret list vráti chybu povolenia.
Príčina: Aplikácia nie je nasadená alebo prihlásený účet nemá prístup k cieľovému pracovnému priestoru Fabric.
Riešenie:
- Bež a nastav
npx rayfin upaplikáciu. - Spusti
npx rayfin logina vyber účet s prístupom do pracovného priestoru. - Skús znova tajný príkaz.
Pre viac informácií pozri Spravovať tajomstvá funkcií.
Problémy so stavbou a balením
Build príkaz zlyháva
Príznak: Nasadenie statického hostovania zlyháva, pretože príkaz na zostavenie nevytvoril žiadny výstup.
Príčina: Chyby pri zostavovaní alebo nesprávne nastavené build príkazy.
Riešenie:
Spusti build príkaz manuálne:
npm run buildOpravte všetky nahlásené chyby.
Overte, či výstupný priečinok obsahuje súbory.
Prázdny statický priečinok
Príznak: Statické nasadenie zlyháva s chybou "empty folder".
Príčina: Nastavená folder cesta je nesprávna.
Riešenie:
Overte, či cesta folder dovnútra rayfin.yml zodpovedá výstupu vašej zostavy:
services:
staticHosting:
folder: dist # Verify this matches your build output
buildCommand: npm run build
Problémy s databázami
Aplikácia schémy databázy zlyháva
Príznak: Beží npx rayfin up db apply alebo npx rayfin up db apply --force zlyhá.
Príčina: Schéma v vzdialenej databáze a schéma definovaná v kóde aplikácie nie sú synchronizované. Kód aplikácie je zdrojom pravdy pre Fabric aplikáciu.
Neupravujte vzdialenú databázovú schému cez portál Fabric, SQL Server Management Studio (SSMS), rozšírenie SQL Server pre Visual Studio Code alebo iné SQL nástroje. Nasledujúce zmeny stĺpcov v dátovej entite nie sú podporované:
- Premenovanie stĺpca.
- Zmena dátového typu stĺpca.
- Odstránenie stĺpca.
Pridanie stĺpca je podporované. Odstránenie alebo zmena existujúceho stĺpca môže aplikáciu a jej nasadenie do Fabric pokaziť.
Riešenie:
Vráťte akékoľvek manuálne zmeny v vzdialenej databázovej schéme tak, aby zodpovedala schéme v aplikačnom kóde.
Ak kód agent urobil nepodporovanú zmenu schémy v kóde aplikácie, inštruujte agenta, aby túto zmenu vrátil späť.
Spusti príkaz schema apply znova:
npx rayfin up db applyPri premenovaní
--forcestĺpcov môže byť aktualizácia schémy dokončená:npx rayfin up db apply --forceVýstraha
Používanie
--forcemôže spôsobiť trvalú stratu dát. Pred pokračovaním si prejdite navrhované operácie a potvrďte sa, že akceptujete riziko straty dát.
Spojenie zamietnuté
Príznak: Dátové operácie zlyhávajú s chybami spojenia.
Príčina: Databázový kontajner nebeží alebo kontrola zdravia zlyhala.
Riešenie:
Skontrolujte záznamy kontajnerov:
docker compose logs -fReštartujte služby.
Strata dát po reštarte
Príznak: Dáta zmiznú po zastavení a spustení služieb.
Príčina: Zväzky boli vymazané s --purge.
Riešenie:
Používajte --down namiesto --purge na uchovávanie dát.
Známe obmedzenia
Pre aktuálne obmedzenia a odporúčané obchádzky pozri:
-
count()nie je dostupný na plynulom GraphQL klientovi—použiresults.length. - Vzťahy mnoho-na-mnohých nie sú podporované – použite explicitnú entitu spojenia.
- Objekty relácie sú nepriehľadné – zaškrtnuté
isAuthenticatedalebouservlastnosti. - Po zapnutí alebo vypnutí autentifikácie v ,
rayfin.ymlreštartujte backend.
Získať pomoc
Ak problém pretrváva:
- Pozrite si dokumentáciu Fabric Apps.
- Skontrolujte repozitár GitHub na známe problémy.
- Podajte hlásenie chyby s podrobnými logmi a krokmi reprodukcie.