O Firebase Admin SDK é um conjunto de bibliotecas de servidor que permite interagir com o Firebase usando ambientes privilegiados para realizar ações como consultas e mutações em um serviço Firebase Data Connect para gerenciamento de dados em massa e outras operações com privilégios elevados.
O Admin SDK fornece uma API para chamar operações nos modos de leitura/gravação e somente leitura. Com as operações somente leitura, você tem a tranquilidade de implementar funções administrativas que não podem modificar dados nos seus bancos de dados.
Configuração do SDK Admin
Para começar a usar o Firebase Data Connect no seu servidor, primeiro você precisa instalar e configurar o Admin SDK para Node.js.
Inicializar o SDK Admin nos scripts
Para inicializar o SDK, importe as extensões Data Connect e declare o ID e o local do serviço do projeto.
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'
});
Projetar consultas e mutações para usar com o Admin SDK
O Admin SDK é útil para testar operações Data Connect, considerando as seguintes considerações.
Entender a diretiva de operação do SDK e @auth(level: NO_ACCESS)
Como o Admin SDK opera com privilégios, ele pode executar qualquer uma das suas consultas e mutações, independentemente dos níveis de acesso definidos usando as diretivas @auth
, incluindo o nível NO_ACCESS
.
Se, junto com as operações do cliente, você organizar suas consultas administrativas
e mutações em arquivos de origem .gql
para importação em scripts administrativos,
o Firebase recomenda marcar as operações administrativas sem nenhum
nível de acesso de autorização ou, talvez, ser mais explícita e defini-las como
NO_ACCESS
. De qualquer forma, isso impede que essas operações sejam executadas de
clientes ou em outros contextos sem privilégios.
Usar o SDK com o emulador Data Connect
Em ambientes de protótipo e teste, pode ser útil realizar a semeadura de dados e outras operações em dados locais. O Admin SDK simplifica seus fluxos de trabalho, já que ignora a autenticação e a autorização para fluxos locais.
Os SDKs Admin do Firebase se conectam automaticamente ao emulador do Data Connect
quando a variável de ambiente DATA_CONNECT_EMULATOR_HOST
está definida:
export DATA_CONNECT_EMULATOR_HOST="127.0.0.1:8080"
Confira mais informações:
Implemente casos de uso comuns
O Admin SDK é fornecido para operações privilegiadas nos seus dados críticos.
A API para Data Connect consiste em uma interface executeGraphql
de leitura e gravação
e uma interface executeGraphqlRead
somente leitura.
Gerenciar dados do usuário
Um caso de uso típico do Admin SDK é gerenciar dados do usuário.
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" } } }
A seguir
- Consulte a API do Admin SDK.
- Use a CLI Firebase e o console Google Cloud para outras operações de gerenciamento de projeto, como gerenciar esquemas e conectores e gerenciar serviços e bancos de dados.