L'utilisation du point d'accès S3 permet d'obtenir la AWS SDK for PHP version 3 - AWS SDK for PHP

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.

L'utilisation du point d'accès S3 permet d'obtenir la AWS SDK for PHP version 3

S3 a introduit des points d'accès, une nouvelle façon d'interagir avec les compartiments S3. Les points d'accès peuvent avoir des stratégies et une configuration uniques appliquées à eux plutôt que directement au compartiment. Vous AWS SDK for PHP permet d'utiliser les ARN des points d'accès dans le champ du bucket pour les opérations d'API au lieu de spécifier explicitement le nom du bucket. Vous trouverez plus de détails sur le fonctionnement des points d'accès S3 et des ARN ici. Les exemples suivants montrent comment :

  • GetObjectÀ utiliser avec l'ARN d'un point d'accès pour récupérer un objet depuis un bucket.

  • PutObjectÀ utiliser avec l'ARN d'un point d'accès pour ajouter un objet à un bucket.

  • Configurez le client S3 pour qu'il utilise la région ARN au lieu de la région client.

Tous les exemples de code pour le AWS SDK for PHP sont disponibles ici GitHub.

Informations d’identification

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dansInformations d'identification. Importez ensuite leAWS SDK for PHP, comme décrit dansUtilisation de base.

Importations

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

Obtenir un objet

Créez d'abord un service client AWS.S3 qui spécifie la AWS région et la version. Ensuite, appelez la méthode getObject avec votre clé et un ARN de point d'accès S3 dans le champ Bucket, qui récupère l'objet du compartiment associé à ce point d'accès.

Exemple de 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' ]);

Placer un objet dans un seau

Créez d'abord un service client AWS.S3 qui spécifie la AWS région et la version. Ensuite, appelez la méthode putObject avec la clé, le corps ou le fichier source souhaité(e), et un ARN de point d'accès S3 dans le champ Bucket, ce qui placera l'objet dans le compartiment associé à ce point d'accès.

Exemple de 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' ]);

Configurer le client S3 pour qu'il utilise la région ARN au lieu de la région cliente

Lors de l'utilisation d'un ARN de point d'accès S3 dans une opération cliente S3, par défaut, le client s'assure que la région ARN correspond à la région cliente, en lançant une exception si ce n'est pas le cas. Ce comportement peut être modifié pour accepter la région ARN sur la région client en définissant l'option de configuration use_arn_region sur true. Par défaut, l'option est définie sur false.

Exemple de code

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

Le client vérifiera également une variable d'environnement et une option de fichier de configuration, dans l'ordre de priorité suivant :

  1. L'option client use_arn_region, comme dans l'exemple ci-dessus.

  2. La variable d'environnement AWS_S3_USE_ARN_REGION

export AWS_S3_USE_ARN_REGION=true
  1. La variable de configuration s3_use_arn_region dans le fichier de configuration AWS partagé (par défaut dans~/.aws/config).

[default] s3_use_arn_region = true