Firebase의 Cloud Firestore를 사용하여 갑자기 Cloud에 Database 구축
10546 단어 Firebase데이터베이스CloudFirestore
소개
Unity에서 애플리케이션을 만들면서 클라우드에서 Database를 구축하고 싶습니다! 모처럼이므로 평판이 좋은 Firebase를 사용해 보았습니다.
나중에 Unity에서의 사용 방법을 정리할 예정
Firebase의 Cloud Firestore란 무엇입니까?
Firebase 은 Google에서 제공하는 Platform as a service로 수많은 서비스를 제공합니다.
그 중에 Database를 취급하기 위한 서비스로서 Firebase Realtime Database 라고 이번 소개하는 Cloud Firestore 가 있습니다.
사용법도 공식적으로 공개 해 주고 있습니다.
Realtime Database는 1 JSON 파일로 모든 것을 관리하므로 관리 데이터가 복잡해지면 다루기가 어렵습니다.
한편 Cloud Firestore는 컬렉션 > 문서라는 계층에서 데이터를 관리하는 형태의 NoSQL Database이므로 Realtime Database보다 복잡한 구조의 데이터를 취급할 수 있습니다.
Cloud Firestore 데이터 모델
이용 상한 도 무료로 이하이므로, 개인 개발하기에는 충분한 양이군요.
1 GiB total
10GiB/month
2만/일
5만/일
2만/일
사용법
프로젝트 및 Database 만들기
우선은 프로젝트를 작성. 톱 페이지로 이동하여 Google 계정으로 로그인 후 프로젝트 만들기를 선택합니다.
만든 프로젝트를 선택하여 Cloud Filestore를 만듭니다.
보안 규칙 설정. 나중에 미세하게 규칙을 바꿀 수 있으므로 잠금을 선택.
인증을 사용하는 경우 Authentication 설정이 필요합니다.
나중에 DB를 만드는 위치를 설정하고 완료
Database에 데이터 채우기
Database를 선택하면 컬렉션을 추가 화면이 있으므로,
컬렉션의 이름을 지정하여
Document, 그 안의 필드를 지정하는 것으로 데이터를 채워 갑니다.
우선 클라이언트로부터의 데이터 액세스
프로젝트에 대한 액세스는 개인 키를 생성하여 수행할 수 있습니다. 서비스 계정으로 새로운 비공개 키를 생성하면, 키나 DB 액세스처 URL등의 정보가 들어간 json 파일을 취득할 수 있습니다.
나중에 이것을 사용하여 액세스 코드를 작성하기 만하면됩니다. 사용법은 여기 . 각 언어에 맞춘 튜토리얼을 공식으로 준비해 줍니다.
예를 들어 Golang이라면 이런 식으로 데이터를 추가, 참조, 삭제할 수 있습니다.
main.go
package main
import (
"context"
"fmt"
"log"
"time"
firebase "firebase.google.com/go"
"google.golang.org/api/iterator"
"google.golang.org/api/option"
)
func main() {
// Firebase接続
sa := option.WithCredentialsFile("path/to/key.json")
ctx := context.Background()
app, err := firebase.NewApp(ctx, nil, sa)
if err != nil {
log.Fatalln(err)
}
// Firestore用のクライアント生成
client, err := app.Firestore(ctx)
if err != nil {
log.Fatalln(err)
}
defer client.Close()
//書き込み
docRefs, _, err := client.Collection("users").Add(ctx, map[string]interface{}{
"first": "Ada",
"last": "Lovelace",
"born": time.Now(),
})
if err != nil {
log.Fatalf("Failed adding alovelace: %v", err)
}
//読み込み
iter := client.Collection("users").Documents(ctx)
for {
doc, err := iter.Next()
if err == iterator.Done {
break
}
if err != nil {
log.Fatalf("Failed to iterate: %v", err)
}
fmt.Println(doc.Data())
}
//削除。ここでは書き込みをした新Documentを削除する
_, err = docRefs.Delete(ctx)
if err != nil {
return
}
}
Firebase의 snippet에도 링크되어 있지만 다양한 언어로 샘플 코드가 github에 공개되어 있습니다.
htps : // 기주 b. 코 m / 푹 빠져? U tf8 = % 2 % 9C % 93 & q = s Nip ts & ty Pe = & Penguge =
Reference
이 문제에 관하여(Firebase의 Cloud Firestore를 사용하여 갑자기 Cloud에 Database 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/developer-kikikaikai/items/fd0152b7811395f3e02c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)