当您需通过事件源如对象存储OSS触发函数执行时,可授予该事件源触发函数的权限,该权限是触发器级别的,每个触发器的角色均可以被授予相应权限,该角色也可以同时被授予不同触发器。本文以授予OSS访问函数计算的权限为例,介绍授予事件源访问函数计算权限的应用场景和操作步骤。
应用场景
以OSS事件源触发函数计算代码执行为例,当存在一个OSS Bucket A和函数B,需要将此Bucket A的上传文件事件触发函数计算的函数B时,您需要创建一个OSS触发器并授予相应权限策略。访问控制提供系统授权策略AliyunOSSEventNotificationRolePolicy,该策略具有OSS事件源触发函数计算代码执行的权限。在创建触发器时,您可以为触发器绑定一个角色,既可以新建一个新角色也可以使用已有角色。然后将策略AliyunOSSEventNotificationRolePolicy绑定到该角色内,成功绑定该策略后OSS事件源就可以触发函数计算代码执行。
操作步骤
- 登录函数计算控制台,在左侧导航栏,单击服务及函数。
- 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
- 在函数管理页面,单击目标函数名称,然后在函数详情页面,单击触发器管理页签。
在函数详情页面,单击创建触发器,在创建触发器面板,填写相关信息,然后单击确定。
说明其他类型的触发器的权限配置过程基本一致,按需选择相应的服务类型即可。HTTP触发器事件源在您创建HTTP函数时已成功创建。
配置项
操作
本文示例
触发器类型
选择对象存储 OSS。
对象存储 OSS
名称
填写自定义的触发器名称。
oss-trigger
版本或别名
默认值为LATEST,如果您需要创建其他版本或别名的触发器,需先在函数详情页的版本或别名下拉列表选择该版本。关于版本和别名的简介,请参见管理版本和管理别名。
LATEST
Bucket 名称
选择已创建的OSS Bucket。
testbucket
文件前缀
输入要匹配的文件名称的前缀。建议您配置文件前缀和后缀,避免触发事件嵌套循环触发引起额外费用。此外,一个Bucket的不同触发器如果指定了相同的事件类型,则前缀和后缀不能重复。详细信息,请参见原生OSS触发器触发规则。
重要文件前缀不能以
/
开头,否则会导致OSS触发器无法被触发。source
文件后缀
输入要匹配的文件名称的后缀。强烈建议您配置前缀和后缀,避免触发事件嵌套循环触发引起额外费用。另外,一个Bucket的不同触发器如果指定了相同的事件类型,则前缀和后缀不能重复。详细信息,请参见原生OSS触发器触发规则。
png
触发事件
选择一个或多个触发事件。关于对象存储OSS的事件类型,请参见OSS事件定义。
本示例选择oss:ObjectCreated:PutObject。
oss:ObjectCreated:PutObject
角色名称
选择AliyunOSSEventNotificationRole。
说明如果您第一次创建该类型的触发器,则需要在单击确定后,在弹出的对话框中选择立即授权。
AliyunOSSEventNotificationRole