更新时间:2022-01-28 GMT+08:00
分享

构建程序

本例提供了为图片打水印功能的程序包,用户可以下载(watermark.zip)、学习使用。

创建程序包

本例使用Python语言实现为图片打水印的功能,有关函数开发的过程请参考Python函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。

图1 样例代码目录

其中index.py为函数执行的入口文件,index.py中入口函数的代码片段如下,参数“obs_output_bucket”为打水印后的图片存储地址,需要在创建函数时配置自定义参数。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
def handler(event, context):
    srcBucket, srcObjName = getObjInfoFromObsEvent(event)
    outputBucket = context.getUserData('obs_output_bucket')

    client = newObsClient(context)
    # download file uploaded by user from obs
    localFile = "/tmp/" + srcObjName
    downloadFile(client, srcBucket, srcObjName, localFile)

    outFileName, outFile = watermark_image(localFile, srcObjName)
    # 将转换后的文件上传到新的obs桶中
    uploadFileToObs(client, outputBucket, outFileName, outFile)

    return 'OK'

创建函数

创建函数的时候,必须选择委托包含OBS访问权限的委托,否则不能使用OBS服务。

  1. 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,进入函数列表界面。
  2. 单击“创建函数”,进入创建函数流程。
  3. 填写函数配置信息

    1. 输入基础配置信息,如图2所示。

      函数名称输入:“fss_examples_image_watermark”

      所属应用选择默认的“default”。

      描述输入:“图片打水印”

      委托名称选择创建委托中创建的“serverless_trust”

      图2 基础配置
    2. 输入代码信息,如图3所示。

      运行时语言选择:“Python2.7”

      函数执行入口输入:“index.handler”

      代码选择“上传ZIP文件”,从本地上传“fss_examples_image_watermark.zip”

      图3 代码配置
    3. 单击右侧“创建函数”,完成函数创建。

  4. 进入fss_examples_image_watermark函数详情页,进入“代码”页签,添加“pillow-6.2.2”依赖包。

  5. 进入fss_examples_image_watermark函数详情页,在“配置”页签,输入环境信息,如图4所示。

    内存选择:“128”

    超时时间输入:“3”

    设置环境变量,键obs_output_bucket为index.py文件中定义的存放输出水印图片的OBS桶参数,值hugb-bucket-output为创建OBS桶中创建的存放输出水印图片的OBS桶。obs_region为OBS桶obs_output_bucket所在的Region,以下截图仅供参考,在实际使用中,请根据实际情况替换。

    图4 环境配置

  6. 单击页面右上角“保存”,保存配置信息。
分享:

    相关文档

    相关产品

close