Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Diagnosoi yleisiä ongelmia, kun kehität tai otat käyttöön Fabric Apps -projektin. Tässä artikkelissa käsitellään kirjautumisen, paikallisten palveluiden, skeemamuutosten, staattisen hostingin ja komentorivijärjestelmän ongelmia.
Käyttöönotto-ongelmat
Käyttöönotto epäonnistuu 401- tai 403-virheellä
Oire: Käynnistys npx rayfin up palauttaa todennusvirheen.
Syy: Tunnistautumisistuntosi päättyi tai et ole kirjautunut sisään.
Ratkaisu:
Uudelleentodennus ja käyttöönotto uudelleen:
npx rayfin login
npx rayfin up
Staattinen käyttöönotto ylittää kokorajan
Oire: Staattisen sisällön käyttöönotto epäonnistuu kokorajoitusvirheen vuoksi.
Syy: Pakattu arkisto ylittää 100 MB.
Ratkaisu:
Pienennä buildin tuotoskokoa seuraavasti:
- Lähdekarttojen poissulkeminen tuotantoversioista
- Suurten kuvien ja videoiden optimointi tai poistaminen
- Binääritiedostojen siirtäminen tallennustilaan niiden niputtamisen sijaan
- Bundler-konfiguraation varmistaminen sulkee kehityshäiriöt pois
Autentikointiongelmat
Istunto ei säily kirjautumisen jälkeen
Oire: Käyttäjät kirjautuvat ulos heti tunnistautumisen jälkeen.
Syy: Asiakasohjelmaa ei ole määritetty oikealla perus-URL:llä tai julkaistavalla avaimella.
Ratkaisu:
Varmista, että kokoonpano RayfinClient vastaa taustajärjestelmääsi:
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 -ponnahdusikkuna estetty
Oire: Selain estää Fabric-portaalin ikkunan kirjautumisen aikana.
Syy:ensureSignedInWithFabric() Ei kutsuttu käyttäjäeleiden käsittelijältä.
Ratkaisu:
Kutsu funktio synkronisen tapahtumakäsittelijän kautta:
async function handleClick() {
await ensureSignedInWithFabric(client.auth, options);
}
// Attach to button click
<button onClick={handleClick}>Sign in</button>
Tietomallin ongelmat
Suhteet, jotka eivät näy API:ssa
Oire: Liittyvät entiteettikentät eivät ole käytettävissä kyselyissä.
Syy: Navigointisisustus puuttuu tai skeemaa ei ole otettu käyttöön.
Ratkaisu:
Varmista, että suhteen sisustajat ovat paikalla:
@one(() => Notebook) notebook?: Notebook;Sovella skeema uudelleen.
Valtuutuskäytäntö ei toimi
Oire: Käyttäjät voivat päästä käsiksi tietueisiin, joita heidän ei pitäisi nähdä.
Syy: Vakuutuslauseke on virheellinen tai korvausvaatimusten nimet eivät täsmää.
Ratkaisu:
Varmista, että vakuutus käyttää oikeita korvausnimiä (
sub,email,role):policy: (claims, item) => claims.sub.eq(item.user_id)Kirjaa purettu JWT varmistaaksesi, että vaatimusten arvot vastaavat koodiasi.
Vanhentuneet API-vastaukset
Oire: Frontend palauttaa vanhentuneita datamuotoja skeeman muuttuessa.
Syy: Generoitu konfiguraatio tallennetaan välimuistiin.
Ratkaisu:
Pysäytä taustajärjestelmä.
Poista hakemisto
.temp/:rayfin/rm -rf rayfin/.temp/Käynnistä palvelut uudelleen ja sovella skeema uudelleen.
CLI-ongelmat
Komentoa ei löytynyt
Oire: Käynnissä npx rayfin oleva palautus palauttaa "komentoa ei löydetty."
Syy: CLI:tä ei ole asennettu tai npm ei ole PATHILLASI.
Ratkaisu:
Varmista, että Node.js ja npm ovat asennettuna:
node --version npm --versionPalauta riippuvuudet:
npm install
CLI-version epäsopivuus
Oire: CLI-komennot epäonnistuvat odottamattomien virheiden vuoksi päivityksen jälkeen.
Syy: Välimuistissa oleva CLI-versio on vanhentunut.
Ratkaisu:
Päivitä ja asenna uudelleen:
npm update --save
npm install
npx rayfin --version
CLI:n globaali ja paikallinen versio ei ole yhteensopiva
Oire: CLI-komennot epäonnistuvat odottamattomien virheiden vuoksi eri projekteissa.
Syy: CLI-versioiden globaali ja paikallinen asennus, mutta ne eivät täsmään.
Ratkaisu: Validoi paikallinen versio npm list @microsoft/rayfin-cli. Tämä näyttää version nykyisen projektisi node_modules. Tarkista globaali versio npm list -g @microsoft/rayfin-cli. Tämä näyttää järjestelmän laajuisen asennetun version. Käytä npm uninstall -g Rayfin CLI -pakettia poistaaksesi globaalin version ja käyttääksesi paikallisia versioita.
Rakennus- ja pakkausongelmat
Build-komento epäonnistuu
Oire: Staattinen isännöinti epäonnistuu, koska build-komento ei tuottanut tulosta.
Syy: Rakennusvirheet tai väärin konfiguroitu build-komento.
Ratkaisu:
Suorita build-komento manuaalisesti:
npm run buildKorjaa kaikki raportoidut virheet.
Varmista, että ulostulokansio sisältää tiedostoja.
Tyhjä staattinen kansio
Oire: Staattinen käyttöönotto epäonnistuu "tyhjä kansio" -virheellä.
Syy: Konfiguroitu folder polku on virheellinen.
Ratkaisu:
Varmista, että reitti folder vastaa rayfin.yml rakennustulostasi:
services:
staticHosting:
folder: dist # Verify this matches your build output
buildCommand: npm run build
Tietokantaongelmat
Tietokantaskeeman soveltaminen epäonnistuu
Oire: Juokseminen npx rayfin up db apply tai npx rayfin up db apply --force epäonnistuminen.
Syy: Etätietokannan skeema ja sovelluksen koodissa määritelty skeema ovat epäsynkassa. Sovelluksen koodi on totuuden lähde Fabric-sovellukselle.
Älä muokkaa etätietokantaskeemaa Fabric-portaalin, SQL Server Management Studio (SSMS), SQL Server -laajennuksen Visual Studio Code -laajennuksen tai muiden SQL-työkalujen kautta. Seuraavat muutokset sarakkeissa tietoyksikössä eivät ole tuettuja:
- Sarakkeen nimeäminen uudelleen.
- Sarakkeen tietotyypin muuttaminen.
- Pylvään poistaminen.
Sarakkeen lisääminen on tuettua. Olemassa olevan sarakkeen poistaminen tai muuttaminen voi rikkoa sovelluksen ja sen käyttöönoton Fabric-järjestelmään.
Ratkaisu:
Peruuta kaikki manuaaliset muutokset etätietokantaskeemaan niin, että ne vastaavat sovelluksen koodin skeemaa.
Jos koodausagentti teki tuettoman skeeman muutoksen sovelluksen koodiin, käske agenttia palauttamaan muutos.
Suorita skeeman soveltamiskomento uudelleen:
npx rayfin up db applySarakkeen uudelleennimeämisessä
--forceskeeman päivitys saattaa valmistua:npx rayfin up db apply --forceVaroitus
Käyttäminen
--forcevoi aiheuttaa pysyvää datan menetystä. Tarkista ehdotetut toimenpiteet ja varmista, että hyväksyt tietojen menetyksen riskin ennen etenemistä.
Yhteys hylätty
Oire: Datatoiminnot epäonnistuvat yhteysvirheiden vuoksi.
Syy: Tietokantakontti ei ole käynnissä tai terveystarkistukset epäonnistuivat.
Ratkaisu:
Tarkista säiliölokit:
docker compose logs -fKäynnistä palvelut uudelleen.
Tietojen menetys uudelleenkäynnistyksen jälkeen
Oire: Data katoaa palveluiden pysähtymisen ja käynnistymisen jälkeen.
Syy: Niteet poistettiin .--purge
Ratkaisu:
Käytä --down tiedon säilyttämisen sijaan --purge .
Tunnetut rajoitukset
Nykyiset rajoitukset ja suositeltavat kiertotavat löytyvät täältä:
-
count()ei ole saatavilla sujuvassa GraphQL-asiakasohjelmassa—käytäresults.length. - Moni-moni-suhteita ei tueta – käytä eksplisiittistä liittymisentiteettiä.
- Istunto-objektit ovat läpinäkymättömiä—tarkistus
isAuthenticatedtaiuserominaisuudet. - Kun autentikointi
rayfin.ymlon aktivoitu tai poistettu käytöstä, käynnistä backend uudelleen.
Avun hakeminen
Jos ongelma jatkuu:
- Tutustu Fabric Apps -dokumentaatioon.
- Tarkista GitHub repository tunnettuja ongelmia varten.
- Tee bugiraportti, jossa on yksityiskohtaiset lokit ja toistovaiheet.
Liittyvä sisältö
- CLI-viittaus
Deploy Fabric - Todentamisen määrittäminen