처음 Firebase를 만져보세요 (Functions)
소개
안녕하세요. 안녕하세요. 안녕하세요.
이번에는 Firebase의 Functions에 대해 살펴 보겠습니다.
그럼 빨리 가보자.
※이번에도 web 베이스(Vue.js)의 해설입니다.
Functions(Cloud Functions)란?
htps : // 푹 빠져라. 오, ぇ. 코 m / 드 cs / 훈 c 치온 s? hl = 그럼
Firebase 기능 및 HTTPS 요청에 의해 트리거된 이벤트에 따라 백엔드 코드를 자동으로 실행할 수 있습니다.
Cloud Functions 사용
준비
먼저 CLI에서 firebase 명령을 사용할 수 있도록 합니다.
다음 명령을 사용하여 firebase-tools를 설치합니다.
$ npm install -g firebase-tools
설치가 완료되면 성공적으로 설치되었거나 다음 명령을 사용하여 버전을 확인해 보십시오.
$ firebase --version
firebase에 로그인
먼저 CLI에서 firebase로 로그인합니다.
그 이유는 CLI에서 애플리케이션을 배포하고 싶기 때문입니다.
로그인은 다음 명령으로 할 수 있습니다.
$ firebase login
Cloud Functions 사용
적당한 디렉토리를 작성해 이동해, 다음을 두드립니다.
$ firebase init
다음에 끈다 프로젝트를 듣기 때문에 선택한다.
다음 Functions를 쓰는 언어를 듣기 때문에 선택한다.
※Javascript와 Typescript를 선택할 수 있습니다.
※이번은 javascript를 선택하므로 javascript를 사용한 해설을 합니다.
다음으로 ESLint를 사용할지 묻습니다. 특별한 조건이 없으므로 엔터를 누릅니다. (지정하지 않고 엔터를 하면 No가 됩니다)
마지막으로 npm에서 종속성을 설치할지 묻습니다. (지정하지 않고 엔터하면 Yes가 됩니다)Firebase initialization complete!
와 나오면 준비 종료.
덧붙여서 여러분이 만지는 파일입니다.
funstions/index.js
const functions = require('firebase-functions');
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
로컬 환경에서 실행
$ cd functions
$ npm run serve
배포
$ firebase deploy
컬렉션을 검색하는 API
const functions = require('firebase-functions');
// cloud functionでfirestoreを使うのに必要な設定は以下の3行
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
const db = admin.firestore();
exports.helloWorld = functions.https.onRequest((request, response) => {
//response.send("Hello from Firebase!");
db.collection("users")
.get()
.then((query) => {
var buff = [];
query.forEach((doc) => {
var data = doc.data();
buff.push({
"id": doc.id,
"name": data.name,
"age":data.age
});
});
response.json(buff);
})
.catch((error)=>{
response.send(error);
});
});
우선 여기에서 설명하는 것은 Cloud Functions에서 FireStore 등
Firebase의 기능을 사용하고 싶다면, 코멘트에서도 쓰고 있습니다만,
아래 코드를 추가하십시오.
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
const db = admin.firestore();
단지 여기서 문제가・・・
Firebase에 배포하면 데이터를 가져올 수 있지만 로컬에서는 데이터를 가져올 수 없습니다.
개발 중에 일부러 배포하여 인터넷에 공개한 후 동작 확인해야 합니다.
분명히 말하면 귀찮습니다.
다음은 로컬에서도 데이터를 검색하고 확인하는 방법입니다.
다음 절차를 수행하십시오.
③을 클릭 후 json 파일을 만들 수 있으므로 serviceAccountKey.json
로 이름을 바꾸고 프로젝트에 추가하십시오.
이 파일은 절대로 후회하지 마십시오.
참고로 Git 관리에 포함하지 않는 파일을 지정하기 위해 gitignore
의 맨 아래에 다음을 추가하십시오.
functions/serviceAccountKey.json
마지막으로 이와 같이 코드를 편집하면 로컬 환경에서도 움직이게 됩니다.
const functions = require('firebase-functions');
// cloud functionでfirestoreを使うのに必要な設定は以下の2行
const admin = require('firebase-admin')
//admin.initializeApp(functions.config().firebase)
const serviceAccount = require("../functions/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "*********************"
});
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
const db = admin.firestore();
exports.helloWorld = functions.https.onRequest((request, response) => {
//response.send("Hello from Firebase!");
db.collection("users")
.get()
.then((query) => {
var buff = [];
query.forEach((doc) => {
var data = doc.data();
buff.push({
"id": doc.id,
"name": data.name,
"age":data.age
});
});
response.json(buff);
})
.catch((error)=>{
response.send(error);
});
});
감상
htps : // 푹 빠져라. 오, ぇ. 코 m / 드 cs / 훈 c 치온 s? hl = 그럼
Firebase 기능 및 HTTPS 요청에 의해 트리거된 이벤트에 따라 백엔드 코드를 자동으로 실행할 수 있습니다.
Cloud Functions 사용
준비
먼저 CLI에서 firebase 명령을 사용할 수 있도록 합니다.
다음 명령을 사용하여 firebase-tools를 설치합니다.
$ npm install -g firebase-tools
설치가 완료되면 성공적으로 설치되었거나 다음 명령을 사용하여 버전을 확인해 보십시오.
$ firebase --version
firebase에 로그인
먼저 CLI에서 firebase로 로그인합니다.
그 이유는 CLI에서 애플리케이션을 배포하고 싶기 때문입니다.
로그인은 다음 명령으로 할 수 있습니다.
$ firebase login
Cloud Functions 사용
적당한 디렉토리를 작성해 이동해, 다음을 두드립니다.
$ firebase init
다음에 끈다 프로젝트를 듣기 때문에 선택한다.
다음 Functions를 쓰는 언어를 듣기 때문에 선택한다.
※Javascript와 Typescript를 선택할 수 있습니다.
※이번은 javascript를 선택하므로 javascript를 사용한 해설을 합니다.
다음으로 ESLint를 사용할지 묻습니다. 특별한 조건이 없으므로 엔터를 누릅니다. (지정하지 않고 엔터를 하면 No가 됩니다)
마지막으로 npm에서 종속성을 설치할지 묻습니다. (지정하지 않고 엔터하면 Yes가 됩니다)Firebase initialization complete!
와 나오면 준비 종료.
덧붙여서 여러분이 만지는 파일입니다.
funstions/index.js
const functions = require('firebase-functions');
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
로컬 환경에서 실행
$ cd functions
$ npm run serve
배포
$ firebase deploy
컬렉션을 검색하는 API
const functions = require('firebase-functions');
// cloud functionでfirestoreを使うのに必要な設定は以下の3行
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
const db = admin.firestore();
exports.helloWorld = functions.https.onRequest((request, response) => {
//response.send("Hello from Firebase!");
db.collection("users")
.get()
.then((query) => {
var buff = [];
query.forEach((doc) => {
var data = doc.data();
buff.push({
"id": doc.id,
"name": data.name,
"age":data.age
});
});
response.json(buff);
})
.catch((error)=>{
response.send(error);
});
});
우선 여기에서 설명하는 것은 Cloud Functions에서 FireStore 등
Firebase의 기능을 사용하고 싶다면, 코멘트에서도 쓰고 있습니다만,
아래 코드를 추가하십시오.
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
const db = admin.firestore();
단지 여기서 문제가・・・
Firebase에 배포하면 데이터를 가져올 수 있지만 로컬에서는 데이터를 가져올 수 없습니다.
개발 중에 일부러 배포하여 인터넷에 공개한 후 동작 확인해야 합니다.
분명히 말하면 귀찮습니다.
다음은 로컬에서도 데이터를 검색하고 확인하는 방법입니다.
다음 절차를 수행하십시오.
③을 클릭 후 json 파일을 만들 수 있으므로 serviceAccountKey.json
로 이름을 바꾸고 프로젝트에 추가하십시오.
이 파일은 절대로 후회하지 마십시오.
참고로 Git 관리에 포함하지 않는 파일을 지정하기 위해 gitignore
의 맨 아래에 다음을 추가하십시오.
functions/serviceAccountKey.json
마지막으로 이와 같이 코드를 편집하면 로컬 환경에서도 움직이게 됩니다.
const functions = require('firebase-functions');
// cloud functionでfirestoreを使うのに必要な設定は以下の2行
const admin = require('firebase-admin')
//admin.initializeApp(functions.config().firebase)
const serviceAccount = require("../functions/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "*********************"
});
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
const db = admin.firestore();
exports.helloWorld = functions.https.onRequest((request, response) => {
//response.send("Hello from Firebase!");
db.collection("users")
.get()
.then((query) => {
var buff = [];
query.forEach((doc) => {
var data = doc.data();
buff.push({
"id": doc.id,
"name": data.name,
"age":data.age
});
});
response.json(buff);
})
.catch((error)=>{
response.send(error);
});
});
감상
$ npm install -g firebase-tools
$ firebase --version
$ firebase login
$ firebase init
const functions = require('firebase-functions');
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
$ cd functions
$ npm run serve
$ firebase deploy
const functions = require('firebase-functions');
// cloud functionでfirestoreを使うのに必要な設定は以下の3行
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
const db = admin.firestore();
exports.helloWorld = functions.https.onRequest((request, response) => {
//response.send("Hello from Firebase!");
db.collection("users")
.get()
.then((query) => {
var buff = [];
query.forEach((doc) => {
var data = doc.data();
buff.push({
"id": doc.id,
"name": data.name,
"age":data.age
});
});
response.json(buff);
})
.catch((error)=>{
response.send(error);
});
});
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
const db = admin.firestore();
functions/serviceAccountKey.json
const functions = require('firebase-functions');
// cloud functionでfirestoreを使うのに必要な設定は以下の2行
const admin = require('firebase-admin')
//admin.initializeApp(functions.config().firebase)
const serviceAccount = require("../functions/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "*********************"
});
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
const db = admin.firestore();
exports.helloWorld = functions.https.onRequest((request, response) => {
//response.send("Hello from Firebase!");
db.collection("users")
.get()
.then((query) => {
var buff = [];
query.forEach((doc) => {
var data = doc.data();
buff.push({
"id": doc.id,
"name": data.name,
"age":data.age
});
});
response.json(buff);
})
.catch((error)=>{
response.send(error);
});
});
그래서 긴급 퀘스트!
express를 사용하여 REST API를 만드는 방법을 살펴 보겠습니다.
이상.
해설이 얕은 곳이라든지, 실수등이 있으면 가르쳐 주세요.
끝까지 읽어 주셔서 감사합니다.
트위터 하고 있습니다. 좋으면 확인해보세요.
링크
Reference
이 문제에 관하여(처음 Firebase를 만져보세요 (Functions)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/watataku8911/items/6d5fd6bfe5c4adf1b71b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)