คำถามติดแท็ก google-cloud-functions

14
ฉันจะจัดโครงสร้างฟังก์ชั่นคลาวด์สำหรับ Firebase เพื่อปรับใช้หลายฟังก์ชั่นจากหลายไฟล์ได้อย่างไร
ฉันต้องการสร้างฟังก์ชั่นคลาวด์หลายอย่างสำหรับ Firebase และปรับใช้ทั้งหมดในเวลาเดียวกันจากโครงการเดียว ฉันต้องการแยกแต่ละฟังก์ชั่นเป็นไฟล์แยกต่างหาก ขณะนี้ฉันสามารถสร้างฟังก์ชั่นได้หลายอย่างถ้าฉันวางทั้งสองไว้ใน index.js เช่น: exports.foo = functions.database.ref('/foo').onWrite(event => { ... }); exports.bar = functions.database.ref('/bar').onWrite(event => { ... }); อย่างไรก็ตามฉันต้องการวาง foo และ bar ไว้ในไฟล์แยกกัน ฉันลองสิ่งนี้: /functions |--index.js (blank) |--foo.js |--bar.js |--package.json โดยที่ foo.js อยู่ exports.foo = functions.database.ref('/foo').onWrite(event => { ... }); และ bar.js คือ exports.bar = functions.database.ref('/bar').onWrite(event => …

7
วิธีป้องกันจุดสิ้นสุด HTTP ของฟังก์ชัน Firebase Cloud เพื่ออนุญาตเฉพาะผู้ใช้ที่ตรวจสอบสิทธิ์ Firebase
ด้วยฟังก์ชันคลาวด์ firebase ใหม่ฉันได้ตัดสินใจย้ายปลายทาง HTTP บางส่วนไปยัง firebase ทุกอย่างใช้งานได้ดี ... แต่ฉันมีปัญหาต่อไปนี้ ฉันมีจุดสิ้นสุดสองจุดที่สร้างโดย HTTP Triggers (Cloud Functions) ปลายทาง API สำหรับสร้างผู้ใช้และส่งคืนโทเค็นที่กำหนดเองที่สร้างโดย Firebase Admin SDK ปลายทาง API เพื่อดึงรายละเอียดผู้ใช้บางอย่าง แม้ว่าจุดสิ้นสุดแรกจะใช้ได้ดี แต่สำหรับจุดสิ้นสุดที่สองของฉันฉันต้องการปกป้องมันสำหรับผู้ใช้ที่ผ่านการพิสูจน์ตัวตนเท่านั้น หมายถึงคนที่มีโทเค็นที่ฉันสร้างไว้ก่อนหน้านี้ ฉันจะแก้ปัญหานี้ได้อย่างไร ฉันรู้ว่าเราสามารถรับพารามิเตอร์ส่วนหัวในฟังก์ชันคลาวด์โดยใช้ request.get('x-myheader') แต่มีวิธีป้องกันปลายทางเช่นเดียวกับการปกป้องฐานข้อมูลแบบเรียลไทม์หรือไม่

19
การเปิดใช้งาน CORS ใน Cloud Functions สำหรับ Firebase
ฉันกำลังเรียนรู้วิธีใช้ฟังก์ชันระบบคลาวด์ใหม่สำหรับ Firebase และปัญหาที่พบคือฉันไม่สามารถเข้าถึงฟังก์ชันที่ฉันเขียนผ่านคำขอ AJAX ได้ ฉันได้รับข้อผิดพลาด "No" Access-Control-Allow-Origin " นี่คือตัวอย่างของฟังก์ชันที่ฉันเขียน: exports.test = functions.https.onRequest((request, response) => { response.status(500).send({test: 'Testing functions'}); }) ฟังก์ชันอยู่ใน url นี้: https://us-central1-fba-shipper-140ae.cloudfunctions.net/test เอกสาร Firebase แนะนำให้เพิ่มมิดเดิลแวร์ CORS ภายในฟังก์ชันนี้ฉันได้ลองใช้แล้ว แต่ไม่ได้ผลสำหรับฉัน: https://firebase.google.com/docs/functions/http-events นี่คือวิธีที่ฉันทำ: var cors = require('cors'); exports.test = functions.https.onRequest((request, response) => { cors(request, response, () => { response.status(500).send({test: 'Testing functions'}); …

5
ฟังก์ชันระบบคลาวด์ของ Firebase ทำงานช้ามาก
เรากำลังดำเนินการกับแอปพลิเคชันที่ใช้ฟังก์ชันคลาวด์ Firebase ใหม่ สิ่งที่เกิดขึ้นในขณะนี้คือธุรกรรมถูกใส่ในคิวโหนด จากนั้นฟังก์ชันจะลบโหนดนั้นและวางไว้ในโหนดที่ถูกต้อง สิ่งนี้ถูกนำมาใช้เนื่องจากความสามารถในการทำงานแบบออฟไลน์ ปัญหาปัจจุบันของเราคือความเร็วของฟังก์ชัน ฟังก์ชั่นใช้เวลาประมาณ 400ms ดังนั้นก็ไม่เป็นไร แต่บางครั้งฟังก์ชั่นใช้เวลานานมาก (ประมาณ 8 วินาที) ในขณะที่รายการถูกเพิ่มลงในคิวแล้ว เราสงสัยว่าเซิร์ฟเวอร์ต้องใช้เวลาในการบู๊ตเพราะเมื่อเราดำเนินการอีกครั้งหลังจากครั้งแรก ใช้เวลาน้อยลง มีวิธีใดในการแก้ไขปัญหานี้หรือไม่? ที่นี่ฉันเพิ่มรหัสของฟังก์ชันของเรา เราสงสัยว่าไม่มีอะไรผิดปกติ แต่เราได้เพิ่มไว้ในกรณีนี้ const functions = require('firebase-functions'); const admin = require('firebase-admin'); const database = admin.database(); exports.insertTransaction = functions.database .ref('/userPlacePromotionTransactionsQueue/{userKey}/{placeKey}/{promotionKey}/{transactionKey}') .onWrite(event => { if (event.data.val() == null) return null; // get keys const …

21
รับ URL ดาวน์โหลดจากไฟล์ที่อัปโหลดด้วย Cloud Functions สำหรับ Firebase
หลังจากอัปโหลดไฟล์ใน Firebase Storage พร้อมฟังก์ชั่นสำหรับ Firebase ฉันต้องการรับ URL ดาวน์โหลดของไฟล์ ฉันมีสิ่งนี้: ... return bucket .upload(fromFilePath, {destination: toFilePath}) .then((err, file) => { // Get the download url of file }); อ็อบเจ็กต์ไฟล์มีพารามิเตอร์จำนวนมาก แม้แต่ชื่อเดียวmediaLink. อย่างไรก็ตามหากฉันพยายามเข้าถึงลิงค์นี้ฉันได้รับข้อผิดพลาดนี้: ผู้ใช้ที่ไม่ระบุชื่อไม่มี storage.objects. เข้าถึงวัตถุ ... ใครช่วยบอกวิธีรับ URL ดาวน์โหลดสาธารณะได้ไหม ขอบคุณ

3
วิธีปรับใช้บางฟังก์ชันกับ Cloud Functions สำหรับ Firebase โดยไม่กระทบกับฟังก์ชันอื่น ๆ
เมื่อฉันวิ่ง firebase deploy --only functions มันอ่านindex.jsไฟล์และอัพเดตฟังก์ชันทั้งหมดที่ส่งออกจากไฟล์นั้น หากในการปรับใช้ก่อนหน้านี้มีฟังก์ชันชื่อaและในการปรับใช้ปัจจุบันไม่มีฟังก์ชันดังกล่าวaจะถูกลบ กล่าวอีกนัยหนึ่งเอฟเฟกต์จะเหมือนกับว่าฟังก์ชันที่มีอยู่ทั้งหมดถูกลบจากนั้นฟังก์ชันทั้งหมดจากindex.jsไฟล์ปัจจุบันจะถูกเพิ่มเข้าไป เป็นไปได้หรือไม่ที่จะเพิ่ม / อัพเดต / ลบแต่ละฟังก์ชัน?


2
ข้อผิดพลาด HTTP: 401 ขณะตั้งค่าฟังก์ชันคลาวด์ firebase สำหรับโครงการ Android
ฉันพยายามตั้งค่าฟังก์ชัน firebase แต่ได้รับข้อผิดพลาดหลังจากเรียกใช้ firebase init ข้อผิดพลาด: ข้อผิดพลาด HTTP: 401 คำขอมีข้อมูลรับรองการตรวจสอบสิทธิ์ที่ไม่ถูกต้อง ต้องการโทเค็นการเข้าถึง OAuth 2 คุกกี้การเข้าสู่ระบบหรือข้อมูลรับรองการตรวจสอบสิทธิ์ที่ถูกต้องอื่น ๆ ดูhttps://developers.google.com/identity/sign-in/web/devconsole-project

6
Cloud Functions สำหรับ Firebase - ไม่ได้กำหนดค่าบัญชีสำหรับการเรียกเก็บเงิน
ฉันเพิ่งใช้ Cloud Functions ใหม่สำหรับ Firebase แต่มีบางอย่างในบันทึกที่รบกวนฉัน: ไม่ได้กำหนดค่าบัญชีสำหรับการเรียกเก็บเงิน ไม่สามารถเข้าถึงเครือข่ายภายนอกได้และโควต้าถูก จำกัด อย่างเข้มงวด กำหนดค่าบัญชีสำหรับการเรียกเก็บเงินเพื่อลบข้อ จำกัด เหล่านี้ ฉันจัดการเพื่อเข้าถึงฟังก์ชันจากเครือข่ายภายนอกได้ดังนั้นฉันจึงสงสัยว่าฉันต้องให้บัญชีสำหรับการเรียกเก็บเงินจริงๆหรือ ไม่มีอะไรเกี่ยวกับเรื่องนี้ในเอกสารของ Firebase ฉันใช้แผนการสมัครสมาชิก Spark เพื่อการทดสอบส่วนบุคคลและฉันไม่ต้องการเพิ่มข้อมูลการเรียกเก็บเงินหากฉันยังไม่ต้องจ่ายอะไรเลย

3
ความแตกต่างระหว่าง Cloud Functions และ Firebase Functions คืออะไร
Cloud FunctionsและFirebase Functions (หรือ "Cloud Functions for Firebase")มีลักษณะเหมือนกัน โปรดอธิบายกรณีการใช้งานของแต่ละ ทั้งสองใช้ฟังก์ชัน HTTP ในฟังก์ชันระบบคลาวด์ : exports.helloHttp = function helloHttp (req, res) { res.send(`Hello ${req.body.name || 'World'}!`); }; และในฟังก์ชั่น Firebase : exports.helloWorld = functions.https.onRequest((request, response) => { response.send("Hello from Firebase!"); }); อะไรคือความแตกต่างระหว่างสิ่งเหล่านี้?

2
ทำความเข้าใจกับอีเมล“ ต้องมีการกระทำ” จาก GCP อีกครั้ง: เปิดใช้งาน Cloud Build API
ฉันใช้ Firebase สำหรับเว็บแอปของฉันไม่ใช่แพลตฟอร์ม Google Cloud - แม้ว่าฉันจะรู้ว่าเบื้องหลังบางโครงการ Firebase ก็เป็นโครงการ GCP ฉันเพิ่งได้รับอีเมลจาก GCP โดยพูดว่า (คัดลอกมาแล้ว): [จำเป็นต้องมีการดำเนินการ]: เปิดใช้งาน Cloud Build API สำหรับโครงการของคุณก่อนวันที่ 20 เมษายน 2020 เพื่อให้แน่ใจว่าฟังก์ชั่นคลาวด์นั้นถูกสร้างและปรับใช้อย่างถูกต้อง ... คุณต้องเปิดใช้งาน Cloud Build API สำหรับโครงการของคุณ สร้างและปรับใช้อย่างถูกต้อง เมื่อคุณเปิดใช้งาน API คุณอาจต้องเสียค่าใช้จ่ายหากการใช้งาน Cloud Build, Container Registry หรือ Cloud Storage ของคุณเกินขีด จำกัด ชั้นว่างสำหรับผลิตภัณฑ์เหล่านี้ สิ่งนี้ส่งผลกระทบต่อกระบวนการปรับใช้หรือการพัฒนาสำหรับ Firebase เลยหรือไม่? (เช่นตอนนี้ฉันใช้firebase deploy) เท่าที่ฉันสามารถบอกได้คำตอบคือไม่ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.