Yönetici SDK'sını Data Connect ile kullanma

Firebase Admin SDK, etkileşimde bulunmanıza olanak tanıyan bir dizi sunucu kitaplığıdır. Ayrıcalıklı ortamlardan Firebase'i kullanarak sorgu gerçekleştirme gibi işlemler yapabilirsiniz. ve mutasyonlar, toplu veri yönetimi için bir Firebase Data Connect hizmetindeki ve diğer işlemlerde kullanılabilir.

Admin SDK, işlemleri hem okuma/yazma hem de salt okuma modlarında çağırmanız için bir API sağlar. Salt okuma işlemleriyle, Verileri değiştiremeyen yönetim işlevlerini uygulamak, içinin rahat olması inceleyebilirsiniz.

Yönetici SDK'sı Kurulumu

Sunucunuzda Firebase Data Connect ile kullanmaya başlamak için öncelikle Node.js için Admin SDK'yi 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 proje hizmeti kimliğinizi ve konumunuzu belirtmeniz gerekir.


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ı tasarlayın

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 ve @auth(level: NO_ACCESS) işlem yönergesini 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 sorgularınızı ve mutasyonlarınızı yürütebilir.

Müşteri işlemlerinizin yanı sıra yönetim sorgularınızı ve mutasyonlarınızı, yönetim komut dosyalarına aktarmak için .gql kaynak dosyalarında düzenlerseniz Firebase, yönetim işlemlerini herhangi bir yetkilendirme erişim düzeyi olmadan işaretlemenizi veya daha açık bir şekilde 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ı sağlamak yerel verilerle ilgili diğer işlemler. Admin SDK, şunları basitleştirebilmenizi sağlar: yerel akışlar için kimlik doğrulama ve yetkilendirmeyi yoksaydığı için iş akışlarına otomatik olarak eklenir.

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 için API, bir okuma-yazma executeGraphql içeriyor salt okunur executeGraphqlRead arayüzü.

Kullanıcı verilerini yönetme

Admin SDK'ün tipik bir kullanım alanı, kullanıcı verilerini yönetmektir.

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?