การอ้างอิงสำหรับ 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

หมายเหตุ: หากคุณกําหนดพารามิเตอร์ "location" สําหรับฟังก์ชันที่ติดตั้งใช้งานแล้วของส่วนขยาย ให้ตั้งค่าช่องนี้เป็น 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

ระบุว่าพารามิเตอร์อาจเป็นค่าเดียว (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
(ไม่บังคับ)
ตัวกรองที่จำกัดเหตุการณ์ที่จะฟังมากขึ้นอีก ตัวอย่างเช่น คุณสามารถฟังเหตุการณ์ที่ตรงกับทรัพยากรที่ระบุเท่านั้น รูปแบบ ดูข้อมูลเกี่ยวกับการกรองเหตุการณ์แต่ละประเภทได้ที่เขียนฟังก์ชัน Cloud สำหรับส่วนขยาย
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 และมีการกําหนด taskQueue

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

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

ข้อกําหนดของฟังก์ชัน
function
สตริง
(ต้องระบุ)

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

ฟังก์ชันนี้ต้องประกาศในส่วน resources และมีการกําหนด taskQueue

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

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

ข้อกําหนดของฟังก์ชัน
function
สตริง
(ต้องระบุ)

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

ฟังก์ชันนี้ต้องประกาศในส่วน resources และมีการกําหนด taskQueue

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
สตริง
(ต้องระบุ)
คำอธิบายของกิจกรรม