

# 使用 Amazon S3 对象 Lambda 接入点
<a name="olap-use"></a>

**注意**  
自 2025 年 11 月 7 日起，S3 对象 Lambda 仅可供当前在使用该服务的现有客户以及部分 Amazon 合作伙伴网络（APN）合作伙伴使用。要了解与 S3 对象 Lambda 类似的功能，请在此处了解更多信息：[Amazon S3 Object Lambda availability change](https://docs.amazonaws.cn/AmazonS3/latest/userguide/amazons3-ol-change.html)。

通过 Amazon S3 对象 Lambda 接入点发出请求与通过其他接入点发出请求的工作方式相同。有关如何通过接入点发出请求的更多信息，请参阅 [使用通用存储桶的 Amazon S3 接入点](using-access-points.md)。您可以使用 Amazon S3 控制台、Amazon Command Line Interface（Amazon CLI）、Amazon SDK 或 Amazon S3 REST API，通过对象 Lambda 接入点发出请求。

**重要**  
对象 Lambda 接入点的 Amazon 资源名称（ARN）使用 `s3-object-lambda` 的服务名称。因此，对象 Lambda 接入点 ARN 以 `arn:aws::s3-object-lambda`（而不是 `arn:aws::s3`）开头，它与其他接入点结合使用。

## 如何查找对象 Lambda 接入点的 ARN
<a name="olap-find-arn"></a>

要将对象 Lambda 接入点与 Amazon CLI 或 Amazon SDK 结合使用，您需要知道对象 Lambda 接入点的 Amazon 资源名称（ARN）。以下示例说明如何通过使用 Amazon S3 控制台或 Amazon CLI 查找对象 Lambda 接入点的 ARN。

### 使用 S3 控制台
<a name="olap-use-arn-console"></a>

**使用控制台查找对象 Lambda 接入点的 ARN**

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 在左侧导航窗格中，选择**对象 Lambda 接入点**。

1. 选择要复制其 ARN 的对象 Lambda 接入点旁边的选项按钮。

1. 请选择**复制 ARN**。

### 使用 Amazon CLI
<a name="olap-use-arn-cli"></a>

**使用 Amazon CLI 查找对象 Lambda 接入点的 ARN**

1. 要检索与 Amazon Web Services 账户 关联的对象 Lambda 接入点的列表，请运行以下命令。在运行命令之前，请将账户 ID {{`111122223333`}} 替换为您的 Amazon Web Services 账户 ID。

   ```
   aws s3control list-access-points-for-object-lambda --account-id {{111122223333}}
   ```

1. 查看命令输出以查找您要使用的对象 Lambda 接入点 ARN。前一个命令的输出内容应类似如下示例。

   ```
   {
       "ObjectLambdaAccessPointList": [
           {
               "Name": "my-object-lambda-ap",
               "ObjectLambdaAccessPointArn": "arn:aws:s3-object-lambda:us-east-1:111122223333:accesspoint/my-object-lambda-ap"
           },
           ...
       ]
   }
   ```

## 如何为您的 S3 存储桶对象 Lambda 接入点使用存储桶式别名
<a name="ol-access-points-alias"></a>

当您创建对象 Lambda 接入点时，Amazon S3 会自动为您的对象 Lambda 接入点生成一个唯一的别名。您可以在接入点数据面板操作请求中使用此别名，而不使用 Amazon S3 存储桶名称或对象 Lambda 接入点 Amazon 资源名称（ARN）。有关这些操作的列表，请参阅[接入点兼容性](access-points-service-api-support.md)。

对象 Lambda 接入点别名是在与 Amazon S3 存储桶相同的命名空间中创建的。此别名自动生成，无法更改。对于现有对象 Lambda 接入点，会自动分配别名以供使用。对象 Lambda 接入点别名符合有效 Amazon S3 存储桶名称的所有要求，包括以下部分：

`{{Object Lambda Access Point name prefix}}-{{metadata}}--ol-s3`

**注意**  
`--ol-s3` 后缀是为对象 Lambda 接入点别名预留的，不能用于存储桶或对象 Lambda 接入点名称。有关 Amazon S3 存储桶命名规则的更多信息，请参阅[通用存储桶命名规则](bucketnamingrules.md)。

以下示例显示了名为 `{{my-object-lambda-access-point}}` 的对象 Lambda 接入点的 ARN 和对象 Lambda 接入点别名。
+ **ARN** – `arn:aws:s3-object-lambda:{{region}}:{{account-id}}:accesspoint/{{my-object-lambda-access-point}}`
+ **对象 Lambda 接入点别名** – `{{my-object-lambda-acc}}-{{1a4n8yjrb3kda96f67zwrwiiuse1a}}--ol-s3`

当您使用对象 Lambda 接入点时，无需进行大量代码更改，即可使用对象 Lambda 接入点别名。

当您删除对象 Lambda 接入点时，对象 Lambda 接入点别名将变为非活动状态且未调配。

### 如何查找对象 Lambda 接入点的别名
<a name="olap-find-alias"></a>

#### 使用 S3 控制台
<a name="olap-use-alias-console"></a>

**使用控制台查找对象 Lambda 接入点的别名**

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 在左侧导航窗格中，选择**对象 Lambda 接入点**。

1. 对于要使用的对象 Lambda 接入点，复制**对象 Lambda 接入点别名**值。

#### 使用 Amazon CLI
<a name="olap-use-alias-cli"></a>

创建对象 Lambda 接入点时，Amazon S3 会自动生成对象 Lambda 接入点别名，如以下示例命令所示。要运行此命令，请将 `{{user input placeholders}}` 替换为您自己的信息。有关如何使用 Amazon CLI 创建对象 Lambda 接入点的信息，请参阅[使用 Amazon CLI 创建对象 Lambda 接入点](olap-create.md#olap-create-cli-specific)。

```
aws s3control create-access-point-for-object-lambda --account-id {{111122223333}} --name {{my-object-lambda-access-point}} --configuration file://{{my-olap-configuration.json}}
{
    "ObjectLambdaAccessPointArn": "arn:aws:s3:{{region}}:{{111122223333}}:accesspoint/{{my-access-point}}",
    "Alias": {
        "Value": "{{my-object-lambda-acc}}-{{1a4n8yjrb3kda96f67zwrwiiuse1a}}--ol-s3",
        "Status": "READY"
    }
}
```

生成的对象 Lambda 接入点别名有两个字段：
+ `Value` 字段是对象 Lambda 接入点的别名值。
+ `Status` 字段是对象 Lambda 接入点别名的状态。如果状态为 `PROVISIONING`，则 Amazon S3 正在预调配对象 Lambda 接入点别名，并且该别名尚未准备就绪，无法使用。如果状态为 `READY`，则对象 Lambda 接入点别名已成功调配，并准备就绪可供使用。

有关 REST API 中 `ObjectLambdaAccessPointAlias` 数据类型的更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) 和 [https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_ObjectLambdaAccessPointAlias.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_control_ObjectLambdaAccessPointAlias.html)。

### 如何使用对象 Lambda 接入点别名
<a name="use-olap-alias"></a>

您可以使用对象 Lambda 接入点别名，而不是[接入点兼容性](access-points-service-api-support.md)中所列的操作的 Amazon S3 存储桶名称。

以下 `get-bucket-location` 命令的 Amazon CLI 示例使用存储桶的接入点别名来返回存储桶所在的 Amazon Web Services 区域。要运行此命令，请将 `{{user input placeholders}}` 替换为您自己的信息。

```
aws s3api get-bucket-location --bucket {{my-object-lambda-acc}}-{{w7i37nq6xuzgax3jw3oqtifiusw2a}}--ol-s3
            
{
    "LocationConstraint": "us-west-2"
}
```

如果请求中的对象 Lambda 接入点别名无效，则返回错误代码 `InvalidAccessPointAliasError`。有关 `InvalidAccessPointAliasError` 的更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的[错误代码列表](https://docs.amazonaws.cn/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)。

对象 Lambda 接入点别名的限制与接入点别名的限制相同。有关接入点别名限制的更多信息，请参阅[接入点别名限制](access-points-naming.md#use-ap-alias-limitations)。