Firebase Admin SDK là một tập hợp các thư viện máy chủ cho phép bạn tương tác với Firebase từ các môi trường đặc quyền để thực hiện các thao tác như thực hiện truy vấn và đột biến trên dịch vụ Firebase Data Connect để quản lý dữ liệu hàng loạt và các thao tác khác có đặc quyền nâng cao.
Admin SDK cung cấp cho bạn một API để gọi các thao tác ở cả chế độ đọc/ghi và chỉ đọc. Với các thao tác chỉ đọc, bạn có thể yên tâm triển khai các chức năng quản trị không thể sửa đổi dữ liệu trong cơ sở dữ liệu.
Thiết lập SDK dành cho quản trị viên
Để bắt đầu sử dụng Firebase Data Connect trên máy chủ, trước tiên, bạn cần cài đặt và thiết lập Admin SDK cho Node.js.
Khởi chạy SDK quản trị trong tập lệnh của bạn
Để khởi chạy SDK, hãy nhập các tiện ích Data Connect rồi khai báo vị trí và mã dịch vụ của dự án.
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'
});
Thiết kế truy vấn và độ biến đổi để sử dụng với Admin SDK
Admin SDK rất hữu ích khi kiểm thử hoạt động Data Connect, dựa trên những điểm cần cân nhắc sau đây.
Tìm hiểu SDK và lệnh hoạt động @auth(level: NO_ACCESS)
Vì Admin SDK hoạt động với các đặc quyền, nên nó có thể thực thi bất kỳ truy vấn và đột biến nào của bạn, bất kể cấp truy cập được đặt bằng các lệnh @auth
, bao gồm cả cấp NO_ACCESS
.
Nếu cùng với các hoạt động của ứng dụng, bạn sắp xếp các truy vấn quản trị và đột biến trong tệp nguồn .gql
để nhập vào tập lệnh quản trị, thì Firebase khuyên bạn nên đánh dấu các hoạt động quản trị mà không có cấp truy cập uỷ quyền nào, hoặc có thể rõ ràng hơn và đặt các hoạt động đó thành NO_ACCESS
. Dù bằng cách nào, điều này sẽ ngăn các thao tác đó được thực thi từ máy khách hoặc trong các bối cảnh không có đặc quyền khác.
Sử dụng SDK với trình mô phỏng Data Connect
Trong môi trường thử nghiệm và nguyên mẫu, bạn có thể thực hiện việc tạo dữ liệu và các thao tác khác trên dữ liệu cục bộ. Admin SDK cho phép bạn đơn giản hoá quy trình công việc vì nó bỏ qua bước xác thực và uỷ quyền cho các luồng cục bộ.
SDK quản trị Firebase tự động kết nối với trình mô phỏng Data Connect khi bạn đặt biến môi trường DATA_CONNECT_EMULATOR_HOST
:
export DATA_CONNECT_EMULATOR_HOST="127.0.0.1:8080"
Để biết thêm thông tin, hãy xem các bài viết sau:
- Hướng dẫn về cách gieo hạt dữ liệu trong quá trình phát triển cục bộ
- Tài liệu về trình mô phỏng Data Connect.
Triển khai các trường hợp sử dụng phổ biến
Admin SDK được cung cấp cho các thao tác đặc quyền trên dữ liệu quan trọng của bạn.
API dành cho Data Connect bao gồm giao diện executeGraphql
đọc-ghi và giao diện executeGraphqlRead
chỉ đọc.
Quản lý dữ liệu người dùng
Một trường hợp sử dụng thông thường của Admin SDK là quản lý dữ liệu người dùng.
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" } } }
Tiếp theo là gì?
- Xem lại API cho Admin SDK.
- Sử dụng bảng điều khiển CLI Firebase và Google Cloud cho các thao tác quản lý dự án khác, chẳng hạn như quản lý giản đồ và trình kết nối cũng như quản lý dịch vụ và cơ sở dữ liệu.