Creazione di punti di accesso Object Lambda - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di punti di accesso Object Lambda

Un punto di accesso Lambda per oggetti è associato esattamente a un punto di accesso standard e quindi a un bucket Amazon S3. Per creare un punto di accesso Lambda per oggetti, sono necessarie le seguenti risorse:

Nelle sezioni seguenti viene descritto come creare un punto di accesso Lambda per oggetti utilizzando:

  • La AWS Management Console

  • Il AWS Command Line Interface (AWS CLI)

  • Un AWS CloudFormation modello

  • Il AWS Cloud Development Kit (AWS CDK)

Per ulteriori informazioni su come creare un punto di accesso Lambda per oggetti tramite REST API, consulta CreateAccessPointForObjectLambda nella Documentazione di riferimento delle API di Amazon Simple Storage Service.

Creazione di un punto di accesso Lambda per oggetti

Utilizza una delle procedure riportate di seguito per creare il punto di accesso Lambda per oggetti.

Per creare un punto di accesso Lambda per oggetti utilizzando la console
  1. Accedi AWS Management Console e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

  2. Nel pannello di navigazione a sinistra, scegli Object Lambda Access Points (Punti di accesso Object Lambda).

  3. Nella pagina Object Lambda Access Points (Punti di accesso Object Lambda), scegli Create Object Lambda Access Point (Crea punto di accesso Object Lambda).

  4. In Object Lambda Access Point name (Nome punto di accesso Object Lambda), specifica il nome da utilizzare per il punto di accesso.

    Come per i punti di accesso standard, esistono regole per la denominazione dei punti di accesso Lambda per oggetti. Per ulteriori informazioni, consulta Regole per la denominazione degli Punti di accesso Amazon S3.

  5. In Supporting Access Point (Punto di accesso di supporto), specifica o seleziona il punto di accesso standard da utilizzare. Il punto di accesso deve coincidere con Regione AWS gli oggetti che desideri trasformare. Per informazioni sulla creazione di punti di accesso standard, consulta la sezione Creazione di access point.

  6. In Configurazione della trasformazione puoi aggiungere una funzione che trasforma i dati per il punto di accesso Lambda per oggetti. Esegui una di queste operazioni:

    • Se hai già una AWS Lambda funzione nel tuo account, puoi sceglierla nella funzione Invoke Lambda. Qui puoi inserire l'Amazon Resource Name (ARN) di una funzione Lambda nel tuo o Account AWS scegliere una funzione Lambda dal menu a discesa.

    • Se desideri utilizzare una funzione AWS incorporata, scegli il nome della funzione in funzione AWS integrata e seleziona Crea funzione Lambda. Verrai indirizzato alla console Lambda dove potrai implementare una funzione integrata nel tuo. Account AWS Per ulteriori informazioni sulle funzioni integrate, consulta Utilizzo delle AWS funzioni Lambda integrate.

    In S3 APIs (API S3), scegli una o più operazioni API da richiamare. Per ogni API selezionata, devi specificare una funzione Lambda da richiamare.

  7. (Facoltativo) In Payload, aggiungi il testo JSON da fornire come input alla funzione Lambda. Puoi configurare payload con parametri diversi per diversi punti di accesso Lambda per oggetti che richiamano la stessa funzione Lambda, estendendo così la flessibilità della funzione stessa.

    Importante

    Quando utilizzi i punti di accesso Lambda per oggetti, assicurati che il payload non contenga informazioni riservate.

  8. (Facoltativo) In Range and part number (Intervallo e numero parte), devi abilitare l'opzione se vuoi elaborare le richieste GET e HEAD con intestazioni di intervallo e numero di parte. Selezionando questa opzione confermi che la funzione Lambda è in grado di riconoscere ed elaborare queste richieste. Per ulteriori informazioni sulle intestazioni di intervalli e numeri di parte, consulta Utilizzo delle intestazioni Range e partNumber.

  9. (Facoltativo) In Parametri di richiesta seleziona Abilita o Disabilita per aggiungere il monitoraggio Amazon S3 al punto di accesso Lambda per oggetti. Le metriche delle richieste vengono fatturate alla tariffa standard di Amazon CloudWatch.

  10. (Facoltativo) In Object Lambda Access Point policy (Policy punto di accesso Object Lambda), imposta una policy delle risorse. Le policy delle risorse concedono le autorizzazioni per il punto di accesso Lambda per oggetti specificato e possono controllare l'utilizzo del punto di accesso per risorsa, utente o altre condizioni. Per ulteriori informazioni sulle policy delle risorse per i punti di accesso Object Lambda, consulta Configurazione delle policy IAM per i punti di accesso Lambda per oggetti.

  11. In Block Public Access settings for this Object Lambda Access Point (Impostazioni blocco accesso pubblico per questo punto di accesso Object Lambda), seleziona le impostazioni di Blocco dell'accesso pubblico Amazon S3 da applicare al punto di accesso. Tutte le impostazioni di blocco dell'accesso pubblico sono abilitate per impostazione predefinita per i nuovi punti di accesso Object Lambda. È consigliabile non modificare questa impostazione predefinita. Amazon S3 attualmente non supporta la modifica delle impostazioni di blocco dell'accesso pubblico dei punti di accesso dopo la creazione del punto di accesso Object Lambda.

    Per ulteriori informazioni sull'utilizzo del blocco dell'accesso pubblico in Amazon S3, consulta Gestione dell'accesso pubblico agli access point.

  12. Seleziona Create Object Lambda Access Point (Crea punto di accesso Object Lambda).

Per creare un punto di accesso Object Lambda utilizzando un modello AWS CloudFormation
Nota

Per utilizzare i seguenti comandi, sostituisci user input placeholders con le tue specifiche informazioni.

  1. Scarica il pacchetto di distribuzione delle AWS Lambda funzioni s3objectlambda_deployment_package.zip nella configurazione predefinita di S3 Object Lambda.

  2. Esegui il seguente comando put-object per caricare il pacchetto in un bucket Amazon S3.

    aws s3api put-object --bucket Amazon S3 bucket name --key s3objectlambda_deployment_package.zip --body release/s3objectlambda_deployment_package.zip
  3. Scarica il AWS CloudFormation modello nella configurazione s3objectlambda_defaultconfig.yaml predefinita di S3 Object Lambda.

  4. Esegui il seguente comando deploy per implementare il modello nell' Account AWS in uso.

    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 --capabilities capability_IAM

Puoi configurare questo AWS CloudFormation modello per richiamare le operazioni GET Lambda HEAD LIST e API. Per ulteriori informazioni sulla modifica della configurazione predefinita del modello, consulta Automatizza la configurazione di S3 Object Lambda con un modello CloudFormation.

Per creare un Object Lambda Access Point utilizzando AWS CLI
Nota

Per utilizzare i seguenti comandi, sostituisci user input placeholders con le tue specifiche informazioni.

Nell'esempio seguente viene creato un punto di accesso Lambda per oggetti denominato my-object-lambda-ap per il bucket DOC-EXAMPLE-BUCKET1 nell'account 111122223333. L'esempio presuppone che sia già stato creato un punto di accesso standard denominato example-ap. Per informazioni sulla creazione di un punto di accesso standard, consulta la sezione Creazione di access point.

Questo esempio utilizza la funzione AWS predefinita. decompress Per ulteriori informazioni sulle funzioni incorporate, consulta Utilizzo delle AWS funzioni Lambda integrate.

  1. Creare un bucket. In questo esempio verrà utilizzato DOC-EXAMPLE-BUCKET1. Per ulteriori informazioni sulla creazione dei bucket, consulta la sezione Creazione di un bucket.

  2. Creare un punto di accesso standard e collegarlo al bucket. In questo esempio verrà utilizzato example-ap. Per informazioni sulla creazione di punti di accesso standard, consulta la sezione Creazione di access point.

  3. Esegui una di queste operazioni:

  4. Crea un file di configurazione JSON denominato my-olap-configuration.json. In questa configurazione, fornisci il punto di accesso di supporto e il nome della risorsa Amazon (ARN) per la funzione Lambda creata nei passaggi precedenti o l'ARN per la funzione predefinita che stai utilizzando.

    { "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. Esegui il comando create-access-point-for-object-lambda per creare il punto di accesso Lambda per oggetti.

    aws s3control create-access-point-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --configuration file://my-olap-configuration.json
  6. (Facoltativo) Crea un file di policy JSON denominato my-olap-policy.json.

    L'aggiunta di una policy delle risorse per il punto di accesso Object Lambda può controllare l'utilizzo del punto di accesso per risorsa, utente o altre condizioni. Questa policy delle risorse concede l'autorizzazione GetObject per l'account 444455556666 al punto di accesso Lambda per oggetti specificato.

    { "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. (Facoltativo) Esegui il comando put-access-point-policy-for-object-lambda per impostare la policy delle risorse.

    aws s3control put-access-point-policy-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --policy file://my-olap-policy.json
  8. (Facoltativo) Specifica un payload.

    Un payload è un file JSON opzionale che puoi fornire alla tua AWS Lambda funzione come input. Puoi configurare payload con parametri diversi per diversi punti di accesso Lambda per oggetti che richiamano la stessa funzione Lambda, estendendo così la flessibilità della funzione stessa.

    La seguente configurazione del punto di accesso Lambda per oggetti mostra un payload con due parametri.

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

    La seguente configurazione del punto di accesso Lambda per oggetti mostra un payload con un parametro e con GetObject-Range, GetObject-PartNumber, HeadObject-Range e HeadObject-PartNumber abilitati.

    { "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

    Quando utilizzi i punti di accesso Lambda per oggetti, assicurati che il payload non contenga informazioni riservate.

È possibile creare un punto di accesso Lambda per oggetti utilizzando la configurazione predefinita fornita da Amazon S3. Puoi scaricare un AWS CloudFormation modello e il codice sorgente della funzione Lambda dal GitHub repository e distribuire queste risorse per configurare un Object Lambda Access Point funzionale.

Per informazioni sulla modifica della configurazione predefinita del AWS CloudFormation modello, consulta. Automatizza la configurazione di S3 Object Lambda con un modello CloudFormation

Per informazioni sulla configurazione degli access point Object Lambda AWS CloudFormation utilizzando senza il modello, AWS::S3ObjectLambda::AccessPointconsultate la Guida per AWS CloudFormation l'utente.

Per caricare il pacchetto di implementazione della funzione Lambda
  1. Scarica il pacchetto di distribuzione delle AWS Lambda funzioni s3objectlambda_deployment_package.zip nella configurazione predefinita di S3 Object Lambda.

  2. Carica il pacchetto in un bucket Amazon S3

Per creare un punto di accesso Object Lambda utilizzando la console AWS CloudFormation
  1. Scarica il AWS CloudFormation modello nella configurazione s3objectlambda_defaultconfig.yaml predefinita di S3 Object Lambda.

  2. Accedi alla console di AWS gestione e apri la AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation.

  3. Esegui una di queste operazioni:

    • Se non l'hai mai usato AWS CloudFormation prima, nella AWS CloudFormation home page, scegli Crea stack.

    • Se l'hai AWS CloudFormation già usato, nel riquadro di navigazione a sinistra, scegli Stacks. Scegli Create stack (Crea stack), quindi With new resources (standard) Con nuove risorse (standard).

  4. Per Prerequisito - Prepara modello, scegliere Il modello è pronto.

  5. In Specify template (Specifica modello), scegli Upload a template file (Carica un file modello), quindi carica s3objectlambda_defaultconfig.yaml.

  6. Seleziona Avanti.

  7. Nella pagina Specifica dettagli della pila, immetti un nome per la pila.

  8. Nella sezione Parameters (Parametri), specifica i seguenti parametri definiti nel modello dello stack:

    1. Per CreateNewSupportingAccessPoint, esegui una delle seguenti operazioni:

      • Se disponi già di un punto di accesso di supporto per il bucket S3 in cui hai caricato il modello, scegli false.

      • Se intendi creare un nuovo punto di accesso per questo bucket, scegli true.

    2. Infatti EnableCloudWatchMonitoring, scegli true o false, a seconda che tu voglia abilitare i parametri e gli allarmi delle CloudWatch richieste Amazon.

    3. (Facoltativo) Per LambdaFunctionPayload, aggiungi il testo JSON che desideri fornire alla funzione Lambda come input. Puoi configurare payload con parametri diversi per diversi punti di accesso Lambda per oggetti che richiamano la stessa funzione Lambda, estendendo così la flessibilità della funzione stessa.

      Importante

      Quando utilizzi i punti di accesso Lambda per oggetti, assicurati che il payload non contenga informazioni riservate.

    4. Per LambdaFunctionRuntime, inserisci il tuo runtime preferito per la funzione Lambda. Le scelte disponibili sono nodejs14.x, python3.9, java11.

    5. Per LambdaFunctionS3 BucketName, inserisci il nome del bucket Amazon S3 in cui hai caricato il pacchetto di distribuzione.

    6. Per LambdaFunctionS3Key, inserisci la chiave oggetto Amazon S3 in cui hai caricato il pacchetto di distribuzione.

    7. Per LambdaFunctionS3 ObjectVersion, inserisci la versione dell'oggetto Amazon S3 in cui hai caricato il pacchetto di distribuzione.

    8. Per ObjectLambdaAccessPointName, inserisci un nome per il tuo Object Lambda Access Point.

    9. Per S3 BucketName, inserisci il nome del bucket Amazon S3 che verrà associato al tuo access point Object Lambda.

    10. Per SupportingAccessPointName, inserisci il nome del tuo access point di supporto.

      Nota

      Questo è un punto di accesso associato al bucket Amazon S3 scelto nel passaggio precedente. Se non disponi di punti di accesso associati al tuo bucket Amazon S3, puoi configurare il modello in modo che ne crei uno per te scegliendo true for. CreateNewSupportingAccessPoint

  9. Seleziona Avanti.

  10. Nella pagina Configure stack options (Configura opzioni pila), scegliere Next (Successivo).

    Per ulteriori informazioni sulle impostazioni facoltative in questa pagina, consulta la sezione Impostazione delle opzioni dello stack AWS CloudFormation nella Guida per l'utente di AWS CloudFormation .

  11. Nella pagina Revisione, scegliere Crea pila.

Per ulteriori informazioni sulla configurazione degli access point Object Lambda utilizzando AWS CDK, AWS::S3ObjectLambdavedete Construct Library nell'AWS Cloud Development Kit (AWS CDK) API Reference.