באמצעות ה-CLI של Firebase אפשר לנהל את פרויקטי Firebase בספריית פרויקטים מקומית עם בקרת גרסאות. הנתונים האלה כוללים שירותי Data Connect בפרויקטים, מחברים לשירותים האלה ומשאבים כמו מקורות של סכמות, שאילתות ומוטציות לכל מחבר. באמצעות ה-CLI תוכלו גם להתקין ולהפעיל את האמולטור של Firebase Data Connect. ה-CLI הוא חלופה יעילה לעבודה במסוף Firebase.
הוראות להתקנת הניסוי של CLI Firebase בתוכנית Private Preview, ופקודות CLI שקשורות ל-Data Connect, מפורטות במאמרי העזרה של CLI.
במדריך העזר הזה מוסבר:
- רשומות ספציפיות ל-Data Connect בקובץ התצורה של הפרויקט
firebase.json
. - הגדרות Data Connect ב-
dataconnect.yaml
וב-connector.yaml
. - תפקידי IAM שצריך להגדיר בפרויקטים שמשתמשים ב-Data Connect.
קובצי תצורה של פרויקטים ב-Firebase
חומר עזר בנושא קובץ התצורה firebase.json
משתמשים במפתחות dataconnect
כדי להגדיר שירות אחד או יותר של Data Connect בפרויקט.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
מסמך עזר בנושא תצורת dataconnect.yaml
בקובץ dataconnect.yaml
מאוחסנים פרטי תצורה לגבי המיקומים של מקורות הסכימה של האפליקציה, מקורות המחברים ומידע על החיבורים של מקורות הנתונים. הקובץ משמש גם כסימון של ספריית הפרויקט ב-CLI של Firebase.
המפתח schemaValidation
קובע את רמת אימות הסכימה שמתבצעת כשהסכמות מועברות במהלך הפריסה. אם לא הוגדר ערך, הפקודה dataconect:sql:migrate
צריכה להחיל שינויים תואמים ולהציג לכם הנחיות לפני שמבצעים שינויים מחמירים. אחרי ההגדרה, ההתנהגות היא:
- מצב
STRICT
. הסכימה של מסד הנתונים צריכה להתאים בדיוק להסכימה של האפליקציה כדי שאפשר יהיה לפרוס את הסכימה של האפליקציה. כל הטבלאות או העמודות שלא נמצאות בשימוש בסכימה Data Connect יימחקו מהמסד הנתונים. - מצב
COMPATIBLE
. כדי שאפשר יהיה לפרוס את הסכימה של האפליקציה, הסכימה של מסד הנתונים צריכה להיות תואמת להסכימה של האפליקציה. שינויים נוספים נחשבים אופציונליים. 'תואם' פירושו שהעברות של סכימות מבוססות על הסכימה של האפליקציה שאתם כותבים. רכיבים במסד הנתונים שלא משמשים את הסכימה של האפליקציה לא משתנים. לכן, אחרי הפריסה, יכול להיות שבקצה העורפי יהיו סכמות, טבלאות ועמודות שלא בשימוש.
הערכים של מפתחות אחרים בקובץ הזה מוסברים בתגובות שבהמשך.
# The top-level Firebase Data Connect YAML file.
# The Firebase Data Connect API version to target.
# Optional. Defaults to the latest version.
specVersion: string
# The ID of the Firebase Data Connect service resource.
# Required.
serviceId: string
# The location of the Firebase Data Connect service.
# Required.
location: string
# Required.
schema:
# Relative path to directory for schema definitions.
# Recursively loads all .gql files in this directory.
# Optional. If not present, defaults to ./schema.
source: string
# Datasource connection information.
# Required.
datasource:
# Required.
postgresql:
# The name of the PostgreSQL database.
# Required.
database: string
cloudSql:
# The ID of the CloudSQL instance resource.
# Required.
instanceId: string
# Schema validation mode for schema migrations.
# Defaults to unspecified/commented out, meaning you are prompted to
# review all changes during migration.
# If desired, uncomment and indicate one of "STRICT" or "COMPATIBLE".
schemaValidation: string
# Required.
# Relative paths to directories for connector definitions.
# Recursively loads all .gql files in the listed directories.
# All directories specified MUST contain a connector.yaml file.
connectorDirs: [string]
קובץ ה-YAML מבוסס על מבנה ברירת מחדל (שאפשר לשנות) של ספריות:
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
מסמך עזר בנושא תצורת Connector.yaml
אפשר להשתמש ב-connector.yaml
כדי להגדיר את שיטת ברירת המחדל לאימות ואת האפשרויות ליצירת SDK.
# The connector-level YAML file.
# Required. The connector name of the Firebase Data Connect connector resource.
connectorId: string
# Optional. If not specified, no generated libraries (i.e. type-safe SDKs) will be generated.
generate:
# Optional.
javascriptSdk:
# Path to the directory that will be updated with the latest generated
# web SDK.
# Required.
- outputDir: string
# Path to your package.json directory. If specified, the new generated sdk will be installed in this path.
# Optional. If not provided, the package will not be auto-installed for you.
- packageJsonDir: string
# Name of the package to be created.
# Optional. Defaults to @firebasegen/<connectorID>
- package: string
<option>: string
# Optional.
swiftSdk:
# Path to the directory that will be updated with the latest generated
# iOS Swift SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
# Optional.
kotlinSdk:
# Path to the directory that will be updated with the latest generated
# Android SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
הגדרת IAM לפרויקטים של Data Connect
תפקידי IAM מפורטים ל-Data Connect
התפקידים הבסיסיים והתפקידים המוגדרים מראש ב-Firebase ממופים לתפקידים ב-Data Connect ברמה נמוכה יותר. עיינו בטבלה של המיפוי.
כדי לנהל הקצאות ספציפיות של תפקידים ב-IAM ל-Data Connect ברמה מפורטת יותר, משתמשים במסוף Google Cloud.
תפקיד IAM | הרשאות |
---|---|
firebasedataconnect.googleapis.com/admin אדמין ב-Firebase Data Connect API התפקיד הזה כולל גם את התפקיד 'צפייה ב-Firebase Data Connect API'. היא שוות ערך ל- firebasedataconnect.* .התפקידים שמאפשרים את הפעולה הזו הם 'בעלים ב-Cloud', 'עריכה ב-Cloud', 'אדמין ב-Firebase' ו'אדמין פיתוח ב-Firebase'. |
גישה מלאה למשאבי Firebase Data Connect API, כולל נתונים.firebasedataconnect.googleapis.com/operations.delete firebasedataconnect.googleapis.com/operations.cancel firebasedataconnect.googleapis.com/services.create firebasedataconnect.googleapis.com/services.update firebasedataconnect.googleapis.com/services.delete firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead firebasedataconnect.googleapis.com/schemas.create firebasedataconnect.googleapis.com/schemas.update firebasedataconnect.googleapis.com/schemas.delete firebasedataconnect.googleapis.com/schemaRevisions.create firebasedataconnect.googleapis.com/schemaRevisions.delete firebasedataconnect.googleapis.com/connectors.create firebasedataconnect.googleapis.com/connectors.update firebasedataconnect.googleapis.com/connectors.delete firebasedataconnect.googleapis.com/connectorRevisions.create firebasedataconnect.googleapis.com/connectorRevisions.delete
|
firebasedataconnect.googleapis.com/viewer צפייה ב-Firebase Data Connect API הבעלים של הענן, עורך Cloud, Cloud Viewer, Firebase Admin, Firebase Viewer, Firebase Develop Admin ו-Firebase Develop Viewer. |
גישה לקריאה בלבד למשאבים של Firebase Data Connect API. התפקיד לא מקצה גישה לנתונים.cloudresourcemanager.googleapis.com/projects.list cloudresourcemanager.googleapis.com/projects.get firebasedataconnect.googleapis.com/operations.list firebasedataconnect.googleapis.com/operations.get firebasedataconnect.googleapis.com/locations.list firebasedataconnect.googleapis.com/locations.get firebasedataconnect.googleapis.com/services.list firebasedataconnect.googleapis.com/services.get firebasedataconnect.googleapis.com/schemas.list firebasedataconnect.googleapis.com/schemas.get firebasedataconnect.googleapis.com/schemaRevisions.list firebasedataconnect.googleapis.com/schemaRevisions.get firebasedataconnect.googleapis.com/connectors.list firebasedataconnect.googleapis.com/connectors.get firebasedataconnect.googleapis.com/connectorRevisions.list firebasedataconnect.googleapis.com/connectorRevisions.get
|
firebasedataconnect.googleapis.com/dataAdmin אדמין נתונים של Firebase Data Connect API התפקיד הזה ניתן על ידי בעלי Cloud, עורך Cloud, אדמין ב-Firebase ואדמין פיתוח פיתוח ב-Firebase. |
גישה מלאה לקריאה וכתיבה למקורות הנתונים.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Firebase Data Connect API Data Viewer התפקידים שמאפשרים גישה לכלי הזה הם: בעלים ב-Cloud, עורך ב-Cloud, אדמין ב-Firebase ואדמין פיתוח ב-Firebase. |
הרשאת קריאה בלבד למקורות הנתונים.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|