かとのぼのマイコード・マイライフ

ウェブサービス開発者のブログ

Firebase Cloud StorageとCloud Functionの設定の基礎

Firebaseの機能、Cloud storageとCloud Functionを使う必要がが出てきたので設定の基礎の基礎のメモです。

Firestoreの情報は多いですが、Cloud storageとCloud Functionは結構情報が少ないです。

Cloud Storegeは基本的にFirestoreが使ったことがあれば問題なく使える

storageは、firebaseの初期化の時にすでに機能として使えるようになっています。注意がいるとすれば、その初期化のときにちゃんとプロジェクト名が「storageBucket」に入っているか見るくらいです。

  var config = {
    apiKey
: "<API_KEY>",
    authDomain
: "<PROJECT_ID>.firebaseapp.com",
    databaseURL
: "https://<DATABASE_NAME>.firebaseio.com",
    projectId
: "<PROJECT_ID>",
    storageBucket
: "<BUCKET>.appspot.com",
    messagingSenderId
: "<SENDER_ID>",
 
};
  firebase
.initializeApp(config);
 
<script src="https://www.gstatic.com/firebasejs/5.5.2/firebase.js"></script>
<script>
 
// Initialize Firebase
 
// TODO: Replace with your project's customized code snippet
 
var config = {
    apiKey
: "<API_KEY>",
    authDomain
: "<PROJECT_ID>.firebaseapp.com",
    databaseURL
: "https://<DATABASE_NAME>.firebaseio.com",
    projectId
: "<PROJECT_ID>",
    storageBucket
: "<BUCKET>.appspot.com",
    messagingSenderId
: "<SENDER_ID>",
 
};
  firebase
.initializeApp(config);
</script>
 
<script src="https://www.gstatic.com/firebasejs/5.5.2/firebase.js"></script>
<script>
 
// Initialize Firebase
 
// TODO: Replace with your project's customized code snippet
 
var config = {
    apiKey
: "<API_KEY>",
    authDomain
: "<PROJECT_ID>.firebaseapp.com",
    databaseURL
: "https://<DATABASE_NAME>.firebaseio.com",
    projectId
: "<PROJECT_ID>",
    storageBucket
: "<BUCKET>.appspot.com",
    messagingSenderId
: "<SENDER_ID>",
 
};
  firebase
.initializeApp(config);
</script>

 この「storageBucket」の部分ですね。これが自分のプロジェクトに書かれていればFirestoreと同じような感じで使うことができます。

使うときは、

Create a Storage Reference on Web  |  Firebase

の記事を見てください。

 

問題はFunctionの方かも

基本的な知識ですが以下を参照してください。

Get started: write and deploy your first functions  |  Firebase

Cloud Functions for Firebaseとは? - Qiita

Functionは基本的にはHostingから呼び出して処理させる形式になります。そのため、ここにあるように、「firebase init」でFunctionを追加したのち、実際にデプロイまでする必要があります(Functionだけデプロイができる)。

私は、デプロイをしていないでずっと反応がないなと試行錯誤していたので、このことを知った時には本当に悲しい思いをしました。

 

以上、備忘録でした。