Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

با Google Cloud ادغام شوید

ابر ذخیره سازی برای فایربیس است شدیدا با یکپارچه گوگل ابر . فایربیس SDK ها برای ذخیره سازی ابر فروشگاه فایل به طور مستقیم در سطل گوگل ابر ذخیره سازی ، و به عنوان برنامه خود را رشد می کند، شما به راحتی می توانید ادغام دیگر خدمات Google Cloud، مانند محاسبه موفق مانند موتور برنامه و یا ابر توابع، و یا رابط های برنامه کاربردی یادگیری ماشین مانند ابر چشم انداز و یا گوگل ترجمه کردن.

Firebase از حساب های سرویس Google Cloud برای مدیریت و مدیریت سرویس ها بدون به اشتراک گذاشتن اعتبار کاربر استفاده می کند. هنگامی که شما یک پروژه فایربیس که با استفاده از ذخیره سازی ابر ایجاد، شما ممکن است متوجه یک حساب کاربری سرویس مربوطه حال حاضر در دسترس در پروژه خود: service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com . این را مشاهده کنید راهنمای پشتیبانی فایربیس برای اطلاعات بیشتر.

در زیر هود، فایربیس SDK ها برای ذخیره سازی ابر با استفاده از سطل به طور پیش فرض در برنامه موتور ردیف رایگان. این به شما امکان می دهد بدون نیاز به قرار دادن کارت اعتباری یا فعال کردن یک حساب صورتحساب ابر ، سریعاً با Cloud Storage شروع به کار کنید. همچنین به شما امکان می دهد داده ها را به راحتی بین Firebase و یک پروژه Google Cloud به اشتراک بگذارید.

ادغام با Google Cloud ، از جمله وارد کردن سطل های موجود در Cloud Storage ، نیاز به یک پروژه Firebase در طرح Blaze دارد. اطلاعات بیشتر در مورد برنامه های در ما بیشتر بدانید صفحه قیمت گذاری .

Google Cloud Storage

شما می توانید با استفاده از ابر API های ذخیره سازی گوگل به دسترسی به فایل های آپلود از طریق SDK ها فایربیس برای ابر ذخیره سازی برای انجام عملیات پیچیده تر، مانند کپی کردن یا جابجاکردن یک فایل، یا فهرست تمام فایل های موجود در یک مرجع، به خصوص.

این مهم است که توجه داشته باشید که این درخواست ها با استفاده از گوگل ابر ذخیره سازی گزینه های کنترل دسترسی ، به جای فایربیس احراز هویت و ابر ذخیره سازی قوانین امنیتی.

API ها

علاوه بر SDK های Firebase برای ذخیره سازی ابری ، بسته به کاری که می خواهید انجام دهید ، چندین روش دیگر نیز برای دسترسی به داده های ذخیره شده در سطل ذخیره سازی ابر وجود دارد. اگر شما دسترسی به داده ها در سرور، ما ارائه می دهیم سرور کتابخانه سمت، و همچنین به عنوان یک JSON و S3 سازگار XML API آرام، و یا اگر شما به تغییرات اسکریپت نیاز دارید و یا انجام دیگر کارهای اداری، ما یک ابزار خط فرمان است که کردم مفید خواهد بود

SDK سرور Google Cloud

Google Cloud SDK سرور با کیفیت بالا برای تعدادی از محصولات ابری ، از جمله Cloud Storage ارائه می دهد. این کتابخانه در دسترس هستند از Node.js ، جاوا ، رفتن ، پایتون ، پی اچ پی ، و روبی .

برای کسب اطلاعات بیشتر ، از جمله دستورالعمل های نصب ، احراز هویت و عیب یابی ، از اسناد مربوط به پلتفرم پیوند داده شده در بالا مشورت کنید.

مثال استفاده از Google Cloud Storage SDK در زیر نشان داده شده است:

Node.js

    // Require gcloud
    var gcloud = require('google-cloud');

    // Enable Cloud Storage
    var gcs = gcloud.storage({
      projectId: 'grape-spaceship-123',
      keyFilename: '/path/to/keyfile.json'
    });

    // Reference an existing bucket.
    var bucket = gcs.bucket('my-existing-bucket');

    // Upload a local file to a new file to be created in your bucket.
    bucket.upload('/photos/zoo/zebra.jpg', function(err, file) {
      if (!err) {
        // "zebra.jpg" is now in your bucket.
      }
    });

    // Download a file from your bucket.
    bucket.file('giraffe.jpg').download({
      destination: '/photos/zoo/giraffe.jpg'
    }, function(err) {});
    

جاوا

    // Enable Cloud Storage
    Storage storage = StorageOptions.builder()
      .authCredentials(AuthCredentials.createForJson(new FileInputStream("/path/to/my/key.json"))
      .build()
      .service();

    // Upload a local file to a new file to be created in your bucket.
    InputStream uploadContent = ...
    BlobId blobId = BlobId.of("my-existing-bucket", "zebra.jpg");
    BlobInfo blobInfo = BlobInfo.builder(blobId).contentType("text/plain").build();
    Blob zebraBlob = storage.create(blobInfo, content);

    // Download a file from your bucket.
    Blob giraffeBlob = storage.get("my-existing-bucket", "giraffe.jpg", null);
    InputStream downloadContent = giraffeBlob.getInputStream();
    

برو

    // Enable Cloud Storage
    client, err := storage.NewClient(ctx, option.WithServiceAccountFile("path/to/keyfile.json"))
    if err != nil {
        log.Fatal(err)
    }

    // Download a file from your bucket.
    rc, err := client.Bucket("my-existing-bucket").Object("giraffe.jpg").NewReader(ctx)
    if err != nil {
        log.Fatal(err)
    }
    defer rc.Close()
    body, err := ioutil.ReadAll(rc)
    if err != nil {
        log.Fatal(err)
    }
    

پایتون

    # Import gcloud
    from google.cloud import storage

    # Enable Cloud Storage
    client = storage.Client()

    # Reference an existing bucket.
    bucket = client.get_bucket('my-existing-bucket')

    # Upload a local file to a new file to be created in your bucket.
    zebraBlob = bucket.get_blob('zebra.jpg')
    zebraBlob.upload_from_filename(filename='/photos/zoo/zebra.jpg')

    # Download a file from your bucket.
    giraffeBlob = bucket.get_blob('giraffe.jpg')
    giraffeBlob.download_as_string()
    

پی اچ پی

    // Require gcloud
    require 'vendor/autoload.php';
    use Google\Cloud\Storage\StorageClient;

    // Enable Cloud Storage
    $storage = new StorageClient([
        'projectId' => 'grape-spaceship-123'
    ]);

    // Reference an existing bucket.
    $bucket = $storage->bucket('my-existing-bucket');

    // Upload a file to the bucket.
    $bucket->upload(
        fopen('/photos/zoo/zebra.jpg', 'r')
    );

    // Download a file from your bucket.
    $object = $bucket->object('giraffe.jpg');
    $object->downloadToFile('/photos/zoo/giraffe.jpg');
    

یاقوت

    # Require gcloud
    require "google/cloud"

    # Enable Cloud Storage
    gcloud = Google::Cloud.new "grape-spaceship-123", "/path/to/keyfile.json"
    storage = gcloud.storage

    # Reference an existing bucket.
    bucket = storage.bucket "my-existing-bucket"

    # Upload a file to the bucket.
    bucket.create_file "/photos/zoo/zebra.jpg", "zebra.jpg"

    # Download a file from your bucket.
    file = bucket.file "giraffe.jpg"
    file.download "/photos/zoo/#{file.name}"
    

REST API

اگر شما در حال استفاده از یک زبان بدون کتابخانه مشتری، می خواهم به انجام کاری است که کتابخانه های مشتری انجام نمی، و یا فقط یک سرویس گیرنده HTTP مورد علاقه که شما می خواهم به استفاده از ترجیح می دهند، ارائه می دهد گوگل ابر ذخیره سازی رابط های برنامه کاربردی برای هر دو JSON و XML به

علاوه بر این رابط های برنامه کاربردی دسترسی به داده ها ذخیره سازی، به مدیریت سطل ابر ذخیره سازی برای استفاده در پروژه فایربیس، شما می توانید با استفاده از ذخیره سازی ابر برای فایربیس API .

gsutil

gsutil یک ابزار خط فرمان است که به شما دسترسی مستقیم به ابر ذخیره سازی است. شما می توانید با استفاده از gsutil به انجام طیف گسترده ای از سطل و مدیریت شی کارها، از جمله:

  • بارگذاری ، بارگیری و حذف اشیاء.
  • فهرست سطل ها و اشیاء.
  • جابجایی ، کپی و تغییر نام اشیاء.
  • ویرایش شیء و سطل ACL.

gsutil برای سایر عملیات پیشرفته، از جمله انتقال فایل از یک دایرکتوری به دایرکتوری دیگر، و یا حذف تمام فایل های زیر یک مکان خاص اجازه می دهد.

حرکت تمام فایل ها از یک مرجع به دیگری است به آسانی به عنوان:

gsutil mv gs://bucket/old/reference gs://bucket/new/reference

دسته ای حذف تمام فایل های زیر یک مرجع به طور مشابه شهودی است:

# Delete all files under a path
gsutil rm -r gs://bucket/reference/to/delete

# Delete all the files in a bucket but not the bucket gsutil rm -r gs://bucket/**

# Delete all the files AND the bucket # Removing the default bucket will break the Firebase SDKs for Cloud Storage and is strongly discouraged gsutil rm -r gs://bucket

درخواست نرخ ها

Google Cloud Storage یک سرویس بسیار مقیاس پذیر است که از فناوری مقیاس خودکار برای دستیابی به نرخ درخواست بسیار بالا استفاده می کند.

Google Cloud Storage یک سرویس چند مستأجر است ، به این معنی که کاربران مجموعه ای از منابع اصلی مشترک را به اشتراک می گذارند. به منظور استفاده بهینه از این منابع مشترک ، سطل ها دارای ظرفیت IO اولیه هستند.

همانطور که قصد دارید Cloud Storage for Firebase را در برنامه خود ادغام کنید ، به حداقل نرخ درخواست برنامه خود برای عملکرد خوب و درخواست های کارآمد فکر کنید. دستورالعمل بررسی در مورد نرخ درخواست ، و به خصوص ramping تا نرخ درخواست .

نسخه بندی شی

آیا تا به حال چیزی را تصادفی حذف کرده اید و نسخه پشتیبان تهیه نکرده اید؟ پشتیبانی گوگل ابر ذخیره سازی شی نسخه ، راه خودکار به عقب داده های خود را، و بازگرداندن از کسانی که پشتیبان گیری فراهم می کند که. شما می توانید شی را قادر می سازد با استفاده از نسخه gsutil versioning set از دستور:

gsutil versioning set on gs://<your-cloud-storage-bucket>

Cloud Storage همیشه جدیدترین نسخه را انتخاب می کند ، بنابراین اگر می خواهید یک شی را بازیابی کنید ، باید از یکی از API ها یا ابزارهای دیگر بالا استفاده کنید تا شی مورد نظر را به عنوان جدیدترین تنظیم کنید.

مدیریت چرخه عمر شی

داشتن قابلیت بایگانی یا حذف خودکار فایل های کهنه یک ویژگی مفید برای بسیاری از برنامه ها است. خوشبختانه، گوگل ابر ذخیره سازی فراهم می کند شی چرخه مدیریت ، که اجازه می دهد تا شما را به حذف و یا اشیاء بایگانی پس از یک مقدار مشخصی از زمان است.

یک برنامه اشتراک گذاری عکس را در نظر بگیرید که می خواهید همه عکس ها ظرف یک روز حذف شوند. شما می توانید یک سیاست چرخه عمر شی را به شرح زیر تنظیم کنید:

// lifecycle.json
{
  "lifecycle": {
    "rule":
    [
      {
        "action": {"type": "Delete"},
        "condition": {"age": 1}
      }
    ]
  }
}

و استقرار آن با استفاده از gsutil lifecycle set دستور:

gsutil lifecycle set lifecycle.json gs://<your-cloud-storage-bucket>

توجه داشته باشید که این مورد در مورد تمام فایل های موجود در سطل صدق می کند ، بنابراین اگر پشتیبان های مهم کاربر را ذخیره می کنید که می خواهید به مدت طولانی در کنار عکس های جانبی که می خواهید روزانه آنها را حذف کنید ذخیره کنید ، ممکن است بخواهید از دو سطل جداگانه استفاده کنید یا حذف ها را به صورت دستی انجام دهید. با gsutil یا سرور خود را.

موتور برنامه

App Engine یک "پلتفرم به عنوان سرویس" است که به طور خودکار منطق پشتیبان را در پاسخ به میزان ترافیک دریافتی مقیاس می کند. فقط کد پشتیبان خود را بارگذاری کنید و Google در دسترس بودن برنامه شما را مدیریت می کند. هیچ سروری برای تهیه یا نگهداری شما وجود ندارد. App Engine یک راه سریع و آسان برای افزودن قدرت پردازش اضافی یا اجرای مطمئن به برنامه Firebase شما است.

SDK های Firebase برای ذخیره سازی ابری از سطل پیش فرض App Engine استفاده می کنند ، به این معنی که اگر یک برنامه App Engine بسازید ، می توانید از API های App Engine داخلی برای اشتراک گذاری داده ها بین Firebase و App Engine استفاده کنید. این برای کدگذاری صدا ، کدگذاری ویدئو و تبدیل تصویر و سایر پردازش های پس زمینه فشرده محاسبات مفید است.

جاوا، پایتون، و رفتن محیط استاندارد برای موتور App شامل API تصاویر موتور برنامه ( جاوا ، پایتون ، که می تواند تغییر اندازه، چرخش، تلنگر، و برش تصویر، و همچنین بازگشت یک تصویر در خدمت URL که اجازه می دهد تا برای تحولات سمت سرویس گیرنده ، مشابه Cloudinary و Imgix.

هنگام وارد کردن یک پروژه گوگل ابر موجود را به فایربیس، اگر شما می خواهید را به هر گونه موتور App های موجود در اشیاء فایربیس دسترس است، شما نیاز به مجموعه ای از کنترل دسترسی پیش فرض بر روی اشیاء خود را به اجازه فایربیس برای دسترسی به آنها با اجرای دستور زیر را با استفاده gsutil :

gsutil -m acl ch -r -u service-<project number;gt@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

مشکلات شناخته شده

دو مورد شناخته شده وجود دارد که نمی توانید برنامه App Engine خود را وارد کنید:

  1. این پروژه شامل یک برنامه سابق App Engine Datastore Master/Slave است.
  2. این پروژه دارای یک دامنه پیشوند پروژه ID، برای مثال: domain.com:project-1234 .

در هر یک از این موارد ، پروژه از Cloud Storage for Firebase پشتیبانی نمی کند و برای استفاده از Cloud Storage باید یک پروژه جدید Firebase ایجاد کنید. تماس با پشتیبانی به طوری که ما می تواند به شما کمک کند.

توابع ابری Google (بتا)

توابع گوگل ابر ، مبتنی بر رویداد، راه حل محاسبه ناهمزمان سبک وزن است که اجازه می دهد تا به شما برای ایجاد کوچک، توابع تک منظوره که پاسخ دادن به رویدادها و بدون نیاز به مدیریت یک سرور و یا یک محیط زمان اجرا است. این توابع را می توان برای کدگذاری ویدئو ، طبقه بندی تصاویر با استفاده از یادگیری ماشین یا همگام سازی فراداده با پایگاه داده Realtime Firebase استفاده کرد. با سربار حتی کمتر از App Engine ، عملکردهای ابر سریعترین راه برای واکنش به تغییرات در ذخیره سازی ابر است.

Google Cloud Vision API

گوگل ابر چشم انداز API توسعه دهندگان را قادر می سازد به درک محتوای یک تصویر با کپسوله ماشین قدرتمند مدل یادگیری در آسان برای استفاده از API. به سرعت تصاویر را در هزاران دسته طبقه بندی می کند ، اشیاء و چهره های درون تصاویر را تشخیص می دهد ، کلمات چاپ شده موجود در تصاویر را پیدا کرده و می خواند ، محتوای توهین آمیز را شناسایی می کند و حتی تجزیه و تحلیل احساسات تصویر را ارائه می دهد.

Google Cloud Speech API

مشابه به API چشم انداز، گوگل ابر گفتار API توسعه دهندگان به متن عصاره را قادر می سازد از یک فایل صوتی ذخیره شده در ابر ذخیره سازی. API بیش از 80 زبان و انواع مختلف را تشخیص می دهد تا از پایگاه کاربر جهانی شما پشتیبانی کند. هنگامی که با ترکیب API گوگل ابر زبان طبیعی ، توسعه دهندگان می تواند هر دو عصاره متن خام و معنا استنباط در مورد آن متن. و اگر مخاطبان جهانی مورد نیاز است، زن و شوهر این کار را با API ترجمه گوگل برای ترجمه متن به 90+ زبان.