Verwenden von S3-Zugriffspunkt-ARNs der AWS SDK for PHP Version 3 - AWS SDK for PHP

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.

Verwenden von S3-Zugriffspunkt-ARNs der AWS SDK for PHP Version 3

S3 hat erstmalig Zugriffspunkte verwendet, eine neue Möglichkeit der Interaktion mit S3-Buckets. Auf Zugriffspunkte können eindeutige Richtlinien und Konfigurationen angewendet werden, anstatt dass sie direkt auf den Bucket angewendet werden. Mit der AWS SDK for PHP können Sie Zugriffspunkt-ARNs im Bucket-Feld für API-Operationen verwenden, anstatt den Bucket-Namen explizit anzugeben. Weitere Informationen zur Funktionsweise von S3-Zugriffspunkten und ARNs finden Sie hier. In den nachstehenden Beispielen wird Folgendes veranschaulicht:

  • Verwenden Sie GetObject mit einem Zugriffspunkt-ARN, um ein Objekt aus einem Bucket abzurufen.

  • Verwenden Sie PutObject mit einem Zugriffspunkt-ARN, um einem Bucket ein Objekt hinzuzufügen.

  • Konfigurieren Sie den S3-Client so, dass er die ARN-Region anstelle der Client-Region verwendet.

Der gesamte Beispielcode für die AWS SDK for PHP ist hier auf GitHubverfügbar.

Anmeldeinformationen

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen, wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK for PHP, wie unter beschriebenGrundlegende Verwendung.

Importe

require 'vendor/autoload.php'; use Aws\S3\S3Client;

Objekt abrufen

Erstellen Sie zunächst einen AWS.S3-Client-Service, der die AWS Region und Version angibt. Rufen Sie dann die getObject-Methode mit Ihrem Schlüssel und einem S3-Zugriffspunkt-ARN im Feld Bucket auf. Dadurch wird das Objekt aus dem diesem Zugriffspunkt zugeordneten Bucket abgerufen.

Beispiel-Code

$s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-west-2', ]); $result = $s3->getObject([ 'Bucket' => 'arn:aws:s3:us-west-2:123456789012:accesspoint:endpoint-name', 'Key' => 'MyKey' ]);

Einfügen eines Objekts in einen Bucket

Erstellen Sie zunächst einen AWS.S3-Client-Service, der die AWS Region und Version angibt. Rufen Sie dann die putObject-Methode mit dem gewünschten Schlüssel, dem Hauptteil oder der Quelldatei und einem S3-Zugriffspunkt-ARN im Feld Bucket auf. Dadurch wird das Objekt im diesem Zugriffspunkt zugeordneten Bucket abgelegt.

Beispiel-Code

$s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-west-2', ]); $result = $s3->putObject([ 'Bucket' => 'arn:aws:s3:us-west-2:123456789012:accesspoint:endpoint-name', 'Key' => 'MyKey', 'Body' => 'MyBody' ]);

Konfigurieren Sie den S3-Client so, dass er die ARN-Region anstelle der Client-Region verwendet.

Wenn Sie einen S3-Zugriffspunkt-ARN in einer S3-Client-Operation verwenden, stellt der Client standardmäßig sicher, dass die ARN-Region mit der Client-Region übereinstimmt. Ist dies nicht der Fall, löst er eine Ausnahme aus. Dieses Verhalten kann geändert werden, um die ARN-Region gegenüber der Client-Region zu bevorzugen, indem Sie für die Konfigurationsoption use_arn_region true festlegen. Standardmäßig ist für die Option false festgelegt.

Beispiel-Code

$s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-west-2', 'use_arn_region' => true ]);

Der Client überprüft auch eine Umgebungsvariable und eine Konfigurationsdateioption in der folgenden Reihenfolge der Priorität:

  1. Die Client-Option use_arn_region, wie im obigen Beispiel

  2. Die Umgebungsvariable AWS_S3_USE_ARN_REGION

export AWS_S3_USE_ARN_REGION=true
  1. Die Konfigurationsvariable s3_use_arn_region in der AWS freigegebenen Konfigurationsdatei (standardmäßig in ~/.aws/config).

[default] s3_use_arn_region = true