การอ้างอิงสำหรับ extensions.yaml

ไฟล์ข้อกำหนดของส่วนขยาย (extension.yaml) มีส่วนขยายของ จะประกาศทรัพยากรที่สร้างโดยส่วนขยายและ API และ เข้าถึงที่จำเป็นโดยส่วนขยาย และกำหนดพารามิเตอร์ใดๆ ที่ผู้ใช้กำหนดค่า ที่ได้รับจากส่วนขยาย

ตารางในหน้านี้อธิบายช่องที่มีสำหรับ extension.yaml

ข้อมูลพื้นฐานและการระบุตัวตน

name: your-extension-name
version: 1.0.0         # Semantic versioning (semver)
specVersion: v1beta    # Always "v1beta"
license: Apache-2.0    # Always "Apache-2.0" (required to publish on extensions.dev)
billingRequired: true  # Always "true"

displayName: Your extension name
description: >-
  Description of the extension. (One or two
  sentences.)
icon: icon.png
tags: [tag, anothertag]

sourceUrl: https://github.com/your-org/your-repo   # GitHub repo URL
releaseNotesUrl: https://github.com/your-org/your-repo/blob/main/CHANGELOG.md

author:
  authorName: Your Company
  email: extensions@example.com
  url: https://example.com/
contributors:
  - authorName: Your Name
  - authorName: Another Contributor
    email: colleague@example.net
    url: https://github.com/their-org/
ช่องพื้นฐาน
name
สตริง
(ต้องระบุ)

ตัวระบุส่วนขยาย

มีได้เฉพาะตัวอักษรพิมพ์เล็ก ตัวเลข และเครื่องหมายขีดกลางเท่านั้น 40 อักขระ ขีดจำกัด

หมายเหตุ: ค่านี้จะใช้ในการสร้างส่วนขยาย รหัสอินสแตนซ์ (ซึ่งจะนำไปสร้างชื่อของฟิลด์ บัญชีบริการของส่วนขยายและทรัพยากรเฉพาะส่วนขยาย)

version
สตริง
(ต้องระบุ)

เวอร์ชันของส่วนขยาย

ต้องเป็นไปตามการกำหนดเวอร์ชันเซมเวอร์ (เช่น 1.2.0)

specVersion
สตริง
(ต้องระบุ)

เวอร์ชันของข้อกำหนดเฉพาะของ Firebase Extensions

ค่าปัจจุบัน: v1beta

license
สตริง
(ไม่บังคับ)

ใบอนุญาตสำหรับส่วนขยาย

ส่วนขยายของคุณต้องได้รับอนุญาตโดยใช้ Apache-2.0

billingRequired
บูลีน
(ไม่บังคับ)

บริการที่ส่วนขยายใช้ต้องใช้ระดับที่เสียค่าใช้จ่ายหรือไม่ บัญชีสำหรับการเรียกเก็บเงิน Firebase

ตั้งค่าเป็น true เสมอ

displayName
สตริง
(ไม่บังคับ)

ชื่อที่แสดงของส่วนขยายที่สะดวก (3-5 คำ)

จำนวนอักขระสูงสุด 40 ตัว

description
สตริง
(ไม่บังคับ)
คำอธิบายสั้นๆ เกี่ยวกับงานที่ส่วนขยายทำ (ประมาณ 1 ประโยค)
icon
สตริง
(ไม่บังคับ)

ไฟล์ที่จะใช้เป็นไอคอนของส่วนขยาย extensions.dev และ คอนโซล Firebase

ไฟล์นี้ต้องเป็นไฟล์สี่เหลี่ยมจัตุรัส PNG ขนาดระหว่าง 512x512 ถึง 1024x1024 พิกเซล นำไฟล์ไปไว้ในไดเรกทอรีเดียวกับ extension.yaml คุณ ไม่สามารถระบุไดเรกทอรีย่อย

โปรดคำนึงถึงหลักเกณฑ์ต่อไปนี้เมื่อออกแบบไอคอนสำหรับ ส่วนขยาย:

  • เลือกสีพื้นหลังและอาร์ตเวิร์กที่เหมาะสำหรับ แบรนด์
  • สร้างสีไอคอนให้เรียบง่ายโดยใช้เพียง 2 สีเท่านั้น หลายสี อาจทำให้ไอคอนดูรกตา
  • ด้วยเหตุนี้ ก็อย่าใช้การไล่ระดับสีในไอคอน การไล่ระดับสี แยกแยะได้ยากเมื่อมีขนาดเล็ก และทำให้ไอคอนเป็นที่จดจำ ที่ซับซ้อน
  • ใช้รูปภาพที่เรียบง่ายและไม่เหมือนใครซึ่งสื่อสารกับส่วนขยายของคุณ
  • หากบริษัทของคุณสร้างส่วนขยายหลายรายการ อย่าใช้โลโก้เป็น ไอคอน ผู้ใช้จะแยกแยะความแตกต่างระหว่าง ส่วนขยาย
  • ทำให้อาร์ตเวิร์กเป็นกราฟิกและโดดเด่น อย่าใช้ความละเอียดรอบคอบ ซึ่งแสดงผลได้ไม่ดีเมื่อมีขนาดเล็ก
  • อย่าใช้คำที่อธิบายถึงสิ่งที่ส่วนขยายของคุณทำ ข้อความคือ มักอ่านไม่ออกในขนาดที่เล็กกว่า
tags
รายการสตริง
(ไม่บังคับ)
แท็กเพื่อช่วยให้ผู้ใช้ค้นพบส่วนขยายของคุณ แท็กต่อไปนี้จะแมปกับหมวดหมู่ในฮับส่วนขยาย marketing, messaging, payments, search, shipping, social, utilities, ai
sourceUrl
สตริง
(ไม่บังคับ)
URL สาธารณะที่เข้าถึงไดเรกทอรีส่วนขยายได้
releaseNotesUrl
สตริง
(ไม่บังคับ)
URL สาธารณะที่เข้าถึงได้บันทึกประจำรุ่นของส่วนขยาย
author
ออบเจ็กต์ผู้เขียน 1 รายการ
(ไม่บังคับ)

ผู้เขียนหลักและผู้ติดต่อสำหรับส่วนขยาย

author:
  authorName: Your Company
  email: extensions@example.com
  url: https://example.com/
ช่องผู้เขียน
authorName
สตริง
(ต้องระบุ)

ชื่อผู้แต่ง

อาจเป็นบุคคล บริษัท องค์กร ฯลฯ

email
สตริง
(ไม่บังคับ)
อีเมลของผู้เขียน
url
สตริง
(ไม่บังคับ)
URL สาธารณะที่เข้าถึงได้ข้อมูลเกี่ยวกับผู้เขียน
contributors
รายการออบเจ็กต์ผู้เขียน
(ไม่บังคับ)

ผู้เขียนที่ร่วมให้ข้อมูลเพิ่มเติมสำหรับส่วนขยาย

contributors:
  - authorName: Your Name
  - authorName: Another Contributor
    email: colleague@example.net
    url: https://github.com/their-org/
ช่องผู้เขียน
authorName
สตริง
(ต้องระบุ)

ชื่อผู้แต่ง

อาจเป็นบุคคล บริษัท องค์กร ฯลฯ

email
สตริง
(ไม่บังคับ)
อีเมลของผู้เขียน
url
สตริง
(ไม่บังคับ)
URL สาธารณะที่เข้าถึงได้ข้อมูลเกี่ยวกับผู้เขียน

Firebase และ Google Cloud API

ช่องเหล่านี้ระบุ Firebase และ Google API ที่ส่วนขยายใช้ เมื่อผู้ใช้ ติดตั้งส่วนขยาย ผู้ใช้เลือกที่จะเปิดใช้ API เหล่านี้โดยอัตโนมัติใน ให้กับโครงการของตน

apis:
  - apiName: apiname.googleapis.com
    reason: Explanation of why the extension uses this API
  - apiName: anotherapiname.googleapis.com
    reason: Explanation of why the extension uses this API
ช่อง API
apiName
สตริง
(ต้องระบุ)

ชื่อ Google API

ต้องตรงกับช่องชื่อบริการตามที่ระบุไว้ในแต่ละ หน้าภาพรวมของ API (ตัวอย่าง) ใน ไลบรารี Google Cloud API

reason
สตริง
(ต้องระบุ)
คำอธิบายสั้นๆ ถึงเหตุผลที่ส่วนขยายต้องใช้ API นี้

บทบาท IAM

ช่องเหล่านี้ระบุบทบาท Cloud IAM ที่ส่วนขยายต้องการ บริการ บัญชีที่จัดสรรไว้สำหรับส่วนขยายจะได้รับบทบาทเหล่านี้

คุณสามารถระบุหนึ่งใน บทบาทที่รองรับ

roles:
  - role: product.role
    reason: Explanation of why the extension needs this level of access
  - role: anotherproduct.role
    resource: projects/${project_id}/resource_type/*
    reason: Explanation of why the extension needs this level of access
ช่องบทบาท
role
สตริง
(ต้องระบุ)

ชื่อของบทบาท IAM ที่จำเป็นสำหรับการดำเนินการของส่วนขยาย

ต้องเป็นหนึ่งใน บทบาทที่รองรับ

reason
สตริง
(ต้องระบุ)
คำอธิบายสั้นๆ ถึงเหตุผลที่ส่วนขยายต้องการสิทธิ์เข้าถึง บทบาทนี้
resource
สตริง
(ไม่บังคับ)

จำกัดขอบเขตของบทบาทสำหรับทรัพยากรนี้

หากไม่ระบุ จะมีค่าเริ่มต้นเป็น projects/${project_id} ดูลด ขอบเขตของบทบาท

บริการภายนอก

ช่องเหล่านี้ระบุบริการที่ไม่ใช่ Firebase และบริการที่ไม่ใช่ของ Google ที่ส่วนขยายใช้ (โดยทั่วไปคือ REST API) แพลตฟอร์ม Firebase Extensions ไม่ได้ระบุ วิธีการเปิดใช้หรือดำเนินการให้สิทธิ์สำหรับบริการเหล่านี้โดยอัตโนมัติ

externalServices:
  - name: Example API
    pricingUri: https://developers.example.com/pricing
  - name: Another Example API
    pricingUri: https://developers.example.com/pricing
ช่องบริการภายนอก
name
สตริง
(ต้องระบุ)
ชื่อบริการภายนอกที่จำเป็นสำหรับการดำเนินการของส่วนขยาย
pricingUri
สตริง
(ต้องระบุ)
URI ของข้อมูลการกำหนดราคาสำหรับบริการ

พารามิเตอร์ที่ผู้ใช้กำหนดค่าได้

ฟิลด์เหล่านี้กำหนดพารามิเตอร์ที่ส่วนขยายทำให้ผู้ใช้สามารถใช้งานได้ เพื่อกำหนดค่า

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      What do you want to set PARAM_ID to?
      This is a longer description of the parameter, often phrased as a prompt
      to the user.
  - param: ANOTHER_PARAM_ID
    label: Short description of the parameter
    description: >
      What do you want to set ANOTHER_PARAM_ID to?
      This is a longer description of the parameter.
    example: example-input
    validationRegex: "^[a-zA-Z][a-zA-Z-]*[a-zA-Z]?$"
    validationErrorMessage:
      Must be a hyphen-delimited string of alphabetic characters
    default: default-value
    required: false
    immutable: true
ช่องพารามิเตอร์
param
สตริง
(ต้องระบุ)
ชื่อพารามิเตอร์ คุณใช้ชื่อนี้ในการอ้างอิงพารามิเตอร์ ในโค้ด
label
สตริง
(ต้องระบุ)
คำอธิบายสั้นๆ สำหรับพารามิเตอร์ แสดงต่อผู้ใช้เมื่อ สำหรับค่าของพารามิเตอร์
description
สตริง
(ไม่บังคับ)

คำอธิบายโดยละเอียดสำหรับพารามิเตอร์ แสดงต่อผู้ใช้เมื่อ ระบบจะถามค่าของพารามิเตอร์

รองรับมาร์กดาวน์

example
สตริง
(ไม่บังคับ)
ค่าตัวอย่างสำหรับพารามิเตอร์
default
สตริง
(ไม่บังคับ)
ค่าเริ่มต้นของพารามิเตอร์ หากผู้ใช้เก็บค่าของพารามิเตอร์ไว้ ว่าง
validationRegex
สตริง
(ไม่บังคับ)
นิพจน์ทั่วไปสำหรับการตรวจสอบความถูกต้องของพารามิเตอร์ที่ผู้ใช้กำหนดค่า Google RE2 ไวยากรณ์
validationErrorMessage
สตริง
(ไม่บังคับ)
ข้อความแสดงข้อผิดพลาดที่จะแสดงเมื่อตรวจสอบนิพจน์ทั่วไปไม่สำเร็จ
required
บูลีน
(ไม่บังคับ)
กำหนดว่าผู้ใช้สามารถส่งสตริงว่างหรือไม่เมื่อ สำหรับค่าของพารามิเตอร์ ค่าเริ่มต้นคือ true
immutable
บูลีน
(ไม่บังคับ)

กำหนดว่าผู้ใช้สามารถเปลี่ยนค่าของพารามิเตอร์หลังจาก การติดตั้ง (เช่น ในกรณีที่กำหนดค่าส่วนขยายใหม่) ค่าเริ่มต้นคือ false

หมายเหตุ: หากคุณกำหนด "ตำแหน่ง" พารามิเตอร์ที่ทำให้ใช้งานได้ ของส่วนขยาย ให้ตั้งค่าฟิลด์นี้เป็น true

type
สตริง
(ไม่บังคับ)
ประเภทพารามิเตอร์ ประเภทพารามิเตอร์พิเศษอาจมี ข้อกำหนดหรืองานนำเสนอ UI ที่แตกต่างออกไป โปรดดูส่วนต่อไปนี้

พารามิเตอร์แบบเลือกได้และเลือกหลายรายการได้

พารามิเตอร์แบบเลือกได้และเลือกได้หลายรายการจะแจ้งให้ผู้ใช้เลือกจากรายการ ตัวเลือกที่กำหนดไว้ล่วงหน้า

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      Do you want to enable the option?
    type: select
    options:
      - label: Yes
        value: true
      - label: No
        value: false
  - param: ANOTHER_PARAM_ID
    label: Short description of the parameter
    description: >-
      Which options do you want to enable?
    type: multiselect
    options:
      - value: red
      - value: green
      - value: blue
ช่องพารามิเตอร์แบบหลายตัวเลือก
type
สตริง

select หรือ multiselect

ระบุว่าพารามิเตอร์เป็นได้ 1 ค่า (select) หรือหลายค่า (multiselect) ที่เลือกไว้จากชุด ตัวเลือกที่กำหนดไว้ล่วงหน้า

options
รายการตัวเลือก
(ต้องระบุ)

ตัวเลือกที่ผู้ใช้สามารถเลือกได้

ช่องตัวเลือก
value
สตริง
(ต้องระบุ)
ค่าใดค่าหนึ่งที่ผู้ใช้เลือกได้ นี่คือมูลค่าที่คุณจะได้รับ เมื่อคุณอ่านค่าพารามิเตอร์ในโค้ด
label
สตริง
(ไม่บังคับ)
คำอธิบายสั้นๆ ของตัวเลือกที่เลือกได้ หากไม่ระบุ จะใช้ค่าเริ่มต้น ไปยัง value

พารามิเตอร์ทรัพยากรที่เลือกได้

พารามิเตอร์ทรัพยากรที่เลือกได้จะแจ้งให้ผู้ใช้เลือกทรัพยากร (ฐานข้อมูล ที่เก็บข้อมูลของพื้นที่เก็บข้อมูล ฯลฯ) จากโปรเจ็กต์ได้

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      Which resource do you want to use?
    type: selectresource
    resourceType: product.googleapis.com/ResourceType
ช่องพารามิเตอร์ทรัพยากร
type
สตริง

selectresource

ระบุว่าพารามิเตอร์แสดงถึงทรัพยากรโปรเจ็กต์

resourceType
สตริง
(ต้องระบุ)

ประเภทของทรัพยากรที่แจ้งให้ผู้ใช้เลือก

ค่าที่ถูกต้อง:

  • storage.googleapis.com/Bucket
  • firestore.googleapis.com/Database
  • firebasedatabase.googleapis.com/DatabaseInstance

อย่างไรก็ตาม ขณะนี้มีเพียงที่เก็บข้อมูล Cloud Storage เท่านั้นที่มี UI การเลือก (ทรัพยากรประเภทอื่นๆ จะแสดงเป็นช่องป้อนข้อความรูปแบบอิสระ)

พารามิเตอร์ลับ

ระบบจะจัดการค่าข้อมูลลับที่ผู้ใช้ระบุ (เช่น คีย์ API) ด้วยวิธีที่ต่างออกไป

  • ค่าข้อมูลลับจะจัดเก็บโดยใช้ Cloud Secret Manager เฉพาะไคลเอ็นต์ที่ได้รับอนุญาต (เช่น อินสแตนซ์ที่ติดตั้งของส่วนขยาย) จะเข้าถึงค่าเหล่านี้ได้
  • เมื่อระบบแจ้งให้ผู้ใช้ระบุค่าเหล่านี้ ระบบจะไม่แสดงอินพุต
params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      What is the secret value?
    type: secret
ช่องพารามิเตอร์ลับ
type
สตริง

secret

ระบุว่าพารามิเตอร์เป็นค่าลับ

ทรัพยากร Cloud Function

ช่องเหล่านี้แจ้ง Cloud Functions ที่รวมอยู่ในส่วนขยาย แหล่งข้อมูล ไวยากรณ์การประกาศของรุ่นที่ 1 กับรุ่นที่ 2 จะแตกต่างกันเล็กน้อย ซึ่งสามารถอยู่ร่วมกันในส่วนขยายได้

Cloud Functions รุ่นที่ 1

resources:
  - name: functionName
    type: firebaseextensions.v1beta.function
    description: >-
      Description of what the function does. (One or two
      sentences.)
    properties:
      runtime: runtime-version
      eventTrigger:
        eventType: google.product.event
        resource: projects/_/resource/specifier
ช่องแหล่งข้อมูล
name
สตริง
(ต้องระบุ)

ชื่อที่เข้าใจง่ายสำหรับฟังก์ชันที่ส่งออก

หากคุณไม่ระบุพร็อพเพอร์ตี้ entryPoint (โปรดดู ด้านล่าง) ค่านี้ต้องตรงกับชื่อของฟังก์ชันใน ซอร์สโค้ดของฟังก์ชัน

ชื่อสุดท้ายของฟังก์ชันทำให้ใช้งานได้แล้วจะอยู่ในแท็ก รูปแบบต่อไปนี้: ext-extension-instance-id-name

type
สตริง
(ต้องระบุ)
สำหรับแหล่งข้อมูลเกี่ยวกับฟังก์ชันรุ่นที่ 1 ให้ทำดังนี้ firebaseextensions.v1beta.function
description
สตริง
(ต้องระบุ)

คำอธิบายสั้นๆ เกี่ยวกับงานที่ฟังก์ชันทำ ส่วนขยาย

properties
(ต้องระบุ)

พร็อพเพอร์ตี้ Cloud Functions รุ่นที่ 1 พร็อพเพอร์ตี้ที่สำคัญที่สุด ด้านล่างนี้ แต่คุณสามารถดูรายการทั้งหมดได้ใน ระบบคลาวด์ การอ้างอิงฟังก์ชัน

พร็อพเพอร์ตี้
location
(ไม่บังคับ)

ตำแหน่งที่จะทำให้ใช้งานได้สำหรับฟังก์ชัน ค่าเริ่มต้นคือ us-central1

entryPoint
(ไม่บังคับ)
ชื่อของฟังก์ชันที่ส่งออกภายในซอร์สโค้ดของฟังก์ชัน ที่ส่วนขยายควรค้นหา ค่าเริ่มต้นคือ name ด้านบน
sourceDirectory
(ไม่บังคับ)

ไดเรกทอรีที่มี package.json ของคุณที่ ราก ไฟล์สำหรับซอร์สโค้ดของฟังก์ชันต้องอยู่ใน ไดเรกทอรี ค่าเริ่มต้นคือ functions

หมายเหตุ: ช่อง main ของ package.json ระบุไฟล์สำหรับ ฟังก์ชันซอร์สโค้ด (เช่น index.js)

timeout
(ไม่บังคับ)

เวลาดำเนินการสูงสุดของฟังก์ชัน

  • ค่าเริ่มต้น: 60s
  • ค่าสูงสุด: 540s
availableMemoryMb
(ไม่บังคับ)

ปริมาณหน่วยความจำในหน่วย MB ที่ใช้ได้สำหรับฟังก์ชันนี้

  • ค่าเริ่มต้น: 256
  • ค่าที่ใช้ได้: 128, 256, 512 1024 และ 2048
runtime
(แนะนำ)

สภาพแวดล้อมรันไทม์ของฟังก์ชัน

httpsTrigger
หรือ
eventTrigger
หรือ
scheduleTrigger
หรือ
taskQueueTrigger
(ต้องระบุประเภททริกเกอร์ฟังก์ชันต่อไปนี้ 1 ประเภท)
โปรดดูเขียน Cloud Functions สำหรับส่วนขยายสำหรับข้อมูลที่เฉพาะเจาะจง เกี่ยวกับทริกเกอร์แต่ละประเภท

Cloud Functions รุ่นที่ 2

resources:
  - name: functionName
    type: firebaseextensions.v1beta.v2function
    description: >-
      Description of what the function does. (One or two
      sentences.)
    properties:
      buildConfig:
        runtime: nodejs16
      serviceConfig:
        availableMemory: 512M
      eventTrigger:
        eventType: google.firebase.firebasealerts.alerts.v1.published
        triggerRegion: global
        eventFilters:
          - attribute: alerttype
            value: crashlytics.newFatalIssue

ช่องแหล่งข้อมูล
name
สตริง
(ต้องระบุ)

ชื่อที่เข้าใจง่ายสำหรับฟังก์ชันที่ส่งออก

หากคุณไม่ระบุพร็อพเพอร์ตี้ entryPoint (โปรดดู ด้านล่าง) ค่านี้ต้องตรงกับชื่อของฟังก์ชันใน ซอร์สโค้ดของฟังก์ชัน

ชื่อสุดท้ายของฟังก์ชันทำให้ใช้งานได้แล้วจะอยู่ในแท็ก รูปแบบต่อไปนี้: ext-extension-instance-id-name

type
สตริง
(ต้องระบุ)
สำหรับทรัพยากรฟังก์ชันรุ่นที่ 2 ให้ทำดังนี้ firebaseextensions.v1beta.v2function
description
สตริง
(ต้องระบุ)

คำอธิบายสั้นๆ เกี่ยวกับงานที่ฟังก์ชันทำ ส่วนขยาย

properties
(ต้องระบุ)

พร็อพเพอร์ตี้ Cloud Functions รุ่นที่ 2 พร็อพเพอร์ตี้ที่สำคัญที่สุด ด้านล่างนี้ แต่คุณสามารถดูรายการทั้งหมดได้ใน ระบบคลาวด์ การอ้างอิงฟังก์ชัน

พร็อพเพอร์ตี้
location
(ไม่บังคับ)

ตำแหน่งที่จะทำให้ใช้งานได้สำหรับฟังก์ชัน ค่าเริ่มต้นคือ us-central1

sourceDirectory
(ไม่บังคับ)

ไดเรกทอรีที่มี package.json ของคุณที่ ราก ไฟล์สำหรับซอร์สโค้ดของฟังก์ชันต้องอยู่ใน ไดเรกทอรี ค่าเริ่มต้นคือ functions

หมายเหตุ: ช่อง main ของ package.json ระบุไฟล์สำหรับ ฟังก์ชันซอร์สโค้ด (เช่น index.js)

นอกจากนี้ ยังมีช่องประเภทออบเจ็กต์ 3 ช่องที่มีพร็อพเพอร์ตี้ของตัวเองด้วย ได้แก่

พร็อพเพอร์ตี้ BuildConfig
buildConfig.runtime
(แนะนำ)

สภาพแวดล้อมรันไทม์ของฟังก์ชัน

buildConfig.entryPoint
(ไม่บังคับ)
ชื่อของฟังก์ชันที่ส่งออกภายในซอร์สโค้ดของฟังก์ชัน ที่ส่วนขยายควรค้นหา ค่าเริ่มต้นคือ name ด้านบน
พร็อพเพอร์ตี้ ServiceConfig
serviceConfig.timeoutSeconds
(ไม่บังคับ)

เวลาดำเนินการสูงสุดของฟังก์ชัน

  • ค่าเริ่มต้น: 60
  • ค่าสูงสุด: 540
serviceConfig.availableMemory
(ไม่บังคับ)
ปริมาณหน่วยความจำที่มีสำหรับฟังก์ชัน ค่าเริ่มต้นคือ 256M หน่วยที่รองรับคือ k M G Mi Gi หากไม่ได้ระบุหน่วย ระบบจะตีความค่าเป็นไบต์
พร็อพเพอร์ตี้ eventTrigger
eventTrigger.eventType
(ต้องระบุ)
ประเภทของเหตุการณ์ที่จะฟัง โปรดดู เขียนระบบคลาวด์ ฟังก์ชันสําหรับส่วนขยายสําหรับประเภทเหตุการณ์ที่ใช้ได้กับ แต่ละผลิตภัณฑ์
eventTrigger.eventFilters
(ไม่บังคับ)
ตัวกรองที่จำกัดเหตุการณ์ที่จะฟังมากขึ้นอีก ตัวอย่างเช่น คุณสามารถฟังเหตุการณ์ที่ตรงกับทรัพยากรที่ระบุเท่านั้น รูปแบบ โปรดดู เขียนระบบคลาวด์ ฟังก์ชันสําหรับส่วนขยายสําหรับข้อมูลเกี่ยวกับการกรองแต่ละรายการ ประเภทเหตุการณ์
eventTrigger.channel
(ไม่บังคับ)
ชื่อของแชแนลที่เชื่อมโยงกับทริกเกอร์ใน projects/{project}/locations/{location}/channels/{channel} หากคุณไม่ใส่พร็อพเพอร์ตี้นี้ ฟังก์ชันจะรอฟัง กิจกรรมในช่องเริ่มต้นของโปรเจ็กต์
eventTrigger.triggerRegion
(ไม่บังคับ)
ทริกเกอร์จะได้รับเฉพาะเหตุการณ์ที่มีต้นทางในภูมิภาคนี้เท่านั้น ซึ่งอาจเป็นภูมิภาคเดียวกับฟังก์ชัน ภูมิภาคอื่น หรือ หลายภูมิภาค หรือภูมิภาคระดับโลก หากไม่ระบุ ค่าเริ่มต้นจะเป็น ภูมิภาคเดียวกับฟังก์ชัน

เหตุการณ์ในวงจร

เหตุการณ์ในวงจรให้คุณระบุฟังก์ชันที่จะทำงานเมื่อผู้ใช้ติดตั้ง อัปเดต หรือกำหนดค่าอินสแตนซ์ของส่วนขยายได้ โปรดดูหัวข้อจัดการเหตุการณ์ในวงจรของส่วนขยาย

lifecycleEvents:
  onInstall:
    function: myTaskFunction
    processingMessage: Describes the task being completed
  onUpdate:
    function: myOtherTaskFunction
    processingMessage: Describes the task being completed
  onConfigure:
    function: myOtherTaskFunction
    processingMessage: Describes the task being completed
ช่องเหตุการณ์อายุการใช้งาน
onInstall
(ไม่บังคับ)

ระบุฟังก์ชันที่เรียกใช้เมื่อผู้ใช้ติดตั้ง ส่วนขยาย

ข้อมูลจำเพาะของฟังก์ชัน
function
สตริง
(ต้องระบุ)

ชื่อของฟังก์ชันที่ทริกเกอร์คิวงานที่จะจัดการ กิจกรรมนั้น

ต้องประกาศฟังก์ชันนี้ใน resources และได้กำหนด TasksQueue ไว้แล้ว

processingMessage
สตริง
(ต้องระบุ)
ข้อความที่จะแสดงในคอนโซล Firebase ขณะที่มีงานอยู่ ความคืบหน้า
onUpdate
(ไม่บังคับ)

ระบุฟังก์ชันที่เรียกใช้เมื่อผู้ใช้อัปเดตฟังก์ชัน ส่วนขยาย

ข้อมูลจำเพาะของฟังก์ชัน
function
สตริง
(ต้องระบุ)

ชื่อของฟังก์ชันที่ทริกเกอร์คิวงานที่จะจัดการ กิจกรรมนั้น

ต้องประกาศฟังก์ชันนี้ใน resources และได้กำหนด TasksQueue ไว้แล้ว

processingMessage
สตริง
(ต้องระบุ)
ข้อความที่จะแสดงในคอนโซล Firebase ขณะที่มีงานอยู่ ความคืบหน้า
onConfigure
(ไม่บังคับ)

ระบุฟังก์ชันที่เรียกใช้เมื่อผู้ใช้กำหนดค่าฟังก์ชันใหม่ ส่วนขยาย

ข้อมูลจำเพาะของฟังก์ชัน
function
สตริง
(ต้องระบุ)

ชื่อของฟังก์ชันที่ทริกเกอร์คิวงานที่จะจัดการ กิจกรรมนั้น

ต้องประกาศฟังก์ชันนี้ใน resources และได้กำหนด TasksQueue ไว้แล้ว

processingMessage
สตริง
(ต้องระบุ)
ข้อความที่จะแสดงในคอนโซล Firebase ขณะที่มีงานอยู่ ความคืบหน้า

เหตุการณ์ที่กำหนดเอง (Eventarc)

เหตุการณ์ที่กำหนดเองคือเหตุการณ์ที่ส่วนขยายเกิดขึ้นเพื่อให้ผู้ใช้แทรกได้ ตรรกะของตัวเองลงในส่วนขยายของคุณ ดูส่วน Eventarc ใน เพิ่มฮุกผู้ใช้ลงในส่วนขยาย

events:
  - type: publisher-id.extension-name.version.event-name
    description: Description of the event
  - type: publisher-id.extension-name.version.another-event-name
    description: Description of the other event
ช่องเหตุการณ์ที่กำหนดเอง
type
สตริง
(ต้องระบุ)
ตัวระบุประเภทเหตุการณ์ สร้างตัวระบุจาก 3-4 ฟิลด์ที่คั่นด้วยจุด: รหัสผู้เผยแพร่โฆษณา ชื่อส่วนขยาย และชื่อเหตุการณ์ ต้องระบุฟิลด์ ขอแนะนำให้ระบุช่องเวอร์ชัน เลือกชื่อที่ไม่ซ้ำกัน และคำอธิบายเหตุการณ์แต่ละประเภท ที่คุณเผยแพร่
description
สตริง
(ต้องระบุ)
คำอธิบายของกิจกรรม