當您需通過事件來源如Object Storage Service觸發函數執行時,可授予該事件來源觸發函數的許可權,該許可權是觸發器層級的,每個觸發器的角色均可以被授予相應許可權,該角色也可以同時被授予不同觸發器。本文以授予OSS訪問Function Compute的許可權為例,介紹授予事件來源訪問Function Compute許可權的應用情境和操作步驟。
應用情境
以OSS事件來源觸發Function Compute代碼執行為例,當存在一個OSS Bucket A和函數B,需要將此Bucket A的上傳檔案事件觸發Function Compute的函數B時,您需要建立一個OSS觸發器並授予相應權限原則。存取控制提供系統授權策略AliyunOSSEventNotificationRolePolicy,該策略具有OSS事件來源觸發Function Compute代碼執行的許可權。在建立觸發器時,您可以為觸發器綁定一個角色,既可以建立一個新角色也可以使用已有角色。然後將策略AliyunOSSEventNotificationRolePolicy綁定到該角色內,成功綁定該策略後OSS事件來源就可以觸發Function Compute代碼執行。
操作步驟
- 登入Function Compute控制台,在左側導覽列,單擊服務及函數。
- 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務。
- 在函數管理頁面,單擊目標函數名稱,然後在函數詳情頁面,單擊觸發器管理頁簽。
在函數詳情頁面,單擊建立觸發器,在建立觸發程序面板,填寫相關資訊,然後單擊確定。
說明其他類型的觸發器的許可權配置過程基本一致,按需選擇相應的服務類型即可。HTTP觸發事件源在您建立HTTP函數時已成功建立。
配置項
操作
本文樣本
觸發器類型
選擇Object Storage Service。
Object Storage Service
名稱
填寫自訂的觸發器名稱。
oss-trigger
版本或別名
預設值為LATEST,如果您需要建立其他版本或別名的觸發器,需先在函數詳情頁的版本或別名下拉式清單選擇該版本。關於版本和別名的簡介,請參見管理版本和管理別名。
LATEST
Bucket 名稱
選擇已建立的OSS Bucket。
testbucket
檔案首碼
輸入要匹配的檔案名稱的首碼。建議您設定檔首碼和尾碼,避免觸發事件嵌套迴圈觸發引起額外費用。此外,一個Bucket的不同觸發器如果指定了相同的事件類型,則首碼和尾碼不能重複。詳細資料,請參見OSS觸發器觸發規則。
重要檔案首碼不能以
/
開頭,否則會導致OSS觸發器無法被觸發。source
檔案尾碼
輸入要匹配的檔案名稱的尾碼。強烈建議您配置首碼和尾碼,避免觸發事件嵌套迴圈觸發引起額外費用。另外,一個Bucket的不同觸發器如果指定了相同的事件類型,則首碼和尾碼不能重複。詳細資料,請參見OSS觸發器觸發規則。
png
觸發事件
選擇一個或多個觸發事件。關於Object Storage Service的事件類型,請參見OSS事件定義。
oss:ObjectCreated:PutObject
,oss:ObjectCreated:PostObject
,oss:ObjectCreated:CompleteMultipartUpload
角色名稱
選擇AliyunOSSEventNotificationRole。
說明如果您第一次建立該類型的觸發器,則需要在單擊確定後,在彈出的對話方塊中選擇立即授權。
AliyunOSSEventNotificationRole