更新时间:2023-11-22 GMT+08:00

核心概念

以下将介绍Framework的主要概念,以及它们与华为云函数工作流的关系。

函数

函数是华为云函数工作流函数。它是一个独立的部署单元,就像微服务一样。它只是部署在云中的代码,主要是为了执行单个任务而编写,例如:

  • 将用户保存到数据库。
  • 处理数据库中的文件。

您可以在代码中执行多个任务,但不建议在没有充分理由的情况下这样做。分离关注点是最好的,Framework旨在帮助您轻松开发和部署函数,以及管理它们。

事件

任何触发华为云函数工作流的函数执行的事物都被Framework视为事件。事件是指华为云函数工作流上的平台事件,例如:API网关服务和API(例如,REST API)、OBS桶(例如,上传到桶中的镜像)等等。

在Serverless Framework中为华为云函数工作流定义事件时,Framework会自动将事件及其函数转换为相应的云资源。这样就可以配置事件,以便您的函数可以侦听它。

服务

服务是Framework的组织单位。您可以将其视为项目文件,单个应用可以拥有多个服务。可以在服务中定义函数、触发它们的事件以及函数使用的资源,所有这些都在一个名为serverless.yml(或serverless.json)的文件中,例如:

# serverless.yml

service: fgs

functions: # Your "Functions"
  hello_world:
    events: # The "Events" that trigger this function
      - apigw:
          env_id: DEFAULT_ENVIRONMENT_RELEASE_ID
          env_name: RELEASE
          req_method: GET
          path: /test
          name: API_test

通过运行serverless deploy使用Framework进行部署时,serverless.yml中的所有内容都会同时部署。

插件

可以使用插件覆盖或扩展Framework的功能。每个serverless.yml都可以包含一个“plugins:属性”,该属性具有多个插件。
# serverless.yml

plugins:
  - serverless-huawei-functions