

# Creación de puntos de acceso Object Lambda
<a name="olap-create"></a>

**nota**  
A partir del 7 de noviembre de 2025, S3 Object Lambda solo estará disponible para los clientes actuales que utilizan el servicio actualmente, así como para socios seleccionados de la red de socios de AWS (APN). Para obtener más información sobre capacidades similares a las de S3 Object Lambda, haga clic aquí: [Cambio de disponibilidad de Amazon S3 Object Lambda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

Un punto de acceso de Object Lambda está asociado exactamente a un punto de acceso estándar, que se especifica durante la creación. Para crear un punto de acceso de Object Lambda, necesita los siguientes recursos:
+ **Un punto de acceso estándar S.** Cuando se trabaja con puntos de acceso de Object Lambda, este punto de acceso estándar se conoce como *punto de acceso de soporte* y está conectado a un bucket de S3 o volumen de Amazon FSx para OpenZFS. Para obtener información sobre la creación de puntos de acceso estándar, consulte [Creación de un punto de acceso](creating-access-points.md).
+ **Una función de AWS Lambda** Puede crear su propia función de Lambda o puede utilizar una función precreada. Para obtener más información sobre la creación de funciones de Lambda, consulte [Escritura de funciones de Lambda para puntos de acceso de S3 Object Lambda](olap-writing-lambda.md). Para obtener más información sobre funciones prediseñadas, consulte [Uso de funciones de Lambda creadas por AWS](olap-examples.md).
+ **(Opcional) Una política de AWS Identity and Access Management (IAM).** Los puntos de acceso de Amazon S3 admiten políticas de recursos de IAM que le permiten controlar el uso del punto de acceso en función del recurso, del usuario o de otras condiciones. Para obtener más información sobre la creación de estas políticas, consulte [Configuración de las políticas de IAM para puntos de acceso de Object Lambda](olap-policies.md).

En las siguientes secciones se describe el modo de crear un punto de acceso de Object Lambda mediante:
+ la , Consola de administración de AWS
+ La AWS Command Line Interface (AWS CLI)
+ Una plantilla de AWS CloudFormation
+ la , AWS Cloud Development Kit (AWS CDK)

Si quiere obtener más información para crear un punto de acceso de Object Lambda mediante la API de REST, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) en la *referencia de la API de Amazon Simple Storage Service*.

## Crear un punto de acceso de Object Lambda
<a name="create-olap"></a>

Utilice uno de los siguientes procedimientos para crear un punto de acceso de Object Lambda. 

### Uso de la consola de S3
<a name="olap-create-console"></a>

**Para crear un punto de acceso de Object Lambda mediante la consola**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En la barra de navegación, elija el nombre de la Región de AWS que aparece. A continuación, elija la región a la que desea cambiar. 

1. En el panel de navegación del lado izquierdo de la consola, elija **Object Lambda Access Points (Puntos de acceso de Object Lambda)**.

1. En la página **Object Lambda Access Points** (Puntos de acceso Object Lambda), elija **Create Object Lambda Access Point** (Crear un punto de acceso de Object Lambda).

1. En **Object Lambda access point name** (Nombre del punto de acceso de Object Lambda), introduzca el nombre que desea utilizar para el punto de acceso. 

   Al igual que con los puntos de acceso estándar, existen reglas para los nombres de los puntos de acceso Object Lambda. Para obtener más información, consulte [Reglas de nomenclatura para los puntos de acceso](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. En **Supporting access point( Punto de acceso compatible)**, introduzca o busque el punto de acceso estándar que desea utilizar. El punto de acceso debe estar en la misma Región de AWS que los objetos que desea transformar. Para obtener información sobre la creación de puntos de acceso estándar, consulte [Creación de un punto de acceso](creating-access-points.md).

1. En **Configuración de la transformación**, puede agregar una función que transforme los datos de su punto de acceso de Object Lambda. Realice una de las siguientes acciones:
   + Si ya tiene una función AWS Lambda en su cuenta, puede seleccionarla en **Invoke Lambda function** (Invocar función de Lambda). Aquí puede introducir el nombre de recurso de Amazon (ARN) de una función de Lambda en la Cuenta de AWS o elegir una función de Lambda del menú desplegable.
   + Si desea utilizar una función AWS creada, elija el nombre de la función en **AWS built function** (función generada por ) y seleccione **Create Lambda function** (Crear función de Lambda). Esto lo llevará a la consola de Lambda, donde podrá implementar una función integrada en su Cuenta de AWS. Para obtener más información sobre funciones integrada, consulte [Uso de funciones de Lambda creadas por AWS](olap-examples.md).

   En **S3 APIs** (API de S3), elija una o más operaciones de API para invocar. Por cada API seleccionada, debe especificar una función de Lambda para invocarla. 

1. (Opcional) En **Payload** (Carga), agregue el texto JSON que desea proporcionar a su función de Lambda como entrada. Puede configurar cargas con diferentes parámetros para diferentes puntos de acceso Object Lambda que invoquen la misma función de Lambda, ampliando así la flexibilidad de la función de Lambda.
**importante**  
Cuando utilice los puntos de acceso Object Lambda, asegúrese de que la carga no contenga información confidencial.

1. (Opcional) Para **Range and part number** (Rango y número de pieza), debe habilitar esta opción si quiere procesar solicitudes `GET` y `HEAD` con encabezados de rango y número de pieza. Cuando se selecciona esta opción, se confirma que la función de Lambda puede reconocer y procesar estas solicitudes. Para obtener más información sobre los encabezados de rango y los números de pieza, consulte [Trabajar con encabezados Range y partNumber](range-get-olap.md).

1. (Opcional) En **Métricas de solicitudes**, seleccione **Habilitar** o **Deshabilitar** para agregar la supervisión de Amazon S3 al punto de acceso de Object Lambda. Las métricas de solicitud se facturan según la tarifa de Amazon CloudWatch estándar.

1. (Opcional) En **Object Lambda Access Point policy** (Política de punto de acceso de Object Lambda), establezca una política de recursos. Las políticas de recursos otorgan permisos para el punto de acceso de Object Lambda especificado y pueden controlar el uso del punto de acceso en función del recurso, del usuario o de otras condiciones. Para obtener más información sobre las políticas de recursos de punto de acceso Object Lambda, consulte [Configuración de las políticas de IAM para puntos de acceso de Object Lambda](olap-policies.md).

1. En **Block Public Access settings for this Object Lambda Access Point** (Configuración de bloqueo del acceso público a este punto de acceso de Object Lambda), seleccione la configuración de bloqueo de acceso público que desee aplicar. Todas las configuraciones de bloqueo de acceso público están habilitadas de forma predeterminada para los nuevos puntos de acceso Object Lambda, y le recomendamos dejar habilitada la configuración predeterminada. Amazon S3 actualmente no admite cambiar la configuración de bloqueo de acceso público de un punto de acceso de Object Lambda después de que se haya creado el punto de acceso de Object Lambda.

   Para obtener más información sobre el uso del bloqueo de acceso público de Amazon S3, consulte [Administración del acceso público a los puntos de acceso para buckets de propósito general](access-points-bpa-settings.md).

1. Elija **Create Object Lambda Access Point** (Crear punto de acceso de Object Lambda).

### Mediante AWS CLI
<a name="olap-create-cli"></a>

**Para crear un punto de acceso de Object Lambda mediante la plantilla AWS CloudFormation**
**nota**  
Para utilizar los comandos siguientes, sustituya `user input placeholders` con su información.

1. Descargue el paquete de implementación de la función de AWS Lambda `s3objectlambda_deployment_package.zip` en la [configuración predeterminada de S3 Object Lambda](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration).

1. Ejecute el siguiente comando `put-object` para cargar el paquete a un bucket de Amazon S3.

   ```
   aws s3api put-object --bucket Amazon S3 bucket name --key s3objectlambda_deployment_package.zip --body release/s3objectlambda_deployment_package.zip
   ```

1. Descargue la plantilla de AWS CloudFormation `s3objectlambda_defaultconfig.yaml` en la [configuración predeterminada de S3 Object Lambda](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration).

1. Ejecute el siguiente comando `deploy` para implementar la plantilla en su Cuenta de AWS.

   ```
   aws cloudformation deploy --template-file s3objectlambda_defaultconfig.yaml \
    --stack-name CloudFormation stack name \ 
    --parameter-overrides ObjectLambdaAccessPointName=Object Lambda Access Point name \
     SupportingAccessPointName=Amazon S3 access point S3BucketName=Amazon S3 bucket \
     LambdaFunctionS3BucketName=Amazon S3 bucket containing your Lambda package \ 
     LambdaFunctionS3Key=Lambda object key LambdaFunctionS3ObjectVersion=Lambda object version \ 
     LambdaFunctionRuntime=Lambda function runtime --capabilities capability_IAM
   ```

Puede configurar esta plantilla AWS CloudFormation para que invoque a Lambda para operaciones `GET`, `HEAD` y `LIST` de la API. Para obtener más información sobre cómo modificar la configuración predeterminada de la plantilla, consulte [Uso de una plantilla de AWS CloudFormation para automatizar la configuración de S3 Object Lambda](olap-using-cfn-template.md).<a name="olap-create-cli-specific"></a>

**Para crear un punto de acceso de Object Lambda mediante la AWS CLI**
**nota**  
Para utilizar los comandos siguientes, sustituya `user input placeholders` con su información.

En el siguiente ejemplo, se crea un punto de acceso de Object Lambda denominado *`my-object-lambda-ap`* para el bucket *`amzn-s3-demo-bucket1`* de la cuenta *`111122223333`*. En este ejemplo, se supone que ya se ha creado un punto de acceso estándar denominado *`example-ap`*. Para obtener información sobre la creación de un punto de acceso estándar, consulte [Creación de un punto de acceso](creating-access-points.md).

En este ejemplo, se utiliza la función compilada con anticipación `decompress` de AWS. Para obtener más información sobre funciones prediseñadas, consulte [Uso de funciones de Lambda creadas por AWS](olap-examples.md).

1. Crear un bucket. En este ejemplo, usaremos *`amzn-s3-demo-bucket1`*. Para obtener más información acerca de cómo se crean los buckets, consulte [Creación de un bucket de uso general](create-bucket-overview.md).

1. Cree un punto de acceso estándar y adjúntelo a su bucket. En este ejemplo, usaremos *`example-ap`*. Para obtener información sobre la creación de puntos de acceso estándar, consulte [Creación de un punto de acceso](creating-access-points.md).

1. Realice una de las siguientes acciones: 
   + Cree una función de Lambda en su cuenta que le gustaría utilizar para transformar su objeto de Amazon S). Para obtener más información sobre la creación de funciones de Lambda, consulte [Escritura de funciones de Lambda para puntos de acceso de S3 Object Lambda](olap-writing-lambda.md). Para usar la función personalizada con AWS CLI, consulte [Uso de Lambda con la AWS CLI](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-awscli.html) en la *Guía para desarrolladores de AWS Lambda*.
   + Utilice una función de Lambda de AWS creada con anticipación. Para obtener más información sobre funciones prediseñadas, consulte [Uso de funciones de Lambda creadas por AWS](olap-examples.md).

1. Cree un archivo de configuración JSON denominado `my-olap-configuration.json`. En esta configuración, proporcione el punto de acceso de soporte y el nombre de recurso de Amazon (ARN) para la función de Lambda que creó en los pasos anteriores o el ARN de la función prediseñada que está utilizando.  
**Example**  

   

   ```
   {
       "SupportingAccessPoint" : "arn:aws:s3:us-east-1:111122223333:accesspoint/example-ap",
       "TransformationConfigurations": [{
           "Actions" : ["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"],
           "ContentTransformation" : {
               "AwsLambda": {
                   "FunctionPayload" : "{\"compressionType\":\"gzip\"}",
                   "FunctionArn" : "arn:aws:lambda:us-east-1:111122223333:function/compress"
               }
           }
       }]
   }
   ```

1. Ejecute el comando `create-access-point-for-object-lambda` para crear su punto de acceso de Object Lambda.

   ```
   aws s3control create-access-point-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --configuration file://my-olap-configuration.json
   ```

1. (Opcional) Cree un archivo de política JSON denominado `my-olap-policy.json`.

   La adición de una política de recursos de punto de acceso Object Lambda puede controlar el uso del punto de acceso por recurso, usuario u otras condiciones. Esta política de recursos concede el permiso `GetObject` para la cuenta *`444455556666`* al punto de acceso de Object Lambda especificado.  
**Example**  

   

   ```
   {
       "Version": "2008-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Grant account 444455556666 GetObject access",
               "Effect": "Allow",
               "Action": "s3-object-lambda:GetObject",
               "Principal": {
                   "AWS": "arn:aws:iam::444455556666:root"
               },
               "Resource": "your-object-lambda-access-point-arn"
           }
       ]
   }
   ```

1. (Opcional) Ejecute el comando `put-access-point-policy-for-object-lambda` para establecer la política de recursos.

   ```
   aws s3control put-access-point-policy-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --policy file://my-olap-policy.json
   ```

1. (Opcional) Especifique una carga.

   Una carga consiste en un JSON opcional que puede proporcionar a su función de AWS Lambda como entrada. Puede configurar cargas con diferentes parámetros para diferentes puntos de acceso Object Lambda que invoquen la misma función de Lambda, ampliando así la flexibilidad de la función de Lambda.

   La siguiente configuración del punto de acceso de Object Lambda muestra una carga con dos parámetros.

   ```
   {
   	"SupportingAccessPoint": "AccessPointArn",
   	"CloudWatchMetricsEnabled": false,
   	"TransformationConfigurations": [{
   		"Actions": ["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"],
   		"ContentTransformation": {
   			"AwsLambda": {
   				"FunctionArn": "FunctionArn",
   				"FunctionPayload": "{\"res-x\": \"100\",\"res-y\": \"100\"}"
   			}
   		}
   	}]
   }
   ```

   La siguiente configuración del punto de acceso de Object Lambda muestra una carga con un parámetro y con `GetObject-Range`, `GetObject-PartNumber`, `HeadObject-Range` y `HeadObject-PartNumber` habilitados.

   ```
   {
       "SupportingAccessPoint":"AccessPointArn",
       "CloudWatchMetricsEnabled": false,
       "AllowedFeatures": ["GetObject-Range", "GetObject-PartNumber", "HeadObject-Range", "HeadObject-PartNumber"],        
       "TransformationConfigurations": [{
           "Action": ["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"],
           "ContentTransformation": {
               "AwsLambda": {
                   "FunctionArn":"FunctionArn",
                   "FunctionPayload": "{\"compression-amount\": \"5\"}"
               }
           }
       }]
   }
   ```
**importante**  
Cuando utilice los puntos de acceso Object Lambda, asegúrese de que la carga no contenga información confidencial.

### Uso de la consola y la plantilla de AWS CloudFormation
<a name="olap-create-cfn-console"></a>

Puede crear un punto de acceso de Object Lambda utilizando la configuración predeterminada proporcionada por Amazon S3. Puede descargar una plantilla de AWS CloudFormation y un código fuente de la función de Lambda del [Repositorio GitHub](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) e implementar estos recursos para configurar un punto de acceso de Object Lambda funcional.

Para obtener información sobre cómo modificar la configuración predeterminada de la plantilla de AWS CloudFormation, consulte [Uso de una plantilla de AWS CloudFormation para automatizar la configuración de S3 Object Lambda](olap-using-cfn-template.md).

Si quiere obtener información para configurar puntos de acceso Object Lambda mediante CloudFormation sin la plantilla, consulte [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html) en la *Guía del usuario de AWS CloudFormation*.

**Para cargar el paquete de implementación de la función de Lambda**

1. Descargue el paquete de implementación de la función de AWS Lambda `s3objectlambda_deployment_package.zip` en la [configuración predeterminada de S3 Object Lambda](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration).

1. Cargue el paquete en un bucket de Amazon S3.

**Para crear un punto de acceso de Object Lambda mediante la consola de AWS CloudFormation**

1. Descargue la plantilla de AWS CloudFormation `s3objectlambda_defaultconfig.yaml` en la [configuración predeterminada de S3 Object Lambda](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration).

1. Inicie sesión en la consola de administración de AWS y abra la consola de AWS CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Realice una de las siguientes acciones: 
   + Si nunca ha usado AWS CloudFormation antes, en la página de inicio de AWS CloudFormation, seleccione **Create stack** (Crear pila).
   + Si ya ha utilizado AWS CloudFormation antes, en el panel de navegación izquierdo, elija **Pilas**. Elija **Crear pila**, y, a continuación, elija **Con nuevos recursos (estándar)**.

1. En **Requisito previo - Preparar plantilla**, elija **La plantilla está lista**.

1. En **Especificar plantilla**, elija **Cargar un archivo de plantilla** y cargue `s3objectlambda_defaultconfig.yaml`.

1. Elija **Siguiente**.

1. En la página **Especificar detalles de la pila**, ingrese un nombre para la pila.

1. En la sección **Parámetros**, especifique los siguientes parámetros que se definen en la plantilla de la pila:

   1. Para **CreateNewSupportingAccessPoint,** realice una de las siguientes operaciones: 
      + Si ya tiene un punto de acceso de soporte para el bucket de S3 en el que cargó la plantilla, elija **false** (falso).
      + Si desea crear un nuevo punto de acceso para este bucket, elija **true** (verdadero). 

   1. Para **EnableCloudWatchMonitoring**, elija **true** o **false**, en función de si desea habilitar las alarmas y métricas de solicitud de Amazon CloudWatch. 

   1. (Opcional) Para **LambdaFunctionPayload**, agregue el texto JSON que desea proporcionar a su función de Lambda como entrada. Puede configurar cargas con diferentes parámetros para diferentes puntos de acceso Object Lambda que invoquen la misma función de Lambda, ampliando así la flexibilidad de la función de Lambda.
**importante**  
Cuando utilice los puntos de acceso Object Lambda, asegúrese de que la carga no contenga información confidencial.

   1. Para **LambdaFunctionRuntime**, introduzca su tiempo de ejecución preferido para la función de Lambda. Las opciones disponibles son , y `nodejs14.x`, `python3.9`, `java11`.

   1. Para **LambdaFunctionS3BucketName**, introduzca el nombre del bucket de Amazon S3 donde cargó el paquete de implementación.

   1. Para **LambdaFunctionS3Key**, introduzca la clave de objeto de Amazon S3 en la que cargó el paquete de implementación 

   1. Para **LambdaFunctionS3ObjectVersion**, introduzca la versión de objeto de Amazon S3 en la que cargó el paquete de implementación.

   1. Para **ObjectLambdaAccessPointName**, introduzca un nombre para el punto de acceso de Object Lambda.

   1. Para **S3BucketName**, introduzca el nombre del bucket de Amazon S3 que se asociará al punto de acceso de Object Lambda.

   1. Para **SupportingAccessPointName**, introduzca el nombre del punto de acceso de soporte.
**nota**  
Este es un punto de acceso que está asociado al bucket de Amazon S3 que eligió en el paso anterior. Si no tiene ningún punto de acceso asociado al bucket de Amazon S3, puede configurar la plantilla para crear uno eligiendo **true** (verdadero) para **CreateNewSupportingAccessPoint**.

1. Elija **Siguiente**.

1. En la página **Configurar opciones de pila**, elija **Siguiente**.

   Para obtener más información sobre la configuración opcional en esta página, consulte [Configuración de las opciones de pila de AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html) en la *Guía del usuario de AWS CloudFormation*.

1. En la página **Review** (Revisar), elija **Create stack** (Crear pila).

### Uso de AWS Cloud Development Kit (AWS CDK)
<a name="olap-create-cdk"></a>

Para obtener más información acerca de la configuración de puntos de acceso Object Lambda mediante el AWS CDK, consulte [Biblioteca de constructos `AWS::S3ObjectLambda`](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3objectlambda-readme.html) en la *Referencia de la API de AWS Cloud Development Kit (AWS CDK)*.

# Uso de una plantilla de AWS CloudFormation para automatizar la configuración de S3 Object Lambda
<a name="olap-using-cfn-template"></a>

**nota**  
A partir del 7 de noviembre de 2025, S3 Object Lambda solo estará disponible para los clientes actuales que utilizan el servicio actualmente, así como para socios seleccionados de la red de socios de AWS (APN). Para obtener más información sobre capacidades similares a las de S3 Object Lambda, haga clic aquí: [Cambio de disponibilidad de Amazon S3 Object Lambda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

Puede utilizar una plantilla de AWS CloudFormation para crear rápidamente un punto de acceso de Amazon S3 Object Lambda. La plantilla de CloudFormation crea automáticamente recursos relevantes, configura roles de AWS Identity and Access Management (IAM) y define una función de AWS Lambda que gestiona de manera automática las solicitudes a través del punto de acceso Object Lambda. Con la plantilla de CloudFormation, puede implementar prácticas recomendadas, mejorar su posición de seguridad y reducir los errores causados por los procesos manuales.

Este [repositorio GitHub](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) contiene la plantilla de CloudFormation y código fuente de la función de Lambda. Para obtener instrucciones sobre cómo utilizar la plantilla, consulte [Creación de puntos de acceso Object Lambda](olap-create.md).

La función de Lambda proporcionada en la plantilla no ejecuta ninguna transformación. En su lugar, devuelve los objetos tal como están desde el origen de datos subyacente. Puede clonar la función y agregar su propio código de transformación para modificar y procesar los datos a medida que se devuelven a una aplicación. Para obtener más información sobre cómo modificar una función, consulte [Modificación de la función de Lambda](#modifying-lambda-function) y [Escritura de funciones de Lambda para puntos de acceso de S3 Object Lambda](olap-writing-lambda.md). 

## Modificación de la plantilla
<a name="modifying-cfn-template"></a>

**Creación de un nuevo punto de acceso de soporte**  
S3 Object Lambda utiliza dos puntos de acceso: uno Object Lambda y otro S3 estándar, al que se denomina *punto de acceso de apoyo*. Cuando usted realiza una solicitud a un punto de acceso de Object Lambda, S3 invoca Lambda en su nombre o delega la solicitud al punto de acceso de soporte, según la configuración de S3 Object Lambda. Puede crear un nuevo punto de acceso de soporte pasando el siguiente parámetro como parte del comando `aws cloudformation deploy` al implementar la plantilla.

```
CreateNewSupportingAccessPoint=true
```

**Configuración de una carga de funciones**  
Puede configurar una carga para proporcionar datos complementarios a la función de Lambda pasando el siguiente parámetro como parte del comando `aws cloudformation deploy` al implementar la plantilla.

```
LambdaFunctionPayload="format=json"
```

**Habilitación del monitoreo de Amazon CloudWatch**  
Puede habilitar el monitoreo de CloudWatch pasando el siguiente parámetro como parte del comando `aws cloudformation deploy` al implementar la plantilla.

```
EnableCloudWatchMonitoring=true
```

Este parámetro habilita el punto de acceso de Object Lambda para las métricas de solicitudes de Amazon S3 y crea dos alarmas de CloudWatch para supervisar los errores del lado del cliente y del servidor.

**nota**  
El uso de Amazon CloudWatch generará costos adicionales. Para obtener más información acerca de las métricas de CloudWatch para Amazon S3, consulte [Monitorización y registro de puntos de acceso](access-points-monitoring-logging.md).  
Para obtener información sobre los precios, consulte [Precios de CloudWatch](https://aws.amazon.com/cloudwatch/pricing/). 

**Configuración de simultaneidad aprovisionada**  
Para reducir la latencia, puede configurar la simultaneidad aprovisionada para la función de Lambda que respalda el punto de acceso de Object Lambda editando la plantilla para incluir las siguientes líneas en `Resources`.

```
LambdaFunctionVersion:
      Type: AWS::Lambda::Version
      Properties:
        FunctionName: !Ref LambdaFunction
        ProvisionedConcurrencyConfig:
            ProvisionedConcurrentExecutions: Integer
```

**nota**  
Se aplicarán cargos adicionales por la simultaneidad aprovisionada. Para obtener más información sobre la periodicidad aprovisionada, consulte [Administración de la simultaneidad aprovisionada de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) en la *Guía para desarrolladores de AWS Lambda*.  
Para obtener más información sobre precios, consulta [precios de AWS Lambda](https://aws.amazon.com/lambda/pricing/).

## Modificación de la función de Lambda
<a name="modifying-lambda-function"></a>

**Cambiar los valores del encabezado de una solicitud `GetObject`**  
De forma predeterminada, la función de Lambda reenvía todos los encabezados, excepto `Content-Length` y `ETag`, de la solicitud URL prefirmada al cliente `GetObject`. Según el código de transformación de la función de Lambda, puede elegir enviar nuevos valores de encabezado al cliente `GetObject`.

Puede actualizar la función de Lambda para enviar nuevos valores de encabezado pasándolos a la operación `WriteGetObjectResponse` de la API.

Por ejemplo, si la función de Lambda traduce el texto de los objetos de Amazon S3 a un idioma diferente, puede pasar un nuevo valor en el encabezado `Content-Language`. Para ello, modifique la función `writeResponse` como se indica a continuación.

```
async function writeResponse (s3Client: S3, requestContext: GetObjectContext, transformedObject: Buffer,
  headers: Headers): Promise<PromiseResult<{}, AWSError>> {
  const { algorithm, digest } = getChecksum(transformedObject);

  return s3Client.writeGetObjectResponse({
    RequestRoute: requestContext.outputRoute,
    RequestToken: requestContext.outputToken,
    Body: transformedObject,
    Metadata: {
      'body-checksum-algorithm': algorithm,
      'body-checksum-digest': digest
    },
    ...headers,
    ContentLanguage: 'my-new-language'
  }).promise();
}
```

Para obtener una lista completa de los encabezados compatibles, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax) en la *Referencia de la API de Amazon Simple Storage Service*.

**Devolución de encabezados de metadatos**  
Puede actualizar la función de Lambda para enviar nuevos valores de encabezado pasándolos a la solicitud de la operación [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax) de la API.

```
async function writeResponse (s3Client: S3, requestContext: GetObjectContext, transformedObject: Buffer,
  headers: Headers): Promise<PromiseResult<{}, AWSError>> {
  const { algorithm, digest } = getChecksum(transformedObject);

  return s3Client.writeGetObjectResponse({
    RequestRoute: requestContext.outputRoute,
    RequestToken: requestContext.outputToken,
    Body: transformedObject,
    Metadata: {
      'body-checksum-algorithm': algorithm,
      'body-checksum-digest': digest,
      'my-new-header': 'my-new-value' 
    },
    ...headers
  }).promise();
}
```

**Devolución de un nuevo código de estado**  
Puede devolver un código de estado personalizado al cliente `GetObject` pasándolo a la solicitud de la operación [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax) de la API.

```
async function writeResponse (s3Client: S3, requestContext: GetObjectContext, transformedObject: Buffer,
  headers: Headers): Promise<PromiseResult<{}, AWSError>> {
  const { algorithm, digest } = getChecksum(transformedObject);

  return s3Client.writeGetObjectResponse({
    RequestRoute: requestContext.outputRoute,
    RequestToken: requestContext.outputToken,
    Body: transformedObject,
    Metadata: {
      'body-checksum-algorithm': algorithm,
      'body-checksum-digest': digest
    },
    ...headers,
    StatusCode: Integer
  }).promise();
}
```

Para obtener una lista completa de los códigos de estado compatibles, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax) en la *Referencia de la API de Amazon Simple Storage Service*.

**Aplicación de `Range` y `partNumber` al objeto de origen**  
De forma predeterminada, el punto de acceso de Object Lambda creado por la plantilla de CloudFormation puede gestionar parámetros `Range` y `partNumber`. La función de Lambda aplica el rango o el número de parte solicitado al objeto transformado. Para ello, la función debe descargar todo el objeto y ejecutar la transformación. En algunos casos, los rangos de objetos transformados pueden asignarse exactamente a los rangos de objetos de origen. Esto significa que solicitar un rango de bytes A-B en el objeto de origen y ejecutar la transformación puede producir el mismo resultado que solicitar todo el objeto, ejecutar la transformación y devolver el rango de bytes A-B en el objeto transformado.

En estos casos, puede cambiar la implementación de la función de Lambda para aplicar el rango o el número de parte directamente al objeto de origen. Este método reduce la latencia general de la función y la memoria requerida. Para obtener más información, consulte [Trabajar con encabezados Range y partNumber](range-get-olap.md).

**Deshabilitación de `Range` y gestión de `partNumber`**  
De forma predeterminada, el punto de acceso de Object Lambda creado por la plantilla de CloudFormation puede gestionar parámetros `Range` y `partNumber`. Si no necesita este comportamiento, puede desactivarlo eliminando las siguientes líneas de la plantilla:

```
AllowedFeatures:
  - GetObject-Range
  - GetObject-PartNumber
  - HeadObject-Range 
  - HeadObject-PartNumber
```

**Transformación de objetos grandes**  
De forma predeterminada, la función de Lambda procesa todo el objeto en la memoria antes de que pueda comenzar a transmitir la respuesta a S3 Object Lambda. Puede modificar la función para transmitir la respuesta a medida que realiza la transformación. Hacer esto ayuda a reducir la latencia de transformación y el tamaño de la memoria de la función de Lambda. Para ver un ejemplo de implementación, consulte el [Ejemplo de contenido comprimido de streaming](olap-writing-lambda.md#olap-getobject-response).