云服务器内容精选

  • 创建程序包 本例使用Python语言实现图片压缩的功能,有关函数开发的过程请参考Python函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。 图1 样例代码目录 其中index.py为函数执行的入口文件,index.py中入口函数的代码片段如下,参数“output_bucket”为压缩后的图片存储地址,需要在创建函数时配置自定义参数。 # -*-coding:utf-8 -*- import os import string import random import urllib.parse from PIL import Image from obs import ObsClient LOCAL_MOUNT_PATH = '/tmp/' def handler(event, context): ak = context.getSecurityAccessKey() sk = context.getSecuritySecretKey() st = context.getSecurityToken() if ak == "" or sk == "" or st == "": context.getLogger().error('Failed to access OBS because no temporary ' 'AK, SK, or token has been obtained. Please ' 'set an agency.') return 'Failed to access OBS because no temporary AK, SK, or token ' \ 'has been obtained. Please set an agency. ' obs_endpoint = context.getUserData('obs_endpoint') if not obs_endpoint: return 'obs_endpoint is not configured' output_bucket = context.getUserData('output_bucket') if not output_bucket: return 'output_bucket is not configured' compress_handler = ThumbnailHandler(context) records = event.get("Records", None) return compress_handler.run(records[0])
  • 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。 必须使用两个不同的桶。如果使用一个桶,会无限执行函数。(源桶上传图片会触发函数执行,从而无限循环)。 操作步骤 登录 对象存储服务 控制台,单击“创建桶”,进入“创建桶”界面。 在“创建桶”界面,填写存储桶信息。 区域:根据实际情况设置 桶名称输入:“your-bucket-input” 数据冗余存储策略:“单AZ存储” 默认存储类别:“标准存储” 桶策略:"私有" 服务端加密:“不开启加密” 归档数据直读:“关闭” 其余参数保持默认,单击“立即创建”,完成源桶创建。 重复2,创建目标桶。 区域及存储类别与源桶保持一致,桶名称命名为“your-bucket-output”。 完成桶创建以后,OBS桶列表有your-bucket-input、your-bucket-output两个桶。
  • 创建委托 登录 统一身份认证 服务控制台,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,进入“创建委托”界面。 填写委托信息。 委托名称:输入“serverless_trust”。 委托类型:选择“云服务”。 云服务:选择“ 函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在“配置权限”界面勾选“Tenant Administrator”,单击“确定”。 Tenant Administrator:拥有该权限的用户可以对企业拥有的所有云资源执行任意操作。 单击“确定”,完成权限委托设置。