当您需通过事件源如对象存储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:PostObject,- oss:ObjectCreated:CompleteMultipartUpload- 角色名称 - 选择AliyunOSSEventNotificationRole。 说明- 如果您第一次创建该类型的触发器,则需要在单击确定后,在弹出的对话框中选择立即授权。 - AliyunOSSEventNotificationRole