更新时间:2023-12-13 GMT+08:00

FGS.ObsEventMap

模型说明

FGS.ObsEventMap元素用来创建函数工作流服务的OBS触发器资源。OBS触发器依赖对象存储服务OBS,需预先开通OBS服务,通过OBS事件触发函数执行。

模型属性

表1 模型定义属性说明

属性

是否必选

描述

filter

OBS触发器过滤规则。用来决定在那些对象发生的事件能够触发函数

参数类型:FGS.OBSFilter

默认值:{u'object': {u'filterRules': []}}

使用建议:将该字段通过get_input函数传入过滤值,在AOS界面创建堆栈填写输入参数时可获取

eventType

OBS触发事件列表

参数类型:string数组

取值约束:该字段必选。有效值为["ObjectCreated:*", "ObjectCreated:Put", "ObjectCreated:Post", "ObjectCreated:Copy", "ObjectCreated:CompleteMultipartUpload", "ObjectRemoved:*", "ObjectRemoved:Delete", "ObjectRemoved:DeleteMarkerCreated"]

使用建议:建议采用默认配置:["ObjectCreated:*", "ObjectRemoved:*"]

bucketName

OBS桶的名称

参数类型:string

使用建议:采用默认配置

funcId

函数urn

参数类型:string

使用建议:采用默认配置

关联关系

表2 关联关系说明

关系说明

关联节点

关联关系

OBS.Bucket

被包含关系

FGS.Function

输出

blueprint样例

tosca_definitions_version: huaweicloud_tosca_version_1_0
inputs:
  codeUrl:
    description: >-
      The address of the function code package on OBS. You need to upload the
      function code to OBS barrel in advance.
    label: Function
    type: string
  handler:
    default: index.handler
    description: >-
      The Execution Entry of the function. Default value is index. handler. It
      can be configured independently by code file name and entry function name.
    label: Function
    type: string
  memorySize:
    constraints:
      valid_values:
        - 128
        - 256
        - 512
        - 768
        - 1024
        - 1280
        - 1536
    default: 128
    description: The memory size of the function.
    label: Function
    type: integer
  name:
    constraints:
      regex: '^[a-zA-Z]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$'
    default: image_watermark
    description: The name of the function.
    label: Function
    type: string
  runtime:
    constraints:
      valid_values:
        - Node.js6.10
        - Python2.7
        - Python3.6
        - Java8
        - Go1.8
        - Node.js8.10
    description: The runtime of the function.
    label: Function
    type: string
  timeout:
    constraints:
      in_range:
        - 3
        - 300
    default: 3
    description: The timeout of the function. The effective range is 3~300.
    label: Function
    type: integer
  xrole:
    description: The agency of the function. It should be created in advance.
    label: Function
    type: string
node_templates:
  fgsf36en:
    properties:
      codeUrl:
        get_input: codeUrl
      handler:
        get_input: handler
      memorySize:
        get_input: memorySize
      name:
        get_input: name
      role:
        get_input: xrole
      runtime:
        get_input: runtime
      timeout:
        get_input: timeout
      code: ''
      codeType: obs
    type: HuaweiCloud.FGS.Function
  fgsoe4tm:
    type: HuaweiCloud.FGS.ObsEventMap
    properties:
      eventType:
        - 'ObjectCreated:*'
        - 'ObjectRemoved:*'
      bucketName:
        get_reference: obsb17cb
      funcId:
        get_reference: fgsf36en
    requirements:
      - bucketName:
          node: obsb17cb
      - funcId:
          node: fgsf36en
  obsb17cb:
    type: HuaweiCloud.OBS.Bucket
    properties:
      acl: private
outputs:
  function-urn:
    description: function URN
    value:
      get_attribute:
        - fgsf36en
        - refID
  bucket-name:
    description: OBS bucket name
    value:
      get_attribute:
        - obsb17cb
        - refName
  obs_trigger_info:
    description: OBS trigger info
    value:
      get_attribute:
        - fgsoe4tm
        - obsEventMap