Firebase Admin SDK, toplu veri yönetimi ve yüksek ayrıcalıklara sahip diğer işlemler için bir Firebase Data Connect hizmetinde sorgu ve mutasyon çalıştırma gibi işlemleri gerçekleştirmek amacıyla ayrıcalıklı ortamlardan Firebase ile etkileşim kurmanıza olanak tanıyan bir sunucu kitaplığı grubudur.
Admin SDK, işlemleri hem okuma/yazma hem de salt okuma modlarında çağırmanız için bir API sağlar. Salt okunur işlemler sayesinde, veritabanlarınızdaki verileri değiştiremeyen yönetim işlevlerini uygulayarak içiniz rahat olabilir.
Yönetici SDK'sı Kurulumu
Sunucunuzda Firebase Data Connect ile kullanmaya başlamak üzere öncelikle Node.js için Admin SDK öğesini yükleyip ayarlamanız gerekir.
Komut dosyalarınızda Admin SDK'yı başlatma
SDK'yı başlatmak için Data Connect uzantılarını içe aktarın ve projenizin hizmet kimliğini ve konumunu belirtin.
import { initializeApp } from 'firebase-admin/app';
import { getDataConnect } from 'firebase-admin/data-connect';
// If you'd like to use OAuth2 flows and other credentials to log in,
// visit https://firebase.google.com/docs/admin/setup#initialize-sdk
// for alternative ways to initialize the SDK.
const app = initializeApp();
const dataConnect = getDataConnect({
serviceId: 'serviceId',
location: 'us-west2'
});
Admin SDK ile kullanılacak sorguları ve mutasyonları tasarlama
Admin SDK, aşağıdaki hususlar göz önünde bulundurulduğunda Data Connect işlemlerini test etmek için kullanışlıdır.
SDK'yı ve @auth(level: NO_ACCESS)
işlem talimatlarını anlama
Admin SDK ayrıcalıklarla çalıştığından, NO_ACCESS
düzeyi dahil olmak üzere @auth
yönergeleri kullanılarak ayarlanan erişim düzeylerinden bağımsız olarak tüm sorgu ve mutasyonlarınızı yürütebilir.
Müşteri işlemlerinizle birlikte, .gql
kaynak dosyalarındaki yönetici sorgularınızı ve mutasyonlarınızı, yönetici komut dosyalarına aktarmak üzere düzenliyorsanız Firebase, yönetim işlemlerini herhangi bir yetkilendirme erişim düzeyi olmadan işaretlemenizi veya daha açık bir ifade tercih edip bunları NO_ACCESS
olarak ayarlamanızı önerir. Her iki durumda da bu, bu tür işlemlerin istemcilerden veya ayrıcalıklı olmayan diğer bağlamlardan yürütülmesini engeller.
SDK'yı Data Connect emülatörüyle kullanma
Prototip ve test ortamlarında, veri başlangıç noktası ve yerel veriler üzerinde başka işlemler yapmak yararlı olabilir. Admin SDK, yerel akışlar için kimlik doğrulamayı ve yetkilendirmeyi yoksadığı için iş akışlarınızı basitleştirmenize olanak tanır.
DATA_CONNECT_EMULATOR_HOST
ortam değişkeni ayarlandığında Firebase Admin SDK'ları otomatik olarak Data Connectemülatöre bağlanır:
export DATA_CONNECT_EMULATOR_HOST="127.0.0.1:8080"
Daha fazla bilgi için aşağıdaki sayfaları inceleyin:
Yaygın kullanım alanlarını uygulama
Admin SDK, kritik verileriniz üzerinde ayrıcalıklı işlemler için sağlanır.
Data Connect API'si, salt okunur executeGraphqlRead
arayüzü ve salt yazılabilir executeGraphql
arayüzünden oluşur.
Kullanıcı verilerini yönetme
Admin SDK için tipik bir kullanım alanı kullanıcı verilerinin yönetimidir.
interface UserData {
user: {
id: string;
name: string;
};
}
export interface UserVariables {
id: string;
}
const options:GraphqlOptions<UserVariables> = { variables: { id: "QVBJcy5ndXJ1" } };
// user can be publicly accessible, or restricted to admins
const query = "query getProfile(id: AuthID) { user(id: $id) { id name } }";
//executeGraphql
const gqlResponse = await dataConnect.executeGraphql<UserData, UserVariables>(query, options);
//executeGraphqlRead (similar to above but only for read operations)
const gqlResponse = await dataConnect.executeGraphqlRead<UserData, UserVariables>(query, options);
// gqlResponse -> { "data": { "user": { "id": "QVBJcy5ndXJ1", "name": "Fred" } } }
Sırada ne var?
- Admin SDK için API'yi inceleyin.
- Şema ve bağdaştırıcılar yönetme ve hizmetleri ve veritabanlarını yönetme gibi diğer proje yönetimi işlemleri için Firebase CLI ve Google Cloud konsolunu kullanın.