Création de points d’accès Object Lambda - Amazon Simple Storage Service

Création de points d’accès Object Lambda

Note

À compter du 7 novembre 2025, S3 Object Lambda sera réservé aux clients existants qui utilisent actuellement le service, ainsi qu’à certains partenaires AWS Partner Network (APN). Si vous souhaitez utiliser le service, veuillez vous y inscrire avant le 7 novembre 2025. Pour des fonctionnalités semblables à celles de S3 Object Lambda, cliquez ici : Modification de la disponibilité d’Amazon S3 Object Lambda.

Un point d’accès Object Lambda est associé à un seul point d’accès standard, que vous spécifiez lors de la création. Pour créer un point d’accès Object Lambda, vous avez besoin des ressources suivantes :

  • Un point d’accès S3 standard. Lorsque vous utilisez des points d’accès Object Lambda, ce point d’accès standard est appelé point d’accès compatible et est attaché à un compartiment S3 ou à un volume Amazon FSx pour OpenZFS. Pour obtenir des informations sur la création de points d’accès standard, consultez Création d’un point d’accès.

  • Une fonction AWS Lambda. Vous pouvez créer votre propre fonction Lambda ou utiliser une fonction prédéfinie. Pour plus d’informations sur la création de fonctions Lambda, consultez Écriture de fonctions Lambda pour les points d’accès S3 Object Lambda. Pour plus d’informations sur les fonctions prédéfinies, consultez Utilisation de fonctions Lambda élaborées par AWS.

  • (Facultatif) Une politique AWS Identity and Access Management (IAM). Les points d’accès Amazon S3 prennent en charge les politiques de ressources IAM que vous pouvez utiliser pour contrôler l’utilisation des points d’accès par ressource, utilisateur ou autres conditions. Pour plus d’informations sur la création de telles politiques, consultez Configuration des politiques IAM pour les points d’accès Object Lambda.

Les sections suivantes décrivent comment créer un point d’accès Object Lambda en utilisant :

  • La AWS Management Console

  • L’AWS Command Line Interface (AWS CLI)

  • Un modèle AWS CloudFormation

  • La AWS Cloud Development Kit (AWS CDK)

Pour obtenir des informations sur la création d’un point d’accès Object Lambda à l’aide de l’API REST, consultez CreateAccessPointForObjectLambda dans la Référence des API Amazon Simple Storage Service.

Créer un point d’accès Object Lambda

Utilisez l’une des procédures suivantes pour créer votre point d’accès Object Lambda.

Pour créer un point d’accès Object Lambda à l’aide de la console
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

  2. Dans la barre de navigation, choisissez le nom de la Région AWS actuellement affichée. Choisissez ensuite la région à laquelle vous souhaitez passer.

  3. Dans le volet de navigation de gauche, choisissez Points d’accès Object Lambda.

  4. Dans la page Points d’accès Object Lambda, choisissez Créer un point d’accès Object Lambda.

  5. Pour Object Lambda Access Point name (Nom du point d’accès Object Lambda), saisissez le nom que vous souhaitez utiliser pour le point d’accès.

    Comme pour les points d’accès standard, des règles s’appliquent à l’attribution de noms pour des points d’accès Object Lambda. Pour plus d’informations, consultez Règles de dénomination des points d’accès.

  6. Pour Supporting Access Point (Point d’accès de prise en charge), saisissez le point d’accès standard à utiliser ou accédez-y. Le point d’accès doit se trouver dans le même Région AWS que les objets que vous souhaitez transformer. Pour obtenir des informations sur la création de points d’accès standard, consultez Création d’un point d’accès.

  7. Sous Configuration de transformation, vous pouvez ajouter une fonction qui transforme vos données pour votre point d’accès Object Lambda. Effectuez l’une des actions suivantes :

    • Si vous avez déjà une fonction AWS Lambda dans votre compte, vous pouvez la choisir sous Appeler une fonction Lambda. Vous pouvez saisir ici l’Amazon Resource Name (ARN) d’une fonction Lambda dans votre Compte AWS ou choisir une fonction Lambda dans le menu déroulant.

    • Pour utiliser une fonction intégrée AWS, choisissez le nom de la fonction sous Fonction intégrée AWS et sélectionnez Créer une fonction Lambda. Cela vous mène à la console Lambda où vous pouvez déployer dans votre Compte AWS une fonction définie. Pour plus d’informations sur les fonctions définies, consultez Utilisation de fonctions Lambda élaborées par AWS.

    Sous S3 APIs (API S3), choisissez une ou plusieurs opérations d’API à invoquer. Pour chaque API sélectionnée, vous devez spécifier une fonction Lambda à invoquer.

  8. (Facultatif) Sous Payload (Charge utile), ajoutez le texte JSON à fournir en entrée à la fonction Lambda. Vous pouvez configurer des charges utiles avec différents paramètres pour différents points d’accès Object Lambda qui invoquent la même fonction Lambda, augmentant ainsi la flexibilité de votre fonction Lambda.

    Important

    Lorsque vous utilisez des points d’accès Object Lambda, vérifiez que la charge utile ne contient pas d’informations confidentielles.

  9. (Facultatif) Pour Range and part number (Plage et numéro de partie), vous devez activer cette option pour traiter les requêtes GET et HEAD avec des en-têtes de plage et de numéro de partie. L’activation de cette option confirme que votre fonction Lambda est capable de reconnaître et de traiter ces demandes. Pour plus d’informations sur les en-têtes de plage et les numéros de partie, voir Utilisation des en-têtes Range et partNumber.

  10. (Facultatif) Pour Métriques de demande), choisissez Activer ou Désactiver pour ajouter la surveillance Amazon S3 à votre point d’accès Object Lambda. Les métriques de demande sont facturées au tarif Amazon CloudWatch standard.

  11. (Facultatif) Sous Object Lambda Access Point policy (Politique de points d’accès Object Lambda), définissez une politique de ressources. Les politiques de ressources accordent des autorisations pour le point d’accès Object Lambda spécifié et peuvent contrôler l’utilisation du point d’accès par ressource, utilisateur ou d’autres conditions. Pour plus d’informations sur les politiques de ressources d’un point d’accès Object Lambda, consultez Configuration des politiques IAM pour les points d’accès Object Lambda.

  12. Sous Block Public Access settings for this Object Lambda Access Point (Paramètres de blocage d’accès public pour ce point d’accès Object Lambda), sélectionnez les paramètres de blocage d’accès public que vous voulez appliquer. Tous les paramètres de blocage d’accès public sont activés par défaut pour les nouveaux points d’accès Object Lambda et nous vous recommandons de laisser les paramètres par défaut activés. Actuellement, Amazon S3 ne prend pas en charge la modification des paramètres de blocage d’accès public d’un point d’accès Object Lambda après la création de ce point d’accès Object Lambda.

    Pour plus d’informations sur l’utilisation du blocage de l’accès public Amazon S3, consultez Gestion de l’accès public aux points d’accès de compartiments à usage général.

  13. Choisissez Create Object Lambda Access Point (Créer un point d’accès Object Lambda).

Pour créer un point d’accès Object Lambda à l’aide d’un modèle AWS CloudFormation
Note

Pour utiliser les commandes suivantes, remplacez user input placeholders par vos propres informations.

  1. Téléchargez le package de déploiement de fonction AWS Lambda s3objectlambda_deployment_package.zip depuis la configuration par défaut S3 Object Lambda.

  2. Exécutez la commande put-object suivante pour charger le package dans un compartiment Amazon S3.

    aws s3api put-object --bucket Amazon S3 bucket name --key s3objectlambda_deployment_package.zip --body release/s3objectlambda_deployment_package.zip
  3. Télécharger le modèle AWS CloudFormation s3objectlambda_defaultconfig.yaml depuis la configuration par défaut S3 Object Lambda.

  4. Exécutez la commande deploy suivante pour déployer le modèle dans votre Compte 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

Vous pouvez configurer ce modèle AWS CloudFormation pour invoquer Lambda pour les opérations d’API GET, HEAD et LIST. Pour plus d’informations sur la modification de la configuration par défaut du modèle, consultez Automatisation de la configuration S3 Object Lambda à l’aide d’un modèle CloudFormation.

Pour créer un point d’accès Object Lambda à l’aide de l’AWS CLI
Note

Pour utiliser les commandes suivantes, remplacez user input placeholders par vos propres informations.

L’exemple suivant crée un point d’accès Object Lambda nommé my-object-lambda-ap pour le compartiment amzn-s3-demo-bucket1 dans le compte 111122223333. Cet exemple suppose qu’un point d’accès standard nommé example-ap a déjà été créé. Pour plus d’informations sur la création d’un point d’accès standard, consultez Création d’un point d’accès.

Cet exemple utilise la fonction prédéfinie AWS decompress. Pour plus d’informations sur les fonctions prédéfinies, consultez Utilisation de fonctions Lambda élaborées par AWS.

  1. Créez un compartiment. Dans cet exemple, nous allons utiliser amzn-s3-demo-bucket1. Pour plus d’informations sur la création de compartiments, consultez Création d’un compartiment à usage général.

  2. Créez un point d’accès standard et attachez-le à votre compartiment. Dans cet exemple, nous allons utiliser example-ap. Pour obtenir des informations sur la création de points d’accès standard, consultez Création d’un point d’accès.

  3. Effectuez l’une des actions suivantes :

  4. Créez un fichier de configuration JSON nommé my-olap-configuration.json. Dans cette configuration, fournissez le point d’accès de prise en charge et l’Amazon Resource Name (ARN) de la fonction Lambda que vous avez créée au cours des étapes précédentes ou l’ARN de la fonction prédéfinie que vous utilisez.

    { "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" } } }] }
  5. Exécutez la commande create-access-point-for-object-lambda pour créer votre point d’accès Object Lambda.

    aws s3control create-access-point-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --configuration file://my-olap-configuration.json
  6. (Facultatif) Créez un fichier de stratégie JSON nommé my-olap-policy.json.

    L’ajout d’une politique de ressources de points d’accès Object Lambda peut contrôler l’utilisation du point d’accès par ressource, utilisateur ou d’autres conditions. Cette politique de ressources accorde l’autorisation GetObject pour le compte 444455556666 au point d’accès Object Lambda spécifié.

    { "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" } ] }
  7. (Facultatif) Exécutez la commande put-access-point-policy-for-object-lambda pour définir votre politique de ressources.

    aws s3control put-access-point-policy-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --policy file://my-olap-policy.json
  8. (Facultatif) Spécifiez une charge utile.

    Une charge utile est un JSON facultatif que vous pouvez fournir à votre fonction AWS Lambda en entrée. Vous pouvez configurer des charges utiles avec différents paramètres pour différents points d’accès Object Lambda qui invoquent la même fonction Lambda, augmentant ainsi la flexibilité de votre fonction Lambda.

    La configuration suivante du point d’accès Object Lambda affiche une charge utile avec deux paramètres.

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

    La configuration de point d’accès Object Lambda suivante montre une charge utile avec un seul paramètre et avec GetObject-Range, GetObject-PartNumber, HeadObject-Range et HeadObject-PartNumber activés.

    { "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\"}" } } }] }
    Important

    Lorsque vous utilisez des points d’accès Object Lambda, vérifiez que la charge utile ne contient pas d’informations confidentielles.

Vous pouvez créer un point d’accès Object Lambda à l’aide de la configuration par défaut fournie par Amazon S3. Vous pouvez télécharger un code source du modèle AWS CloudFormation et de la fonction Lambda à partir du Référentiel GitHub et déployez ces ressources pour configurer un point d’accès Object Lambda fonctionnel.

Pour obtenir des informations sur la modification de la configuration par défaut du modèle AWS CloudFormation, consultez Automatisation de la configuration S3 Object Lambda à l’aide d’un modèle CloudFormation.

Pour obtenir des informations sur la configuration des points d’accès Object Lambda à l’aide d’CloudFormation sans le modèle, consultez AWS::S3ObjectLambda::AccessPoint dans le Guide de l’utilisateur AWS CloudFormation.

Pour charger le package de déploiement de votre fonction Lambda
  1. Téléchargez le package de déploiement de fonction AWS Lambda s3objectlambda_deployment_package.zip depuis la configuration par défaut S3 Object Lambda.

  2. Chargez le package dans un compartiment Amazon S3.

Pour créer un point d’accès Object Lambda à l’aide de la console AWS CloudFormation
  1. Télécharger le modèle AWS CloudFormation s3objectlambda_defaultconfig.yaml depuis la configuration par défaut S3 Object Lambda.

  2. Connectez-vous à AWS Management Console et ouvrez la console AWS CloudFormation à l’adresse https://console.aws.amazon.com/cloudformation.

  3. Effectuez l’une des actions suivantes :

    • Si vous n’avez encore jamais utilisé AWS CloudFormation, sur la page d’accueil AWS CloudFormation, choisissez Create stack (Créer une pile).

    • Si vous avez déjà utilisé AWS CloudFormation, dans le volet de navigation de gauche, choisissez Stacks (Piles). Choisissez Create stack (Créer une pile), puis With new resources (standard) (Avec de nouvelles ressources (standard)).

  4. Pour Prerequisite - Prepare template (Prérequis – Préparer le modèle), choisissez Template is ready (Le modèle est prêt).

  5. Pour Specify template (Spécifier le modèle), choisissez Upload a template file (Charger un fichier de modèle) et chargez s3objectlambda_defaultconfig.yaml.

  6. Choisissez Suivant.

  7. Sur la page Specify stack details (Spécifier les détails de la pile), saisissez un nom pour la pile.

  8. Dans la section Parameters (Paramètres), spécifiez les paramètres suivants, définis dans le modèle de pile :

    1. Pour CreateNewSupportingAccessPoint, effectuez l’une des opérations suivantes :

      • Si vous disposez déjà d’un point d’accès de prise en charge pour le compartiment S3 dans lequel vous avez chargé le modèle, choisissez false (faux).

      • Si vous souhaitez créer un nouveau point d’accès pour ce compartiment, choisissez true (vrai).

    2. Pour EnableCloudWatchMonitoring, choisissez true (vrai) ou false (faux), selon que vous souhaitez ou non activer les alarmes et les métriques de demande Amazon CloudWatch.

    3. (Facultatif) Pour LambdaFunctionPayload, ajoutez le texte JSON à fournir en entrée à la fonction Lambda. Vous pouvez configurer des charges utiles avec différents paramètres pour différents points d’accès Object Lambda qui invoquent la même fonction Lambda, augmentant ainsi la flexibilité de votre fonction Lambda.

      Important

      Lorsque vous utilisez des points d’accès Object Lambda, vérifiez que la charge utile ne contient pas d’informations confidentielles.

    4. Pour LambdaFunctionRuntime, saisissez votre moteur d’exécution préféré pour la fonction Lambda. Les options disponibles sont nodejs14.x, python3.9 et java11.

    5. Pour LambdaFunctionS3BucketName, saisissez le nom du compartiment Amazon S3 dans lequel vous avez chargé le package de déploiement.

    6. Pour LambdaFunctionS3Key, saisissez la clé d’objet Amazon S3 où vous avez chargé le package de déploiement.

    7. Pour LambdaFunctionS3ObjectVersion, saisissez la version d’objet Amazon S3 dans laquelle vous avez chargé le package de déploiement.

    8. Pour ObjectLambdaAccessPointName, saisissez un nom pour votre point d’accès Object Lambda.

    9. Pour S3BucketName, saisissez le nom du compartiment Amazon S3 qui sera associé à votre point d’accès Object Lambda.

    10. Pour SupportingAccessPointName, saisissez le nom de votre point d’accès de prise en charge.

      Note

      Il s’agit d’un point d’accès associé au compartiment Amazon S3 que vous avez choisi à l’étape précédente. Si aucun point d’accès n’est associé à votre compartiment Amazon S3, vous pouvez configurer le modèle de manière à vous en créer un en choisissant true (vrai) pour CreateNewSupportingAccessPoint.

  9. Choisissez Suivant.

  10. Sur la page Configurer les options de pile, choisissez Suivant.

    Pour plus d’informations sur les paramètres facultatifs figurant sur cette page, consultez Définition des options des piles AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.

  11. Sur la page Review (Vérification), choisissez Create stack (Créer une pile).

Pour plus d’informations sur la configuration des points d’accès Object Lambda à l’aide du kit AWS CDK, consultez Bibliothèque des constructions AWS::S3ObjectLambda dans la Référence des API AWS Cloud Development Kit (AWS CDK).