创建对象FC接入点

如果您希望在发送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:CreateAccessPointForObjectProcessoss:GetAccessPointForObjectProcessoss:DeleteAccessPointForObjectProcessoss:ListAccessPointsForObjectProcessoss:PutAccessPointConfigForObjectProcessoss:GetAccessPointConfigForObjectProcessoss:PutAccessPointPolicyForObjectProcessoss:GetAccessPointPolicyForObjectProcessoss:DeleteAccessPointPolicyForObjectProcess。具体操作,请参见RAM Policy常见示例

使用限制

限制项

说明

创建方式

仅支持通过OSS控制台和API的方式创建对象FC接入点。不支持通过SDK、ossutil等方式创建对象FC接入点。

数量

  • 单个阿里云账号支持创建1000个对象FC接入点。

  • 单个Bucket支持创建100个对象FC接入点。

修改规则

创建对象FC接入点后,仅支持修改接入点策略,不支持修改接入点基础信息,例如接入点名称、接入点别名等。

访问方式

不支持匿名访问。

使用OSS控制台

  1. 登录OSS管理控制台

  2. 在左侧导航栏,单击对象FC接入点列表

  3. 对象FC接入点列表页面,单击创建对象FC接入点

  4. 创建对象FC接入点对话框,按说明完成以下配置项,然后单击确定

    配置项

    说明

    地域

    下拉选择关联接入点所在地域。

    对象FC接入点名称

    为对象FC接入点命名。命名规范说明如下:

    • 命名长度不能超过63个字符。

    • 只允许包含小写字母、数字、短横线(-),且不能以短横线开头或结尾。

    • 名称在当前地域必须唯一。

    支持的接入点

    选择已创建的接入点。

    存储桶名称

    显示接入点关联的存储空间名称。

    OSS API

    选中GetObject

    FC函数服务

    选择已创建的函数计算服务。

    调用 FC 函数

    选择已创建的函数,并选中FC 函数支持使用 Range GetObject 请求

    FC 函数版本

    选择已创建函数对应的版本。如果置空,则默认使用LATEST版本。

  5. 完成角色授权。

    首次创建对象FC接入点时,您需要通过单击RAM授权并按照页面指引完成AliyunOSSObjectFcForOSSDefaultRole角色授权。为确保OSS服务账号可以正常调用函数计算服务,请勿禁用、修改或者删除该角色以及该角色关联的权限策略。

  6. 单击完成

    • 对象FC接入点创建完成预计需要10分钟左右。

    • 对象FC接入点创建后,对象FC接入点列表页面将显示OSS自动创建的对象FC接入点别名。

    • 不支持修改、删除或者禁用对象FC接入点别名。

重要

仅当通过对象FC接入点别名访问GetObject接口时会触发函数计算。当使用对象FC接入点别名访问非GetObject接口时,后台将自动切换为OSS接入点,并遵循OSS接入点的权限策略。

使用REST API

如果您的程序自定义要求较高,您可以直接发起REST API请求。直接发起REST API请求需要手动编写代码计算签名。更多信息,请参见CreateAccessPointForObjectProcess

后续步骤

编写处理GetObject请求的函数