Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création de points d'accès Object Lambda
Un point d'accès Object Lambda est associé à exactement un point d'accès standard et donc à un compartiment Amazon S3. Pour créer un point d'accès Object Lambda, vous avez besoin des ressources suivantes :
-
Un compartiment Amazon S3. Pour plus d’informations sur la création de compartiments, consultez Créer un compartiment.
-
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 de prise en charge. Pour obtenir des informations sur la création de points d'accès standard, consultez Création de points d'accès.
-
Une AWS Lambda fonction. 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 AWS fonctions Lambda intégrées.
-
(Facultatif) Une AWS Identity and Access Management (IAM) politique. Les points d'accès Amazon S3 prennent en charge les politiques de IAM ressources que vous pouvez utiliser pour contrôler l'utilisation du point d'accès par ressource, par utilisateur ou selon d'autres conditions. Pour plus d'informations sur la création de telles politiques, consultez Configuration des IAM politiques 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 :
-
Le AWS Management Console
-
Le AWS Command Line Interface (AWS CLI)
-
Un AWS CloudFormation modèle
-
Le AWS Cloud Development Kit (AWS CDK)
Pour plus d'informations sur la création d'un point d'accès Object Lambda à l'aide du RESTAPI, consultez CreateAccessPointForObjectLambda
le manuel Amazon Simple Storage Service API Reference.
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
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans la barre de navigation, choisissez le nom du fichier actuellement affiché Région AWS. Choisissez ensuite la région vers laquelle vous souhaitez passer.
-
Dans le panneau de navigation de gauche, choisissez Points d'accès Object Lambda.
-
Dans la page Points d'accès Object Lambda), choisissez Créer un point d'accès Object Lambda).
-
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 relatives à l'attribution de noms pour les points d'accès Amazon S3.
-
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 emplacement que les objets que vous souhaitez transformer. Pour obtenir des informations sur la création de points d'accès standard, consultez Création de points d'accès.
-
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 AWS Lambda fonction dans votre compte, vous pouvez la sélectionner sous Invoke Lambda function. Vous pouvez saisir ici le nom Amazon Resource (ARN) d'une fonction Lambda dans votre répertoire Compte AWS ou choisir une fonction Lambda dans le menu déroulant.
-
Si vous souhaitez utiliser une fonction AWS intégrée, choisissez le nom de la fonction sous fonction AWS construite et sélectionnez Créer une fonction Lambda. Cela vous mènera à la console Lambda où vous pourrez déployer une fonction intégrée dans votre. Compte AWS Pour plus d'informations sur les fonctions définies, consultez Utilisation de AWS fonctions Lambda intégrées.
Sous S3 APIs, choisissez une ou plusieurs API opérations à appeler. Pour chaque API fonction sélectionnée, vous devez spécifier une fonction Lambda à invoquer.
-
-
(Facultatif) Sous Charge utile, ajoutez JSON le texte que vous souhaitez fournir à votre fonction 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.
Important
Lorsque vous utilisez des points d'accès Object Lambda, vérifiez que la charge utile ne contient pas d'informations confidentielles.
-
(Facultatif) Pour Range and part number (Plage et numéro de partie), vous devez activer cette option pour traiter les requêtes
GET
etHEAD
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 Travailler avec Range and partNumber headers. -
(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 statistiques relatives aux demandes sont facturées au CloudWatch tarif standard d'Amazon.
-
(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 IAM politiques pour les points d'accès Object Lambda.
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.
-
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
par vos propres informations.user input
placeholders
-
Téléchargez le package de déploiement des AWS Lambda fonctions
s3objectlambda_deployment_package.zip
dans la configuration par défaut de S3 Object Lambda. -
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 -
Téléchargez le AWS CloudFormation modèle dans la
s3objectlambda_defaultconfig.yaml
configuration par défaut de S3 Object Lambda. -
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
AWS 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
--capabilitiescapability_IAM
Vous pouvez configurer ce AWS CloudFormation modèle pour appeler Lambda pour les opérations GET
HEAD
, et LIST
API. Pour plus d'informations sur la modification de la configuration par défaut du modèle, consultez Automatisez la configuration de S3 Object Lambda à l'aide d'un modèle CloudFormation.
Pour créer un point d'accès Object Lambda à l'aide du AWS CLI
Note
Pour utiliser les commandes suivantes, remplacez
par vos propres informations.user input
placeholders
L'exemple suivant crée un point d'accès Object Lambda nommé
pour le seau my-object-lambda-ap
dans le compte amzn-s3-demo-bucket1
. Cet exemple suppose qu'un point d'accès standard nommé 111122223333
a déjà été créé. Pour plus d'informations sur la création d'un point d'accès standard, veuillez consulter Création de points d'accès.exemple-ap
Cet exemple utilise la fonction AWS prédéfinie. decompress
Pour plus d’informations sur les fonctions prédéfinies, consultez Utilisation de AWS fonctions Lambda intégrées.
-
Créez un compartiment. Dans cet exemple, nous utiliserons
. Pour plus d'informations sur la création de buckets, consultezCréer un compartiment.amzn-s3-demo-bucket1
-
Créez un point d'accès standard et attachez-le à votre compartiment. Dans cet exemple, nous utiliserons
. Pour plus d'informations sur la création de points d'accès standard, consultezCréation de points d'accès.exemple-ap
-
Effectuez l’une des actions suivantes :
-
Créez une fonction Lambda dans votre compte que vous souhaitez utiliser pour transformer votre objet Simple Storage Service (Amazon S3). 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 utiliser votre fonction personnalisée avec le AWS CLI, consultez la section Utilisation de Lambda avec le AWS CLI dans le guide du AWS Lambda développeur.
-
Utilisez une fonction AWS Lambda prédéfinie. Pour plus d’informations sur les fonctions prédéfinies, consultez Utilisation de AWS fonctions Lambda intégrées.
-
-
Créez un fichier JSON de configuration nommé
my-olap-configuration.json
. Dans cette configuration, indiquez le point d'accès compatible et le nom de ressource Amazon (ARN) pour la fonction Lambda que vous avez créée lors des étapes précédentes ou ARN pour 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" } } }] } -
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
--namemy-object-lambda-ap
--configuration file://my-olap-configuration.json
-
(Facultatif) Créez un fichier JSON de politique 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'
GetObject
autorisation d'ouvrir un compte
au point d'accès Object Lambda spécifié.444455556666
{ "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
" } ] } -
(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
--namemy-object-lambda-ap
--policy file://my-olap-policy.json
-
(Facultatif) Spécifiez une charge utile.
Une charge utile est facultative JSON et vous pouvez la fournir à votre AWS Lambda fonction 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
etHeadObject-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 AWS CloudFormation modèle et le code source d'une fonction Lambda depuis le GitHub référentiel
Pour plus d'informations sur la modification de la configuration par défaut du AWS CloudFormation modèle, consultezAutomatisez la configuration de S3 Object Lambda à l'aide d'un modèle CloudFormation.
Pour plus d'informations sur la configuration des points d'accès Object Lambda AWS CloudFormation sans le modèle, consultez le guide AWS::S3ObjectLambda::AccessPoint
de l'AWS CloudFormation utilisateur.
Pour charger le package de déploiement de votre fonction Lambda
-
Téléchargez le package de déploiement des AWS Lambda fonctions
s3objectlambda_deployment_package.zip
dans la configuration par défaut de S3 Object Lambda. -
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
-
Téléchargez le AWS CloudFormation modèle dans la
s3objectlambda_defaultconfig.yaml
configuration par défaut de S3 Object Lambda. -
Connectez-vous à la console de AWS gestion et ouvrez la console à l'adresse AWS CloudFormation https://console.aws.amazon.com/cloudformation.
-
Effectuez l’une des actions suivantes :
-
Si vous ne l'avez jamais utilisé AWS CloudFormation auparavant, sur la page d' AWS CloudFormation accueil, choisissez Create stack.
-
Si vous l'avez AWS CloudFormation déjà utilisé, dans le volet de navigation de gauche, choisissez Stacks. Choisissez Create stack (Créer une pile), puis With new resources (standard) (Avec de nouvelles ressources (standard)).
-
-
Pour Prerequisite - Prepare template (Prérequis – Préparer le modèle), choisissez Template is ready (Le modèle est prêt).
-
Pour Specify template (Spécifier le modèle), choisissez Upload a template file (Charger un fichier de modèle) et chargez
s3objectlambda_defaultconfig.yaml
. -
Choisissez Suivant.
-
Sur la page Specify stack details (Spécifier les détails de la pile), saisissez un nom pour la pile.
-
Dans la section Parameters (Paramètres), spécifiez les paramètres suivants, définis dans le modèle de pile :
-
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).
-
-
Pour EnableCloudWatchMonitoring, choisissez vrai ou faux, selon que vous souhaitez activer les métriques de CloudWatch demande et les alarmes Amazon.
-
(Facultatif) Pour LambdaFunctionPayload, ajoutez JSON le texte que vous souhaitez fournir à votre fonction 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.
Important
Lorsque vous utilisez des points d'accès Object Lambda, vérifiez que la charge utile ne contient pas d'informations confidentielles.
-
Pour LambdaFunctionRuntime, entrez votre environnement d'exécution préféré pour la fonction Lambda. Les options disponibles sont
nodejs14.x
,python3.9
etjava11
. -
Pour LambdaFunctionS3 BucketName, entrez le nom du compartiment Amazon S3 dans lequel vous avez chargé le package de déploiement.
-
Pour LambdaFunctionS3Key, entrez la clé d'objet Amazon S3 sur laquelle vous avez chargé le package de déploiement.
-
Pour LambdaFunctionS3 ObjectVersion, entrez la version de l'objet Amazon S3 dans laquelle vous avez chargé le package de déploiement.
-
Pour ObjectLambdaAccessPointName, entrez un nom pour votre point d'accès Object Lambda.
-
Pour S3 BucketName, entrez le nom du compartiment Amazon S3 qui sera associé à votre point d'accès Object Lambda.
-
Pour SupportingAccessPointName, entrez le nom de votre point d'accès compatible.
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 pour en créer un pour vous en choisissant true for CreateNewSupportingAccessPoint.
-
-
Choisissez Suivant.
-
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 .
-
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 de AWS CDK, consultez la section AWS::S3ObjectLambda
Construct Library dans la AWS Cloud Development Kit (AWS CDK) API référence.