Erstellen von Objekt-Lambda-Zugriffspunkten - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen von Objekt-Lambda-Zugriffspunkten

Ein Object Lambda Access Point ist mit genau einem Standard-Zugriffspunkt und folglich mit einem Amazon-S3-Bucket verknüpft. Zum Erstellen eines Object Lambda Access Point benötigen Sie folgende Ressourcen:

In den folgenden Abschnitten wird beschrieben, wie Sie einen Object Lambda Access Point mit Folgendem erstellen:

  • Das Tool AWS Management Console

  • Das Tool AWS Command Line Interface (AWS CLI)

  • Importieren in &S3; AWS CloudFormation Vorlage

  • Das Tool AWS Cloud Development Kit (AWS CDK)

Informationen zum Erstellen eines Object Lambda Access Points mithilfe von finden Sie CreateAccessPointForObjectLambdain der REST API Amazon Simple Storage Service API Reference.

Erstellen eines Object Lambda Access Point

Erstellen Sie Ihren Object Lambda Access Point mit einem der folgenden Verfahren.

So erstellen Sie einen Object Lambda Access Point mit der Konsole
  1. Melden Sie sich an bei AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie in der Navigationsleiste den Namen der aktuell angezeigten AWS-Region. Wählen Sie als Nächstes die Region aus, zu der Sie wechseln möchten.

  3. Wählen Sie im linken Navigationsbereich Objekt-Lambda-Zugriffspunkte aus.

  4. Wählen Sie auf der Seite Object Lambda access points (Objekt-Lambda-Zugriffspunkte) die Option Create Object Lambda access point (Objekt-Lambda-Zugriffspunkt erstellen).

  5. Geben Sie unter Object Lambda access point name (Name des Objekt-Lambda-Zugriffspunkts) den Namen ein, den Sie für den Zugriffspunkt verwenden möchten.

    Wie bei Standard-Zugriffspunkten gibt es Regeln für die Benennung von Object Lambda Access Points. Weitere Informationen finden Sie unter Regeln zur Benennung von Amazon S3-Zugriffspunkten.

  6. Geben Sie für Supporting Access Point (Unterstützender Access Point) den Standard-Zugriffspunkt ein, den Sie verwenden möchten, oder navigieren Sie zu diesem. Der Access Point muss sich in derselben befinden AWS-Region wie die Objekte, die Sie transformieren möchten. Informationen zum Erstellen von Standardzugriffspunkten finden Sie unter Erstellen von Zugriffspunkten.

  7. Unter Transformationskonfiguration können Sie eine Funktion hinzufügen, die Ihre Daten für den Object Lambda Access Point transformiert. Führen Sie eine der folgenden Aktionen aus:

    • Wenn Sie bereits eine haben AWS Lambda Funktion in Ihrem Konto können Sie sie unter Lambda-Funktion aufrufen auswählen. Hier können Sie den Amazon-Ressourcennamen (ARN) einer Lambda-Funktion in Ihrem AWS-Konto oder wählen Sie eine Lambda-Funktion aus dem Drop-down-Menü.

    • Wenn Sie eine verwenden möchten AWS eingebaute Funktion wählen Sie den Funktionsnamen unter AWS erstellte Funktion und wählen Sie Lambda-Funktion erstellen. Dadurch gelangen Sie zur Lambda-Konsole, wo Sie eine integrierte Funktion in Ihrem System bereitstellen können AWS-Konto. Weitere Hinweise zu integrierten Funktionen finden Sie unterDie Verwendung von AWS gebaute Lambda-Funktionen.

    Wählen Sie unter S3 eine oder mehrere API Operationen ausAPIs, die aufgerufen werden sollen. Für jede API Auswahl müssen Sie eine Lambda-Funktion angeben, die aufgerufen werden soll.

  8. (Optional) Fügen Sie unter Payload JSON Text hinzu, den Sie Ihrer Lambda-Funktion als Eingabe zur Verfügung stellen möchten. Sie können Nutzlasten mit verschiedenen Parametern für verschiedene Object Lambda Access Points konfigurieren, die dieselbe Lambda-Funktion aufrufen, wodurch die Flexibilität Ihrer Lambda-Funktion erhöht wird.

    Wichtig

    Wenn Sie Object Lambda Access Points verwenden, stellen Sie sicher, dass die Nutzlast keine vertraulichen Informationen enthält.

  9. (Optional) Für Range and part number (Bereichs- und Teilenummer) müssen Sie diese Option aktivieren, wenn Sie GET- und HEAD-Anforderungen mit Bereichs- und Teilenummern-Headern bearbeiten möchten. Durch Aktivieren dieser Option wird bestätigt, dass Ihre Lambda-Funktion diese Anforderungen erkennen und bearbeiten kann. Weitere Informationen zu Bereichsüberschriften und Teilenummern finden Sie unter Arbeitet mit Range and partNumber Header.

  10. (Optional) Wählen Sie für Anforderungsmetriken die Option Aktivieren oder Deaktivieren aus, um Ihrem Object Lambda Access Point Amazon-S3-Überwachung hinzuzufügen. Anforderungsmetriken werden zum CloudWatch Standardtarif von Amazon abgerechnet.

  11. (Optional) Legen Sie unter Object Lambda Access Point policy (Objekt-Lambda-Access-Point-Richtlinie) eine Ressourcenrichtlinie fest. Ressourcenrichtlinien erteilen Berechtigungen für den angegebenen Object Lambda Access Point und können die Verwendung des Zugriffspunkts nach Ressource, Benutzer oder anderen Bedingungen steuern. Weitere Hinweise zu Ressourcenrichtlinien für Objekt-Lambda-Zugriffspunkten finden Sie unter Konfiguration von IAM Richtlinien für Object Lambda Access Points.

  12. Wählen Sie unter Block Public Access settings for this Object Lambda Access Point (Einstellungen für die Blockierung des öffentlichen Zugriffs für diesen Objekt-Lambda-Zugriffspunkt) die Einstellungen für die Blockierung des öffentlichen Zugriffs aus, die Sie anwenden möchten. Alle Einstellungen für die Blockierung des öffentlichen Zugriffs sind standardmäßig für neue Objekt-Lambda-Zugriffspunkte aktiviert. Wir empfehlen Ihnen, die Standardeinstellungen aktiviert zu lassen. Amazon S3 unterstützt derzeit nicht das Ändern der Einstellungen für die Blockierung des öffentlichen Zugriffs eines Objekt-Lambda-Zugriffspunkts, nachdem der Objekt-Lambda-Zugriffspunkt erstellt wurde.

    Weitere Informationen über die Blockierung des öffentlichen Zugriffs in Amazon S3 finden Sie unter Verwalten des öffentlichen Zugriffs auf Zugriffspunkte.

  13. Wählen Sie Create Object Lambda Access Point (Objekt-Lambda-Access-Point erstellen) aus.

So erstellen Sie einen Object Lambda Access Point mit einem AWS CloudFormation Vorlage
Anmerkung

Wenn Sie die folgenden Befehle verwenden, ersetzen Sie user input placeholders durch eigene Informationen.

  1. Laden Sie das herunter AWS Lambda Funktionsbereitstellungspaket s3objectlambda_deployment_package.zip in der Standardkonfiguration von S3 Object Lambda.

  2. Führen Sie den folgenden put-object-Befehl aus, um das Paket in einen Amazon-S3-Bucket hochzuladen.

    aws s3api put-object --bucket Amazon S3 bucket name --key s3objectlambda_deployment_package.zip --body release/s3objectlambda_deployment_package.zip
  3. Laden Sie das herunter AWS CloudFormation Vorlage s3objectlambda_defaultconfig.yaml in der Standardkonfiguration von S3 Object Lambda.

  4. Führen Sie den folgenden deploy Befehl aus, um die Vorlage auf Ihrem Computer bereitzustellen AWS-Konto.

    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

Sie können das konfigurieren AWS CloudFormation Vorlage zum Aufrufen von Lambda für GETHEAD, und LIST API -Operationen. Weitere Informationen zum Ändern der Standardkonfiguration der Vorlage finden Sie unter Automatisieren Sie die Einrichtung von S3 Object Lambda mit einer Vorlage CloudFormation.

So erstellen Sie einen Object Lambda Access Point mit dem AWS CLI
Anmerkung

Wenn Sie die folgenden Befehle verwenden, ersetzen Sie user input placeholders durch eigene Informationen.

Im folgenden Beispiel wird ein Object Lambda Access Point mit dem Namen erstellt my-object-lambda-ap für den Bucket amzn-s3-demo-bucket1 auf dem Konto 111122223333. In diesem Beispiel wird davon ausgegangen, dass ein Standardzugriffspunkt mit dem Namen Beispiel-AP wurde bereits erstellt. Informationen zum Erstellen eines Standardzugriffspunkts finden Sie unter Erstellen von Zugriffspunkten.

Dieses Beispiel verwendet die AWS vorgefertigte Funktiondecompress. Weitere Hinweise zu vorgefertigten Funktionen finden Sie unter Die Verwendung von AWS gebaute Lambda-Funktionen.

  1. Erstellen Sie einen Bucket. In diesem Beispiel verwenden wir amzn-s3-demo-bucket1. Hinweise zum Erstellen von Buckets finden Sie unterErstellen eines Buckets.

  2. Erstellen Sie einen Standardzugriffspunkt und hängen Sie ihn an Ihren Bucket an. In diesem Beispiel verwenden wir Beispiel-AP. Informationen zum Erstellen von Standardzugriffspunkten finden Sie unterErstellen von Zugriffspunkten.

  3. Führen Sie eine der folgenden Aktionen aus:

  4. Erstellen Sie eine JSON Konfigurationsdatei mit dem Namen. my-olap-configuration.json Geben Sie in dieser Konfiguration den unterstützenden Access Point und den Amazon-Ressourcennamen (ARN) für die Lambda-Funktion an, die Sie in den vorherigen Schritten erstellt haben, oder ARN für die vordefinierte Funktion, die Sie verwenden.

    { "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. Führen Sie den Befehl create-access-point-for-object-lambda aus, um den Object Lambda Access Point zu erstellen.

    aws s3control create-access-point-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --configuration file://my-olap-configuration.json
  6. (Optional) Erstellen Sie eine JSON Richtliniendatei mit dem Namen. my-olap-policy.json

    Durch Hinzufügen einer Ressourcenrichtlinie für Objekt-Lambda-Zugriffspunkte lässt sich die Verwendung des Zugriffspunkts nach Ressource, Benutzer oder anderen Bedingungen steuern. Diese Ressourcenrichtlinie gewährt die GetObject Berechtigung für das Konto 444455556666 zum angegebenen Object Lambda Access Point.

    { "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. (Optional) Führen Sie den Befehl put-access-point-policy-for-object-lambda aus, um Ihre Ressourcenrichtlinie festzulegen.

    aws s3control put-access-point-policy-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --policy file://my-olap-policy.json
  8. (Optional) Geben Sie eine Nutzlast an.

    Eine Payload ist optionalJSON, die Sie Ihrem zur Verfügung stellen können AWS Lambda Funktion als Eingabe. Sie können Nutzlasten mit verschiedenen Parametern für verschiedene Object Lambda Access Points konfigurieren, die dieselbe Lambda-Funktion aufrufen, wodurch die Flexibilität Ihrer Lambda-Funktion erhöht wird.

    Die folgende Konfiguration des Object Lambda Access Point zeigt eine Nutzlast mit zwei Parametern.

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

    Die folgende Konfiguration des Object Lambda Access Point zeigt eine Nutzlast mit einem Parameter und den aktivierten Einstellungen GetObject-Range, GetObject-PartNumber, HeadObject-Range und HeadObject-PartNumber.

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

    Wenn Sie Object Lambda Access Points verwenden, stellen Sie sicher, dass die Nutzlast keine vertraulichen Informationen enthält.

Sie können einen Object Lambda Access Point mithilfe der von Amazon S3 bereitgestellten Standardkonfiguration erstellen. Sie können eine herunterladen AWS CloudFormation Vorlage und Lambda-Funktions-Quellcode aus dem GitHub Repository und stellen Sie diese Ressourcen bereit, um einen funktionierenden Object Lambda Access Point einzurichten.

Informationen zum Ändern der AWS CloudFormation Die Standardkonfiguration der Vorlage finden Sie unterAutomatisieren Sie die Einrichtung von S3 Object Lambda mit einer Vorlage CloudFormation.

Informationen zur Konfiguration von Object Lambda Access Points mithilfe von AWS CloudFormation ohne die Vorlage finden Sie AWS::S3ObjectLambda::AccessPointin der AWS CloudFormation Benutzerleitfaden.

So laden Sie das Bereitstellungspaket für die Lambda-Funktion hoch
  1. Laden Sie das herunter AWS Lambda Funktionsbereitstellungspaket s3objectlambda_deployment_package.zip in der Standardkonfiguration von S3 Object Lambda.

  2. Hochladen des Pakets in einen Amazon S3 Bucket

So erstellen Sie einen Object Lambda Access Point mit dem AWS CloudFormation Konsole
  1. Laden Sie das herunter AWS CloudFormation Vorlage s3objectlambda_defaultconfig.yaml in der Standardkonfiguration von S3 Object Lambda.

  2. Melden Sie sich an bei AWS Management Console und öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation.

  3. Führen Sie eine der folgenden Aktionen aus:

    • Wenn Sie es noch nie benutzt haben AWS CloudFormation vorher, auf dem AWS CloudFormation Startseite, wählen Sie Stapel erstellen.

    • Wenn Sie verwendet haben AWS CloudFormation Wählen Sie zuvor im linken Navigationsbereich Stacks aus. Wählen Sie Create stack (Stack erstellen) und dann With new resources (standard) (Mit neuen Ressourcen (Standard)) aus.

  4. Wählen Sie für Voraussetzung - Vorlage vorbereiten die Option Vorlage ist bereit aus.

  5. Wählen Sie unter Specify template (Vorlage angeben) die Option Upload a template file (Vorlagendatei hochladen) aus und laden Sie s3objectlambda_defaultconfig.yaml hoch.

  6. Wählen Sie Weiter.

  7. Geben Sie auf der Seite Stackdetails angeben einen Namen für den Stack ein.

  8. Geben Sie im Abschnitt Parameters (Parameter) die folgenden Parameter an, die in der Stack-Vorlage definiert sind:

    1. Führen Sie für CreateNewSupportingAccessPointeinen der folgenden Schritte aus:

      • Wenn Sie bereits einen unterstützenden Zugriffspunkt für den S3-Bucket haben, in den Sie die Vorlage hochgeladen haben, wählen Sie false (falsch) aus.

      • Wenn Sie einen neuen Zugriffspunkt für diesen Bucket erstellen möchten, wählen Sie true (wahr) aus.

    2. Wählen Sie für EnableCloudWatchMonitoringwahr oder falsch, je nachdem, ob Sie CloudWatch Amazon-Anforderungsmetriken und Alarme aktivieren möchten.

    3. (Optional) Fügen Sie JSON Text hinzu LambdaFunctionPayload, den Sie Ihrer Lambda-Funktion als Eingabe zur Verfügung stellen möchten. Sie können Nutzlasten mit verschiedenen Parametern für verschiedene Object Lambda Access Points konfigurieren, die dieselbe Lambda-Funktion aufrufen, wodurch die Flexibilität Ihrer Lambda-Funktion erhöht wird.

      Wichtig

      Wenn Sie Object Lambda Access Points verwenden, stellen Sie sicher, dass die Nutzlast keine vertraulichen Informationen enthält.

    4. Geben Sie für LambdaFunctionRuntimeIhre bevorzugte Laufzeit für die Lambda-Funktion ein. Die verfügbaren Auswahlmöglichkeiten sind nodejs14.x, python3.9, java11.

    5. Geben Sie für LambdaFunctionS3 BucketName den Amazon S3 S3-Bucket-Namen ein, in den Sie das Bereitstellungspaket hochgeladen haben.

    6. Geben Sie für LambdaFunctionS3Key den Amazon S3 S3-Objektschlüssel ein, in den Sie das Bereitstellungspaket hochgeladen haben.

    7. Geben Sie für LambdaFunctionS3 die Amazon S3 S3-Objektversion einObjectVersion, in die Sie das Bereitstellungspaket hochgeladen haben.

    8. Geben Sie für ObjectLambdaAccessPointNameeinen Namen für Ihren Object Lambda Access Point ein.

    9. Geben Sie für S3 BucketName den Amazon S3 S3-Bucket-Namen ein, der Ihrem Object Lambda Access Point zugeordnet wird.

    10. Geben Sie für SupportingAccessPointNameden Namen Ihres unterstützenden Access Points ein.

      Anmerkung

      Dies ist ein Zugriffspunkt, der mit dem Amazon-S3-Bucket verknüpft ist, den Sie im vorherigen Schritt ausgewählt haben. Wenn Ihrem Amazon S3 S3-Bucket keine Access Points zugeordnet sind, können Sie die Vorlage so konfigurieren, dass sie einen für Sie erstellt, indem Sie true for wählen CreateNewSupportingAccessPoint.

  9. Wählen Sie Weiter.

  10. Wählen Sie auf der Seite Configure stack options (Stack-Optionen konfigurieren) Next (Weiter) aus.

    Weitere Informationen zu den optionalen Einstellungen auf dieser Seite finden Sie unter Einstellung AWS CloudFormation Stapeloptionen in der AWS CloudFormation Benutzerleitfaden.

  11. Wählen Sie auf der Seite Prüfen Stack erstellen aus.

Weitere Informationen zur Konfiguration von Object Lambda Access Points mit dem AWS CDK, siehe AWS::S3ObjectLambdaConstruct Library im AWS Cloud Development Kit (AWS CDK) APIReferenz.