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

构建程序

本例提供了实现图片压缩功能的程序包,用户可以下载(fss_examples_image_thumbnail.zip)、学习使用。

创建程序包

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

图1 样例代码目录

其中index.py为函数执行的入口文件,index.py中入口函数的代码片段如下,参数“obs_output_bucket”为压缩后的图片存储地址,需要在创建函数时配置自定义参数。
def handler (event, context):
    srcBucket, srcObjName = getObjInfoFromObsEvent(event)
    obs_address = context.getUserData('obs_address')
    outputBucket = context.getUserData('obs_output_bucket')
    if obs_address is None:
        obs_address = '100.125.15.200'
    if outputBucket is None:
        outputBucket = 'casebucket-out'

    print("*** srcBucketName: " + srcBucket)
    print("*** srcObjName:" + srcObjName)
    print("*** obs_address: " + obs_address)
    print("*** output bucket: " + outputBucket)

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

    outFile, outputFileName = image_thumbnail(srcObjName)

    # 将转换后的文件上传到新的obs桶中
    uploadFileToObs(client, outputBucket, outFile, outputFileName)
    return 'OK'

创建函数

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

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

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

      函数名称输入:“fss_examples_image_thumbnail”

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

      描述输入:“压缩图片”

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

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

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

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

      代码选择“上传ZIP文件”,上传样例代码中的“fss_examples_image_thumbnail.zip”

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

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

    内存选择:“256”

    超时时间输入:“40”

    设置环境变量:

    键obs_output_bucket: index.py文件中定义的存放输出图片的OBS桶参数,值your-bucket-output: 创建OBS桶中创建的存放输出图片OBS桶;

    键obs_address: index.py文件中定义的存放输出图片的OBS桶的地址参数,值obs.cn-north-1.myhuaweicloud.com: 华北-北京一区域的OBS桶地址。

    图4 环境变量

    键obs_address值的格式为obs.{region}.myhuaweicloud.com,region的值,请参考地区和终端节点

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

添加依赖包

示例代码依赖obs和pillow包,需要通过依赖包的形式进行引入,步骤如下。

  1. 用户进入fss_examples_image_thumbnail函数详情页,在“代码”页签,单击“添加”,弹出依赖包选择界面,如图所示:

  2. 选择完成后单击“确定”。
  3. 单击页面右上角“保存”,保存依赖包信息。
分享:

    相关文档

    相关产品

close