全部产品

2. 创建函数

更新时间:2018-08-17 17:29:51

在开通函数服务之后,根据您的使用习惯,您可以使用 可视化工具函数计算控制台命令行工具 fcli 创建函数。

创建函数

  1. 登录函数计算管理控制台。

  2. 新建服务,本示例的服务名称为cdn_events_trigger_demo,所属区域为“华东2”。控制台新建服务请参考 新建服务

    service

  3. 开启【高级配置】,角色创建方式为新建角色,系统授权模版选择AliyunOSSFullAccess,点击【授权】再【确定】。角色配置了此服务可以访问其他云服务的权限,关于权限的详细信息,可参考 权限简介

    policy

  4. 在左侧导航栏选择服务,进入到新建的服务中,单击【创建函数】,在创建函数页面:

    1. 单击【选择全部的语言】,在下拉菜单中选择python2.7,选择【空白函数】

    2. 选择【不创建触发器】,单击【下一步】

    3. 创建函数并填写函数名称,描述信息和运行环境。

      function

    4.单击【下一步】,核对权限信息,本示例不需要访问其他云资源,直接单击【下一步】

    5.核对信息无误后,单击【创建】

编写函数

在“在线编辑”的代码区域中,复制一下Python 函数代码,并替换您用来存储log文件的OSS bucket。若还未创建OSS bucket,创建方式如第一步中类似,不再赘述。

  1. import json
  2. import oss2
  3. import requests
  4. def handler(event, context):
  5. creds = context.credentials
  6. auth = oss2.StsAuth(creds.access_key_id, creds.access_key_secret, creds.security_token)
  7. bucket = oss2.Bucket(auth, 'your endpoint', 'your bucket name')
  8. # Parse the event to get the source object info.
  9. eventObj = json.loads(event)["events"]
  10. fileUrl = eventObj[0]["eventParameter"]["filePath"]
  11. file = requests.get(fileUrl)
  12. result = bucket.put_object("your log name", fileUrl)
  13. return result.status

下一步

测试函数