如果您希望在發送GetObject請求時OSS可以自動觸發函數計算服務,并將檢索到的數據的轉換結果返回給應用程序,您需要通過對象FC接入點發送請求。通過對象FC接入點,您可以在保持Object存儲語義且無需改造客戶端的情況下,無縫接入對文件內容修改或過濾的能力。本文介紹如何創建對象FC接入點。
前提條件
Bucket所屬地域必須為:華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北 3(張家口)、華北5(呼和浩特)、華南1(深圳)、西南1(成都)、中國香港、美國(硅谷)、美國(弗吉尼亞)、日本(東京)、韓國(首爾)、新加坡、馬來西亞(吉隆坡)、印度尼西亞(雅加達)、德國(法蘭克福)、英國(倫敦)。
已在以上Bucket所屬地域創建接入點。具體操作,請參見創建接入點
已在以上Bucket所屬地域創建函數計算服務。具體操作,請參見創建服務。
為已創建服務關聯的默認角色(AliyunFCDefaultRole)授予
oss:WriteGetObjectResponse
權限。具體的權限策略如下:{ "Statement": [ { "Action": "oss:WriteGetObjectResponse", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
具體步驟,請參見為RAM角色授權。
在已創建的函數計算服務中創建函數。
支持通過Java、Python、Go SDK調用GetObject接口時觸發函數計算,通過這幾種語言SDK部署函數代碼時,您需要創建符合運行環境要求的函數。
通過Java SDK部署函數代碼時,需要創建運行環境為Java 11的函數。
通過Python SDK部署函數代碼時,需要創建運行環境為Python 3.10的函數。
通過Go SDK部署函數代碼時,需要創建運行環境為Go 1的函數。
其他參數保留默認配置。具體操作,請參見創建函數。
RAM用戶必須擁有以下權限:
oss:CreateAccessPointForObjectProcess
、oss:GetAccessPointForObjectProcess
、oss:DeleteAccessPointForObjectProcess
、oss:ListAccessPointsForObjectProcess
、oss:PutAccessPointConfigForObjectProcess
、oss:GetAccessPointConfigForObjectProcess
、oss:PutAccessPointPolicyForObjectProcess
、oss:GetAccessPointPolicyForObjectProcess
和oss:DeleteAccessPointPolicyForObjectProcess
。具體操作,請參見RAM Policy常見示例。
使用限制
限制項 | 說明 |
創建方式 | 僅支持通過OSS控制臺和API的方式創建對象FC接入點。不支持通過SDK、ossutil等方式創建對象FC接入點。 |
數量 |
|
修改規則 | 創建對象FC接入點后,僅支持修改接入點策略,不支持修改接入點基礎信息,例如接入點名稱、接入點別名等。 |
訪問方式 | 不支持匿名訪問。 |
使用OSS控制臺
登錄OSS管理控制臺。
在左側導航欄,單擊對象FC接入點列表。
在對象FC接入點列表頁面,單擊創建對象FC接入點。
在創建對象FC接入點對話框,按說明完成以下配置項,然后單擊確定。
配置項
說明
地域
下拉選擇關聯接入點所在地域。
對象FC接入點名稱
為對象FC接入點命名。命名規范說明如下:
命名長度不能超過63個字符。
只允許包含小寫字母、數字、短橫線(
-
),且不能以短橫線開頭或結尾。名稱在當前地域必須唯一。
支持的接入點
選擇已創建的接入點。
存儲桶名稱
顯示接入點關聯的存儲空間名稱。
OSS API
選中GetObject。
FC函數服務
選擇已創建的函數計算服務。
調用 FC 函數
選擇已創建的函數,并選中FC 函數支持使用 Range GetObject 請求。
FC 函數版本
選擇已創建函數對應的版本。如果置空,則默認使用LATEST版本。
完成角色授權。
首次創建對象FC接入點時,您需要通過單擊RAM授權并按照頁面指引完成
AliyunOSSObjectFcForOSSDefaultRole
角色授權。為確保OSS服務賬號可以正常調用函數計算服務,請勿禁用、修改或者刪除該角色以及該角色關聯的權限策略。單擊完成。
對象FC接入點創建完成預計需要10分鐘左右。
對象FC接入點創建后,對象FC接入點列表頁面將顯示OSS自動創建的對象FC接入點別名。
不支持修改、刪除或者禁用對象FC接入點別名。
僅當通過對象FC接入點別名訪問GetObject接口時會觸發函數計算。當使用對象FC接入點別名訪問非GetObject接口時,后臺將自動切換為OSS接入點,并遵循OSS接入點的權限策略。
使用REST API
如果您的程序自定義要求較高,您可以直接發起REST API請求。直接發起REST API請求需要手動編寫代碼計算簽名。更多信息,請參見CreateAccessPointForObjectProcess。