文档首页 > > 最佳实践> 使用函数为图片打水印> 构建程序

构建程序

分享
更新时间: 2020/04/20 GMT+08:00

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

创建程序包

本例使用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. 填写函数配置信息

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

      函数名称输入:“fss_examples_image_watermark”

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

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

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

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

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

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

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

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

  3. 进入fss_examples_image_watermark函数详情页,进入“代码”页签,添加“PIL-1.1.7”依赖包:

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

    内存选择:“128”

    超时时间输入:“3”

    设置环境变量,键obs_output_bucket为index.py文件中定义的存放输出水印图片的OBS桶参数,值hugb-bucket-output为中创建OBS桶创建的存放输出水印图片的OBS桶。

    图4 环境配置

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

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问