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:
Tutto il codice di esempio per il AWS SDK for PHP è disponibile qui
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à:
-
L'opzione client
use_arn_region
, come nell'esempio precedente. -
Nella variabile di ambiente
AWS_S3_USE_ARN_REGION
.
export AWS_S3_USE_ARN_REGION=true
-
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