خدمات و پایگاه داده های Data Connect را مدیریت کنید

پروژه‌های Data Connect شما از دو عنصر زیرساختی اصلی تشکیل شده‌اند:

  • یک یا چند نمونه سرویس Data Connect
  • یک یا چند Cloud SQL برای نمونه‌های PostgreSQL

این راهنما نحوه راه‌اندازی و مدیریت نمونه‌های سرویس Data Connect شما را مورد بحث قرار می‌دهد و نحوه مدیریت نمونه‌های Cloud SQL مرتبط شما را معرفی می‌کند.

پیکربندی مناطق برای Firebase Data Connect

پروژه‌هایی که از Data Connect استفاده می‌کنند، نیاز به تنظیم موقعیت مکانی دارند.

وقتی یک نمونه سرویس Data Connect جدید ایجاد می‌کنید، از شما خواسته می‌شود که محل سرویس را انتخاب کنید.

مکان‌های موجود

سرویس‌های Data Connect می‌توانند در مناطق زیر ایجاد شوند.

  • آسیا-شرق1
  • آسیا-شرق۲
  • آسیا-شمال شرقی1
  • آسیا-شمال شرقی۲
  • آسیا-شمال شرقی۳
  • آسیا-جنوبی1
  • آسیا-جنوب شرقی1
  • آسیا-جنوب شرقی۲
  • استرالیا-جنوب شرقی1
  • استرالیا-جنوب شرقی2
  • اروپای مرکزی۲
  • شمال اروپا1
  • اروپا-جنوب غربی1
  • اروپا-غرب1
  • اروپا-غرب ۲
  • اروپا-غرب۳
  • اروپا-غرب ۴
  • اروپا-غرب ۶
  • اروپا-غرب۸
  • اروپا-غرب9
  • من-وست1
  • آمریکای شمالی-شمال شرقی1
  • آمریکای شمالی-شمال شرقی۲
  • آمریکای جنوبی-شرق1
  • جنوب آمریکا-غرب1
  • ایالات متحده-مرکزی1
  • ایالات متحده-شرق1
  • ایالات متحده-شرق۴
  • ایالات متحده-جنوب1
  • غرب آمریکا1
  • ایالات متحده-غرب۲
  • ایالات متحده-غرب۳
  • ایالات متحده-غرب۴

مدیریت نمونه‌های سرویس Data Connect

ایجاد خدمات

برای ایجاد یک سرویس جدید، از کنسول Firebase استفاده کنید یا مقداردهی اولیه پروژه محلی را با استفاده از Firebase CLI اجرا کنید. این گردش‌های کاری یک سرویس Data Connect جدید ایجاد می‌کنند.

این جریان‌ها همچنین شما را در موارد زیر راهنمایی می‌کنند:

  • تأمین یک نمونه جدید Cloud SQL (ردیف بدون هزینه)
  • اتصال یک نمونه Cloud SQL موجود به Data Connect (طرح Blaze)

مدیریت کاربران

Data Connect ابزارهایی را برای مدیریت دسترسی کاربران ارائه می‌دهد که از اصل حداقل امتیاز (اعطای حداقل مجوزهای لازم به هر کاربر یا حساب سرویس برای پشتیبانی از قابلیت‌های مورد نیاز) و مفهوم کنترل دسترسی مبتنی بر نقش (RBAC) (با نقش‌های از پیش تعریف شده برای مدیریت مجوزهای پایگاه داده، ساده‌سازی مدیریت امنیت) پیروی می‌کنند.

برای اضافه کردن اعضای پروژه به عنوان کاربرانی که می‌توانند نمونه‌های Data Connect در پروژه شما تغییر دهند، از کنسول Firebase برای انتخاب نقش‌های کاربری از پیش تعریف شده مناسب استفاده کنید.

این نقش‌ها با استفاده از مدیریت هویت و دسترسی (IAM) مجوزها را اعطا می‌کنند. یک نقش مجموعه‌ای از مجوزها است. وقتی نقشی را به یک عضو پروژه اختصاص می‌دهید، تمام مجوزهایی را که آن نقش در بر دارد، به آن عضو پروژه اعطا می‌کنید. برای اطلاعات بیشتر به لینک زیر مراجعه کنید:

نقش‌ها را برای فعال کردن گردش‌های کاری خاص انتخاب کنید

نقش‌های IAM به گردش‌های کاری Firebase CLI این امکان را می‌دهند که پروژه‌های Data Connect خود را مدیریت کنید.

دستور CLI، سایر گردش‌های کاری نقش(های) مورد نیاز
firebase init dataconnect
  • بدون مجوز (هنگامی که یک نمونه Cloud SQL را پیوند نمی‌دهید)
  • roles/cloudsql.admin (هنگام ایجاد یک نمونه Cloud SQL)
firebase deploy -–only dataconnect
  • کانکتورهای firebaseddataconnect.connectors.*
  • خدمات اتصال مبتنی بر داده آتش.*
  • طرحواره‌های firebasedataconnect.*
  • نقش‌ها/cloudsql.admin
firebase dataconnect:sql:diff
  • خدمات اتصال مبتنی بر داده آتش.*
  • طرحواره‌های firebasedataconnect.*
firebase dataconnect:sql:migrate
  • roles/cloudsql.admin روی نمونه‌ی Cloud SQL هدف
firebase dataconnect:sql:grant
  • roles/cloudsql.admin روی نمونه‌ی Cloud SQL هدف

نظارت بر عملکرد سرویس Data Connect

درک عملکرد خدمات

عملکرد هر دو سرویس Data Connect و Cloud SQL برای سرویس PostgreSQL می‌تواند بر تجربه شما تأثیر بگذارد.

  • برای سرویس Cloud SQL برای PostgreSQL، به راهنمایی‌های کلی در مستندات Quotas and limits مراجعه کنید.
  • برای سرویس Data Connect ، سهمیه‌ای برای درخواست‌های GraphQL وجود دارد که بر نرخ فراخوانی و اجرای کوئری‌ها تأثیر می‌گذارد:

    • سهمیه کلی هر پروژه ۶۰۰۰ درخواست در دقیقه از رابط‌های برنامه کلاینت.
    • سهمیه کلی هر پروژه ۶۰۰۰ درخواست در دقیقه از Firebase Admin SDK و از REST API.
    • سهمیه هر کاربر ۱۲۰۰ درخواست در دقیقه. در اینجا، هر کاربر به این معنی است که این محدودیت برای درخواست‌های آغاز شده توسط یک آدرس IP اعمال می‌شود، چه از یک برنامه کلاینت، چه از Firebase Admin SDK یا از REST API.

    اگر با این محدودیت‌های سهمیه مواجه شدید، لطفاً برای تنظیم سهمیه مربوطه با پشتیبانی Firebase تماس بگیرید.

نظارت بر عملکرد، میزان استفاده و صورتحساب خدمات

شما می‌توانید درخواست‌ها، خطاها و نرخ عملیات را هم به صورت سراسری و هم به ازای هر عملیات در کنسول Firebase رصد کنید.

مدیریت نمونه‌های SQL ابری

محدودیت‌های دوره آزمایشی رایگان

ویژگی‌های Cloud SQL برای PostgreSQL زیر در دوره آزمایشی رایگان ۳ ماهه پشتیبانی نمی‌شوند:

  • نسخه‌های PostgreSQL غیر از ۱۵.x
  • استفاده از Cloud SQL موجود برای نمونه‌های PostgreSQL
  • رده دستگاه متفاوت از db-f1-micro
  • تغییر منابع نمونه شما، مانند فضای ذخیره‌سازی، حافظه، پردازنده
  • کپی‌ها را بخوانید
  • آدرس IP نمونه خصوصی
  • دسترسی بالا (چند منطقه‌ای)؛ فقط نمونه‌های تک منطقه‌ای پشتیبانی می‌شوند
  • نسخه اینترپرایز پلاس
  • پشتیبان‌گیری خودکار
  • افزایش خودکار فضای ذخیره‌سازی

محدودیت‌های پایگاه‌های داده موقت برای جذب نیرو

وقتی Data Connect به پروژه Firebase خود اضافه می‌کنید، می‌توانید شروع به نمونه‌سازی اولیه مدل داده خود کنید و داده‌ها را فوراً بارگذاری کنید، زیرا داده‌ها در یک پایگاه داده موقت ذخیره می‌شوند. توجه داشته باشید که آماده‌سازی نمونه دائمی Cloud SQL برای PostgreSQL شما از ۵ تا ۲۰ دقیقه طول می‌کشد. هر داده اولیه‌ای که بارگذاری می‌کنید، پس از آماده‌سازی، به طور خودکار به پایگاه داده دائمی PostgreSQL شما منتقل می‌شود.

این پایگاه داده موقت برای کاوش در طرحواره و عملیات CRUD شما عالی است.

اگر نمی‌خواهید از پایگاه داده موقت استفاده کنید، منتظر بمانید تا نمونه Cloud SQL شما آماده شود.

پایگاه داده موقت، یک پایگاه داده PostgreSQL نیست و تمام ویژگی‌های PostgreSQL را ارائه نمی‌دهد.

محدودیت‌های قابل توجه عبارتند از:

  • حجم پایگاه داده باید کمتر از ۱ مگابایت باشد
  • تعداد ردیف‌های هر جدول باید کمتر از ۱۰۰۰ باشد
  • کمتر از ۱ پرس‌وجو در ثانیه
  • عدم پشتیبانی از جستجوی متن کامل
  • عدم پشتیبانی از تولید جاسازی برداری
  • از ویژگی‌های خام SQL مانند @view و @col(dataType) پشتیبانی نمی‌کند.

مدیریت نمونه‌های SQL ابری

به طور کلی، شما می‌توانید نمونه‌های Cloud SQL خود را با استفاده از کنسول Google Cloud برای انجام گردش‌های کاری زیر مدیریت کنید.

  • نمونه‌های Cloud SQL را متوقف و مجدداً راه‌اندازی کنید
  • ایجاد و حذف پایگاه‌های داده ابری SQL (در داخل نمونه‌ها)
  • شروع نمونه‌های پایگاه داده PostgreSQL با پرچم‌ها و استفاده از افزونه‌های متنوع
  • نظارت بر عملکرد با ویژگی‌های مشاهده‌پذیری Cloud SQL در کنسول Google Cloud
  • مدیریت دسترسی و امنیت Cloud SQL با ویژگی‌هایی مانند IAM، مدیریت مخفی، رمزگذاری داده‌ها و پروکسی احراز هویت
  • کاربران Cloud SQL را اضافه، حذف و مدیریت کنید.

برای این موارد و سایر گردش‌های کاری، به مستندات PostgreSQL در Cloud SQL مراجعه کنید.

اعطای نقش‌های کاربری PostgreSQL

Data Connect ابزارهایی را برای مدیریت دسترسی کاربران ارائه می‌دهد که از اصل حداقل امتیاز (اعطای حداقل مجوزهای لازم به هر کاربر یا حساب سرویس برای پشتیبانی از قابلیت‌های مورد نیاز) و مفهوم کنترل دسترسی مبتنی بر نقش (RBAC) (با نقش‌های از پیش تعریف شده برای مدیریت مجوزهای پایگاه داده، ساده‌سازی مدیریت امنیت) پیروی می‌کنند.

در برخی موارد، ممکن است بخواهید مستقیماً از طریق یک کلاینت SQL مورد نظر خود، مثلاً با استفاده از Cloud Run ، Cloud Functions یا GKE، به پایگاه داده Cloud SQL مدیریت‌شده توسط Data Connect متصل شوید.

برای فعال کردن چنین اتصالاتی، باید مجوزهای SQL را از طریق موارد زیر اعطا کنید:

  • اختصاص نقش IAM roles/cloudsql.client به حساب کاربری یا سرویسی که نیاز به اتصال به نمونه دارد، چه از طریق کنسول Google Cloud و چه با استفاده از gcloud CLI
  • اعطای نقش PostgreSQL لازم با استفاده از Firebase CLI

نقش Cloud SQL IAM را تعیین کنید

برای اطلاعات بیشتر در مورد کار با Cloud SQL برای PostgreSQL جهت اختصاص نقش IAM roles/cloudsql.client ، به بخش نقش‌ها و مجوزها مراجعه کنید.

اعطای نقش‌های PostgreSQL

با استفاده از رابط خط فرمان فایربیس ( Firebase CLI)، می‌توانید با استفاده از دستور firebase dataconnect:sql:grant ، نقش‌های از پیش تعریف‌شده‌ی PostgreSQL را به کاربران یا حساب‌های سرویس مرتبط با پروژه خود اعطا کنید.

برای مثال، برای اعطای نقش نویسنده، این دستور را در CLI اجرا کنید:

firebase dataconnect:sql:grant --role writer

برای جزئیات، به راهنمای مرجع CLI مراجعه کنید.

ادغام Cloud SQL موجود برای پایگاه‌های داده PostgreSQL

جریان پیش‌فرض تأمین و مدیریت پایگاه داده فرض می‌کند که پروژه شما از یک پایگاه داده جدید (greenfield) استفاده می‌کند و هنگامی که firebase deploy فراخوانی می‌کنید، Data Connect تغییرات طرحواره پایگاه داده را که باید انجام شود نمایش می‌دهد و پس از تأیید شما، هرگونه مهاجرت را انجام می‌دهد.

برای پایگاه‌های داده موجود (brownfield)، ممکن است گردش کار خودتان را برای مدیریت طرحواره‌ها داشته باشید و نتوانید از ابزار Data Connect برای مهاجرت‌ها استفاده کنید، اما می‌خواهید از پایگاه داده خود در یک پروژه Data Connect استفاده کنید تا از مزایای تولید SDK آن برای موبایل و وب، مجوزدهی مبتنی بر پرس‌وجو، مدیریت اتصال کلاینت و موارد دیگر بهره‌مند شوید.

این بخش راهنمایی‌هایی در مورد مورد دوم ارائه می‌دهد: ادغام پایگاه‌های داده موجود با Data Connect .

ادغام یک پایگاه داده موجود در یک پروژه Data Connect

گردش کار برای ادغام یک پایگاه داده موجود عموماً شامل این مراحل است:

  1. در طول راه‌اندازی پروژه Data Connect در کنسول Firebase ، نمونه و پایگاه داده را انتخاب کنید.
  2. با استفاده از رابط خط فرمان Firebase ، دستور firebase dataconnect:sql:setup اجرا کنید و گزینه‌ی مدیریت مهاجرت‌های SQL توسط Data Connect را غیرفعال کنید.

    برای جلوگیری از تغییرات در طرحواره پایگاه داده شما که توسط ابزار سفارشی شما هدایت نمی‌شوند، دستور setup نقش‌های خواننده و نویسنده مناسب را تعیین می‌کند، اما نقش owner را تعیین نمی‌کند. اطلاعات بیشتر در مورد دستور setup و نقش‌های PostgreSQL در راهنمای مرجع CLI موجود است.

  3. یک طرحواره Data Connect GraphQL بنویسید که با طرحواره پایگاه داده شما مطابقت داشته باشد.

    شما فقط زمانی می‌توانید طرحواره، کوئری‌ها و جهش‌های GraphQL خود را پیاده‌سازی کنید که طرحواره GraphQL شما با طرحواره PostgreSQL شما سازگار باشد.

    برای ساده‌سازی هم‌ترازی هر دو طرح، دستور firebase dataconnect:sql:diff را ارائه می‌دهیم که دستورات SQL مورد نیاز برای مهاجرت پایگاه داده شما را در اختیارتان قرار می‌دهد. می‌توانید از این دستور برای اصلاح مکرر طرح GraphQL خود برای مطابقت با طرح پایگاه داده موجود خود استفاده کنید.

  4. در ادامه، می‌توانید به سرعت روی طرحواره، کوئری‌ها و جهش GraphQL خود در محیط توسعه محلی خود تکرار کنید. سپس، در صورت رضایت، می‌توانید از firebase dataconnect:sql:diff برای به دست آوردن دستورات مهاجرت SQL که می‌توانید با استفاده از ابزارها و جریان‌های سفارشی خود در PostgreSQL اعمال کنید، استفاده کنید.

  5. از طرف دیگر، می‌توانید ابتدا تغییرات را مستقیماً در پایگاه داده PostgreSQL خود ایجاد کنید، سپس سعی کنید آنها را به طرح GraphQL خود برگردانید. ما رویکرد GraphQL-first را توصیه می‌کنیم، زیرا ممکن است مواردی وجود داشته باشد که تغییرات طرحواره پشتیبانی نشوند. علاوه بر این، اگر تغییراتی را اعمال کنید که طرحواره PostgreSQL شما را با کوئری‌های کانکتور مستقر شده یا جهش ناسازگار کند، ممکن است آن کانکتورها از کار بیفتند یا عملکرد نادرستی داشته باشند.