Firebase를 사용해 보았습니다 ~ 제 2 장 Firestore에 데이터 저장 ~
이 장에서는 API를 사용하여 Firestore에 채팅봇 앱에서 사용할 데이터를 저장합니다.
제1장 서비스 배포
제2장 Firestore에 데이터 저장
제3장 Firestore에서 데이터 얻기
Firestore에 데이터를 저장할 때까지의 흐름
1. 데이터 파일 만들기
2. Cloud Functions 가져오기 및 초기화
3. https 함수 만들기
4. 배포
5. API를 두드리는
6. 정리
1. 데이터 파일 만들기
json 유형의 데이터 파일을 생성합니다.
(json 파일을 쓰는 법을 모르겠습니다 ...라고하는 경우는 여기
저는 챗봇에서 사용하는 응답 내용이나 사용자 선택 등을 json 형식으로 만들었습니다.
2. Cloud Functions 가져오기 및 초기화
Cloud Functions를 가져와 Firebase Admin SDK를 초기화합니다.
여기 를 참고했습니다. (js의 경우 작성하는 방법도있었습니다)
functions/src/index.ts
import * as functions from 'firebase-functions';
import * as admin from "firebase-admin";
admin.initializeApp();
const db = admin.firestore();
3. https 함수 만들기
API에서 응답을 반환하는 함수를 만듭니다.
response, statusCode, body를 받습니다.
functions/src/index.ts
const sendResponse = (response: functions.Response, statusCode: number, body: any) => {
response.send({
statusCode,
body: JSON.stringify(body)
})
}
외부에서 함수를 호출하기 위해 "export"를 붙입니다.
이번은 모두 「POST」를 사용하므로, POST 이외는 에러가 되도록 기술합니다.
functions/src/index.ts
export const addDataset = functions.https.onRequest(async(req: any, res:any) => {
if(req.method !== 'POST') {
sendResponse(res, 405, {error: 'Invalid Request'})
} else {
const dataset = req.body
for(const key of Object.keys(dataset)) {
const data = dataset[key]
await db.collection('contents').doc(key).set(data)
//'contents'の部分は任意のcollection名でOKです
}
sendResponse(res, 200, {message: 'Successfully added dataset!'})
}
})
참고 : htps : // 푹 빠져라. 오, ぇ. 코 m / 드 cs / 훙 c 치온 s / h t pp ゔ ぇ ts? hl = 그럼
여담입니다만, collection, document, data에 대해 모호한 경우는 여기 의 페이지에 그림으로 해설이 있으므로 봐 주세요.
4. 배포
배포 명령을 실행합니다.
$ firebase deploy
배포가 완료되면 Firebase의 Functions에서 방금 만든 함수 이름으로 데이터가 생성됩니다.
'요청' 아래에 설명된 URL을 복사해 봅시다. (다음에 사용합니다)
5. API를 두드리는
1. 에서 만든 데이터 파일이 있는 디렉터리로 이동합니다.
이동한 후 다음 curl 명령으로 API를 두드리십시오.
curl -X POST -H "Content-Type:application/json" -d @[作成したデータファイル名].json [先ほどコピーしたURL]
상태 코드 200이 반환되면 성공입니다.
Cloud Firestore에 데이터가 저장되어 있는지 확인합니다.
6. 정리
이 장에서는 Firebase에서 프로젝트를 만들고 Firestore에 API를 사용하여 데이터를 저장할 때까지 수행했습니다.
이어 Firestore에 저장된 데이터를 가져와서 사용합니다. ( 제3장으로 ···)
Reference
이 문제에 관하여(Firebase를 사용해 보았습니다 ~ 제 2 장 Firestore에 데이터 저장 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/iiizoo/items/a946be93d2475647dfec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)