如果您希望在發送GetObject請求時OSS可以自動觸發Function Compute服務,並將檢索到的資料的轉換結果返回給應用程式,您需要通過對象FC存取點發送請求。通過對象FC存取點,您可以在保持Object儲存語義且無需改造用戶端的情況下,無縫接入對檔案內容修改或過濾的能力。本文介紹如何建立對象FC存取點。
前提條件
Bucket所屬地區必須為:華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北 3(張家口)、華北5(呼和浩特)、華南1(深圳)、西南1(成都)、中國香港、美國(矽谷)、美國(維吉尼亞)、日本(東京)、韓國(首爾)、新加坡、馬來西亞(吉隆坡)、印尼(雅加達)、德國(法蘭克福)、英國(倫敦)。
已在以上Bucket所屬地區建立存取點。具體操作,請參見建立存取點
已在以上Bucket所屬地區建立Function Compute服務。具體操作,請參見建立服務。
為已建立服務關聯的預設角色(AliyunFCDefaultRole)授予
oss:WriteGetObjectResponse
許可權。具體的權限原則如下:{ "Statement": [ { "Action": "oss:WriteGetObjectResponse", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
具體步驟,請參見為RAM角色授權。
在已建立的Function Compute服務中建立函數。
支援通過Java、Python、Go SDK調用GetObject介面時觸發Function Compute,通過這幾種語言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函數服務
選擇已建立的Function Compute服務。
調用 FC 函數
選擇已建立的函數,並選中FC 函數支援使用 Range GetObject 請求。
FC 函數版本
選擇已建立函數對應的版本。如果置空,則預設使用LATEST版本。
完成角色授權。
首次建立對象FC存取點時,您需要通過單擊RAM授權並按照頁面指引完成
AliyunOSSObjectFcForOSSDefaultRole
角色授權。為確保OSS服務帳號可以正常調用Function Compute服務,請勿禁用、修改或者刪除該角色以及該角色關聯的權限原則。單擊完成。
對象FC存取點建立完成預計需要10分鐘左右。
對象FC存取點建立後,對象FC存取點列表頁面將顯示OSS自動建立的對象FC存取點別名。
不支援修改、刪除或者禁用對象FC存取點別名。
僅當通過對象FC存取點別名訪問GetObject介面時會觸發Function Compute。當使用對象FC存取點別名訪問非GetObject介面時,後台將自動切換為OSS存取點,並遵循OSS存取點的權限原則。
使用REST API
如果您的程式自訂要求較高,您可以直接發起REST API請求。直接發起REST API請求需要手動編寫代碼計算簽名。更多資訊,請參見CreateAccessPointForObjectProcess。