Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
bir Fabric Apps projesi geliştirirken veya dağıtırken sık karşılaşılan sorunları tanılayın. Bu makalede oturum açma, yerel hizmetler, şema değişiklikleri, statik barındırma ve CLI ile ilgili sorunlar ele alınıyor.
Dağıtım sorunları
Dağıtım 401 veya 403 hatasıyla başarısız oluyor
Belirti: Çalıştırma npx rayfin up bir kimlik doğrulama hatası döndürür.
Neden: Kimlik doğrulama oturumunuzun süresi doldu veya oturumunuz açık değil.
Çözüm:
Dağıtımı yeniden doğrulayın ve yeniden deneyin:
npx rayfin login
npx rayfin up
Statik dağıtım boyut sınırını aşıyor
Belirti: Statik içerik dağıtımı boyut sınırı hatasıyla başarısız oluyor.
Neden: Sıkıştırılmış arşiv 100 MB'ı aşıyor.
Çözüm:
Derleme çıktısı boyutunu küçültmek için:
- Kaynak haritalarını üretim derlemelerinin dışında bırakma
- Büyük resimleri ve videoları iyileştirme veya kaldırma
- İkili dosyaları paketlemek yerine depolamaya taşıma
- Paketleyici yapılandırmanızın doğrulanması geliştirme yapıtlarını dışlar
Statik dağıtımda uzak uç nokta yoktur
Belirti: Çalıştırılırken npx rayfin up staticapp deploy hiçbir uzak uç nokta ayarlanmadığını bildiriyor.
Sebep: Sadece statik dağıtım, mevcut bir dağıtımı günceller. İlk uzaktan uygulamayı sağlayamıyor.
Çözüm:
Tam bir dağıtımı bir kez çalıştırın:
npx rayfin up
Sağlama işlemi tamamlandıktan sonra, bundan sonraki yalnızca statik güncellemeler için npx rayfin up staticapp deploy kullanın.
Kimlik doğrulaması sorunları
Kimlik doğrulama token edinimi başarısız oldu
Belirti:npx rayfin login veya kimliği doğrulanmış başka bir CLI komutu, Failed to acquire authentication token ya da bir kimlik bilgisi depolama hatası bildirir.
Sebep: CLI giriş yapmamış veya ortam işletim sistemi destekli kimlik bilgilerini depolamaz.
Çözüm:
Tekrar giriş yapın:
npx rayfin login
Kimlik kaydı depolama olmadan kısıtlı yerel geliştirme ortamı için, şifreleme yedek seçeneğini etkinleştirebilirsiniz:
npx rayfin login --encryption-fallback-enabled
Warning
Şifreleme geri dönüş yöntemi, token önbelleğini açık metin olarak saklar. Sadece güvenilir bir geliştirme ortamında kullanın. Üretimde veya paylaşılan ortamlarda kullanmayın.
Oturum açma sonrasında oturum kalıcı değil
Belirti: Kullanıcıların kimlik doğrulamasından hemen sonra oturumları kapatılır.
Neden: İstemci doğru temel URL veya yayımlanabilir anahtarla yapılandırılmamış.
Çözüm:
RayfinClient yapılandırmasının backend’inizle eşleştiğini doğrulayın:
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 açılır penceresi engellendi
Symptom: Browser, oturum açma sırasında Fabric portalı penceresini engeller.
Neden:ensureSignedInWithFabric() kullanıcı hareketi işleyicisinden çağrılmadı.
Çözüm:
zaman uyumlu bir olay işleyicisinden işlevini çağırın:
async function handleClick() {
await ensureSignedInWithFabric(client.auth, options);
}
// Attach to button click
<button onClick={handleClick}>Sign in</button>
Fabric kimlik doğrulaması zaman aşımına uğruyor
Belirti: Fabric doğrulaması beş dakika sonra başarısız oluyor.
Sebep: Fabric portalı, akış süresi dolmadan önce handoff kodunu geri göndermedi.
Çözüm:
Uygulamanızın returnOrigin kaynağıyla eşleştiğinden emin olun, açılır pencereyi kapatın ve giriş akışını yeniden başlatın.
Fabric SSO, orijin uyumsuzluğu bildiriyor
Belirti: Fabric SSO aktarımı, kaynağı eşleşmediği için yanıtı reddeder.
Neden:returnOrigin, allowedRedirectUris, ya da fabricPortalUrl uygulama ile Fabric portalının çalıştığı ortamla uyuşmuyor.
Çözüm:
-
returnOrigindeğerini uygulamanızın yalın origin’i olarak ayarlayın. - Orijinin
services.auth.allowedRedirectUrisiçinde göründüğünü doğrulayın. - Doğru üretim, önizleme veya geliştirme ortamı için Fabric portal URL'sini kullanın.
-
npx rayfin upöğesini değiştirdikten sonrarayfin.ymlöğesini çalıştırın.
Daha fazla bilgi için bkz. Kimlik doğrulama yönlendirme URI'lerini yapılandırma.
initEmbeddedAuth(), null döndürür.
Belirti: Gömülü kimlik doğrulama oturum oluşturmaz.
Sebep: SDK, uygulamanın Fabric içinde çalıştığını tespit etmedi.
Çözüm:
Uygulama URL’sine ?fabricEmbedded=true ekleyin veya FabricAuthOptions içinde fabricEmbedded: true ayarlayın.
Fabric doğrulama durum uyumsuzluğu bildirir
Belirti: Giriş başarısız olur çünkü yanıt durumu istek durumuyla eşleşmiyor.
Sebep: Yanıt, süresi dolan bir akışa veya önceki bir giriş girişimine aittir.
Çözüm:
Fabric açılır penceresini kapatın ve giriş akışını yeniden başlatın. Önceki bir denemeden geri çağrı URL'lerini veya durum değerlerini tekrar kullanmayın.
Veri modeli sorunları
Veri API'si dağıtımdan sonra dahili sunucu hatası döndürür
Belirti:npx rayfin up veya npx rayfin up db apply başarılı olursa, ancak GraphQL veya REST veri API'si dahili sunucu hatası döndürür.
Sebep: Microsoft SQL Server'da, @text() içermeyen bir max alanı, NVARCHAR(MAX) sütunu oluşturur; bu da GraphQL şeması oluşturulmasını engelleyebilir.
Çözüm:
Her etkilenen metin alanına açık bir maksimum uzunluk ekleyin:
@text({ max: 200 })
title!: string;
Sonra şema değişikliğini gözden geçirip uygula:
npx rayfin up db apply --force
Caution
--force kullanmadan önce bildirilen tüm işlemleri gözden geçirin. Bu seçenek kalıcı veri kaybına yol açabilir.
Veri hizmeti için bir lehçe gereklidir
Belirti: HTTP 400 yanıtıyla dağıtım başarısız olur ve raporlar Dialect is required when Data module is enabledbildirir.
Neden:services.data.enabled , trueama rayfin.yml bir lehçeyi tanımlamaz.
Çözüm:
Microsoft SQL Server'ı yapılandırın:
services:
data:
enabled: true
dialect: mssql
Dağıtımdan sonra yeni bir varlık mevcut değildir
Belirti: Dağıtım başarılı olur, ancak yeni veya değiştirilmiş bir varlığa karşı yapılan sorgular başarısız olur veya varlık yokmuş gibi davranır.
Sebep: Veritabanı şeması hâlâ geçerli olabilir ya da ön yüz mod eski oluşturulmuş türler veya önbelleklenmiş yapılandırmalar kullanıyor olabilir.
Çözüm:
Dağıtımı kontrol edin:
npx rayfin up statusDağıtım sağlıklı duruma gelene kadar bekleyin.
Ön ucu yenileyin veya yeniden oluşturun.
Varlık hâlâ başarısız olursa, şemayı açıkça uygulayın:
npx rayfin up db apply
Tam iş akışı için bkz. Uygulama ve şema değişikliklerini doğrula.
API'de görünmeyen ilişkiler
Belirti: sorgularken ilgili varlık alanları kullanılamaz.
Neden: Gezinti dekoratörü eksik veya şema uygulanmadı.
Çözüm:
İlişki dekoratörlerinin mevcut olduğunu doğrulayın:
@one(() => Notebook) notebook?: Notebook;Şemayı yeniden uygulayın.
Yetkilendirme ilkesi çalışmıyor
Belirti: Kullanıcılar görmemeleri gereken kayıtlara erişebilir.
Neden: İlke ifadesi yanlış veya talep adları eşleşmiyor.
Çözüm:
İlkenin doğru talep adlarını (
sub,email,role) kullandığını doğrulayın:policy: (claims, item) => claims.sub.eq(item.user_id)Talep değerlerinin kodunuzla eşleştiğinden emin olmak için kodu çözülen JWT'yi günlüğe yazın.
Eski API yanıtları
Belirti: Ön uç, şema değişikliklerinin ardından eski veri şekillerini döndürür.
Neden: Oluşturulan yapılandırma önbelleğe alınır.
Çözüm:
Arka ucu durdurun.
.temp/içindekirayfin/dizinini silin:rm -rf rayfin/.temp/Hizmetleri yeniden başlatın ve şemayı yeniden uygulayın.
CLI sorunları
Komut bulunamadı
Belirti: Komutunu çalıştırmak npx rayfin "komut bulunamadı" sonucunu döndürür.
Neden: CLI yüklü değil veya npm PATH'inizde değil.
Çözüm:
Node.js ve npm'nin yüklendiğini doğrulayın:
node --version npm --versionBağımlılıkları yeniden yükleyin:
npm install
CLI sürümü uyuşmazlığı
Belirti: CLI komutları güncelleştirildikten sonra beklenmeyen hatalarla başarısız olur.
Neden: Önbelleğe alınan CLI sürümü güncel değil.
Çözüm:
Güncelleştirin ve yeniden yükleyin:
npm update --save
npm install
npx rayfin --version
CLI küresel ve yerel versiyon uyumsuzluğu
Belirti: CLI komutları projeler arasında beklenmeyen hatalarla başarısız olur.
Neden: CLI sürümlerinin genel ve yerel yüklemesi ve bunlar eşleşmiyor.
Çözüm: Yerel sürümü npm list @microsoft/rayfin-clidoğrulayın. Bu, geçerli projenizin node_modules klasöründeki sürümü gösterir. Genel sürümü npm list -g @microsoft/rayfin-clidenetleyin. Bu, sistem genelinde yüklü sürümü gösterir.
npm uninstall -g Genel sürümü kaldırmak ve yerel sürümlerinizi kullanmak için Rayfin CLI paketiyle kullanın.
Gizli yönetim sorunları
Gizli komut istem vermez
Belirti:npx rayfin secret set <NAME> Bir değer sormadan çıkar.
Sebep: Standart girdi etkileşimli bir terminal değildir veya CI ortam değişkeni olarak trueayarlanmıştır. Komut, maskeli etkileşimli bir prompt kullanır.
Çözüm:
Etkileşimsiz gizli oluşturma için aşağıdaki desteklenen alternatiflerden birini kullanın:
Bir sırrı komuta değerini göndererek ayarlayın:
Get-Content .\secret.txt | npx rayfin secret set <NAME> --stdinBir ortam dosyasından birden fazla sır ayarlayın:
npx rayfin secret set --env-file .\secrets.env
Gizli değerleri shell geçmişinizden uzak tutun ve secret.txt veya .\secrets.env öğelerini kaynak denetimine commit etmeyin.
Gizli komut, "izin reddedildi" hatası döndürüyor
Belirti:npx rayfin secret set veya npx rayfin secret list izin hatası döndürür.
Sebep: Uygulama dağıtılmıyor ya da giriş yapan hesap hedef Fabric çalışma alanına erişemiyor.
Çözüm:
- Uygulamayı hazırlamak için
npx rayfin upçalıştırın. -
npx rayfin loginöğesini çalıştırın ve çalışma alanına erişimi olan bir hesap seçin. - Gizli komutu tekrar dene.
Daha fazla bilgi için bkz. Fonksiyon sırlarını yönet.
Derleme ve paketleme sorunları
Derleme komutu başarısız
Belirti: Derleme komutu hiçbir çıkış üretmediğinden statik barındırma dağıtımı başarısız oluyor.
Neden: Derleme hataları veya yanlış yapılandırılmış derleme komutu.
Çözüm:
Derleme komutunu el ile çalıştırın:
npm run buildBildirilen hataları düzeltin.
Çıkış klasörünün dosya içerdiğini doğrulayın.
Boş statik klasör
Belirti: Statik dağıtım "boş klasör" hatasıyla başarısız oluyor.
Neden: Yapılandırılan folder yol yanlış.
Çözüm:
içindeki folder yolunun rayfin.yml derleme çıkışınızla eşleştiklerini doğrulayın:
services:
staticHosting:
folder: dist # Verify this matches your build output
buildCommand: npm run build
Veritabanı sorunları
Veritabanı şeması uygulaması başarısız oldu
Belirti:npx rayfin up db apply veya npx rayfin up db apply --force çalıştırıldığında başarısız olur.
Sebep: Uzak veritabanındaki şema ile uygulama kodunda tanımlanan şema senkronize değil. Uygulama kodu, bir Fabric uygulaması için gerçeğin kaynağıdır.
Fabric portalı, SQL Server Management Studio (SSMS), Visual Studio Code için SQL Server uzantısı veya diğer SQL araçları aracılığıyla uzak veritabanı şemasını değiştirmeyin. Bir veri varlığındaki sütunlarda yapılan aşağıdaki değişiklikler desteklenmemektedir:
- Bir sütunun adını değiştirmek.
- Bir sütunun veri türünü değiştirmek.
- Bir sütun çıkarıyorum.
Bir sütun eklemek desteklenir. Mevcut bir sütunu kaldırmak veya değiştirmek, uygulamayı ve Fabric'e dağıtımını bozabilir.
Çözüm:
Uzak veritabanı şemasına yapılan manuel değişiklikleri uygulama kodundaki şema ile eşleştirecek şekilde geri alın.
Bir kodlama ajanı uygulama kodunda desteklenmeyen bir şema değişikliği yaptıysa, ajana bu değişikliği geri almasını emredebilirsiniz.
Şema uygula komutunu tekrar çalıştırın:
npx rayfin up db applyBir sütun yeniden adlandırması için,
--forceşema güncellemesinin tamamlanmasına izin verebilir:npx rayfin up db apply --forceCaution
kullanmak
--forcekalıcı veri kaybına neden olabilir. Önerilen işlemleri gözden geçirin ve ilerlemeden önce veri kaybı riskini kabul ettiğinizi doğrulayın.
Bağlantı reddedildi
Belirti: Veri işlemleri bağlantı hatalarıyla başarısız olur.
Neden: Veritabanı kapsayıcısı çalışmıyor veya sistem durumu denetimleri başarısız oldu.
Çözüm:
Kapsayıcı günlüklerini gözden geçirin:
docker compose logs -fHizmetleri yeniden başlatın.
Yeniden başlatıldıktan sonra veri kaybı
Belirti: Hizmetler durdurulup başlatıldıktan sonra veriler kaybolur.
Neden: Birimler, --purge kullanılarak silindi.
Çözüm:
Verileri korumak için yerine --down kullanın--purge.
Bilinen sınırlamalar
Geçerli sınırlamalar ve önerilen geçici çözümler için bkz:
-
count()akıcı GraphQL istemcisinde kullanılamaz; kullanınresults.length. - Çoktan çoğa ilişkiler desteklenmez; açık bir join varlığı kullanın.
- Oturum nesneleri opaktır;
isAuthenticatedveyauserözelliklerini kontrol edin. - içinde
rayfin.ymlkimlik doğrulamasını etkinleştirdikten veya devre dışı bırakdıktan sonra arka ucu yeniden başlatın.
Yardım alın
Sorun devam ederse:
- Fabric Apps belgelerini gözden geçirin.
- Bilinen sorunlar için GitHub deposunu denetleyin.
- Ayrıntılı günlükleri ve çoğaltma adımlarını içeren bir hata raporu oluşturun.