L'utilizzo del punto di accesso S3 ARNs è la AWS SDK for PHP versione 3 - AWS SDK for PHP

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à.

L'utilizzo del punto di accesso S3 ARNs è la AWS SDK for PHP versione 3

S3 ha introdotto i punti di accesso, un nuovo modo di interagire con i bucket S3. I punti di accesso possono avere criteri e configurazioni univoci applicati ad essi piuttosto che direttamente al bucket. AWS SDK for PHPConsente di utilizzare gli ARN dei punti di accesso nel campo del bucket per le operazioni API invece di specificare il nome del bucket in modo esplicito. Maggiori dettagli sul funzionamento degli access point e degli ARN S3 sono disponibili qui. Gli esempi seguenti mostrano come:

  • GetObjectUtilizzalo con un punto di accesso ARN per recuperare un oggetto da un bucket.

  • PutObjectUtilizzalo con un punto di accesso ARN per aggiungere un oggetto a un bucket.

  • Configurare il client S3 per utilizzare la regione ARN anziché la regione client.

Tutto il codice di esempio per il AWS SDK for PHP è disponibile qui. GitHub

Credenziali

Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto inCredenziali. Quindi importate il fileAWS SDK for PHP, come descritto inUtilizzo di base.

Importazioni

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

Ottieni oggetto

Per prima cosa crea un servizio client AWS.S3 che specifichi la regione e la AWS versione. Quindi chiama il getObject metodo con la tua chiave e un ARN del punto di accesso S3 nel campo Bucket, che recupererà l'oggetto dal bucket associato a quel punto di accesso.

Codice di esempio

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

Metti un oggetto in un secchio

Per prima cosa crea un servizio client AWS.S3 che specifichi la regione e la versione. AWS Quindi chiama il metodo putObject con la chiave desiderata, il corpo o il file sorgente e un punto di accesso S3 nel campo Bucket, che metterà l'oggetto nel bucket associato a quel punto di accesso.

Codice di esempio

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

Configurare il client S3 per utilizzare la regione ARN anziché la regione client

Quando si utilizza un ARN del punto di accesso S3 in un'operazione client S3, per impostazione predefinita il client si assicurerà che la regione ARN corrisponda alla regione client, generando un'eccezione in caso contrario. Questo comportamento può essere modificato per accettare la regione ARN sulla regione client impostando l'opzione di configurazione use_arn_region su true. Per impostazione predefinita, l'opzione è impostata su false.

Codice di esempio

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

Il client controllerà anche una variabile d'ambiente e un'opzione del file di configurazione, nel seguente ordine di priorità:

  1. L'opzione client use_arn_region, come nell'esempio precedente.

  2. Nella variabile di ambiente AWS_S3_USE_ARN_REGION.

export AWS_S3_USE_ARN_REGION=true
  1. La variabile di configurazione s3_use_arn_region nel file di configurazione AWS condiviso (per impostazione predefinita in). ~/.aws/config

[default] s3_use_arn_region = true