Effettuare Servizio AWS richieste utilizzando la AWS SDK per PHP versione 3 - AWS SDK per 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à.

Effettuare Servizio AWS richieste utilizzando la AWS SDK per PHP versione 3

Panoramica del flusso di lavoro delle richieste SDK

Lavorare con la AWS SDK per PHP versione 3 segue uno schema coerente in tutti i Servizi AWS casi. Il flusso di lavoro di base prevede tre fasi principali:

  1. Crea un client di servizio: crea un'istanza di un oggetto Client per l'oggetto Servizio AWS che desideri utilizzare.

  2. Operazioni di esecuzione: richiama i metodi sul client che corrispondono alle operazioni nell'API del servizio.

  3. Risultati del processo: utilizza l'oggetto Result di tipo array restituito in caso di successo o gestisci qualsiasi eccezione generata in caso di errore.

Le sezioni seguenti spiegano in dettaglio ciascuno di questi passaggi, a partire da come creare e configurare i client di servizio.

Creazione di un client di servizio di base

È possibile creare un client trasferendo un array associativo di opzioni a un costruttore di client.

Importazioni

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

Codice di esempio

//Create an S3Client $s3 = new Aws\S3\S3Client([ 'region' => 'us-east-2' // Since version 3.277.10 of the SDK, ]); // the 'version' parameter defaults to 'latest'.

Le informazioni sul parametro opzionale «version» sono disponibili nell'argomento delle opzioni di configurazione.

Si noti che non abbiamo esplicitamente fornito le credenziali al client. Questo perché l'SDK utilizza la catena di provider di credenziali predefinita per cercare informazioni sulle credenziali.

Tutte le opzioni generali di configurazione del client sono descritte in dettaglio in. Opzioni del costruttore del client per la AWS SDK per PHP versione 3 La gamma di opzioni fornite a un client può variare in base a quale client si sta creando. Queste opzioni personalizzate per la configurazione del client sono descritte nella documentazione API per ogni client.

Sebbene l'esempio precedente mostri la creazione di client di base, è possibile personalizzare i client di servizio per soddisfare requisiti specifici. Per informazioni più dettagliate sulla configurazione dei client di servizio tramite codice, vedereConfigurazione dei client di servizio nel codice per la AWS SDK per PHP versione 3. Se è necessario configurare i client di servizio utilizzando file di configurazione esterni o variabili di ambiente, fare riferimento aConfigurazione esterna dei client di servizio per la AWS SDK per PHP versione 3.

Esecuzione di richieste

È possibile effettuare richieste di assistenza chiamando il metodo con lo stesso nome su un oggetto client. Ad esempio, per eseguire l'PutObjectoperazione Amazon S3, si chiama il Aws\S3\S3Client::putObject() metodo.

Importazioni

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

Codice di esempio

// Use the us-east-2 region and latest version of each client. $sharedConfig = [ 'profile' => 'default', 'region' => 'us-east-2' ]; // Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk($sharedConfig); // Use an Aws\Sdk class to create the S3Client object. $s3Client = $sdk->createS3(); // Send a PutObject request and get the result object. $result = $s3Client->putObject([ 'Bucket' => 'my-bucket', 'Key' => 'my-key', 'Body' => 'this is the body!' ]); // Download the contents of the object. $result = $s3Client->getObject([ 'Bucket' => 'my-bucket', 'Key' => 'my-key' ]); // Print the body of the result by indexing into the result object. echo $result['Body'];

Le operazioni disponibili per un client e la struttura di input e output sono definite in fase di runtime in base a un file di descrizione del servizio. Quando si crea un client, se non si fornisce un version parametro (ad esempio «2006-03-01» o «più recente») del modello di servizio, il client utilizza per impostazione predefinita la versione più recente. L'SDK individua il file di configurazione corrispondente in base alla versione fornita.

Tutti i metodi di operazione come putObject() accettano un unico argomento, un array associativo che indica i parametri dell'operazione. La struttura di questo array (e la struttura dell'oggetto risultato) è definita per ciascuna operazione nella documentazione API SDK (ad esempio, consulta la documentazione API per l'operazione putObject).

Opzioni del gestore HTTP

È inoltre possibile ottimizzare il modo in cui il gestore HTTP sottostante esegue la richiesta utilizzando il parametro speciale @http. Le opzioni che possono essere incluse nel parametro @http sono le stesse che possono essere impostate quando si crea un'istanza del client con l'opzione client "http".

// Send the request through a proxy $result = $s3Client->putObject([ 'Bucket' => 'amzn-s3-demo-bucket', 'Key' => 'my-key', 'Body' => 'this is the body!', '@http' => [ 'proxy' => 'http://192.168.16.1:10' ] ]);

Lavorare con oggetti di risultato

L'esecuzione di un'operazione corretta restituisce un oggetto Aws\Result. Anziché restituire i dati grezzi XML o JSON di un servizio, l'SDK forza i dati di risposta in una struttura array associativa. Normalizza alcuni aspetti dei dati in base alla sua conoscenza del servizio specifico e la struttura di risposta sottostante.

È possibile accedere ai dati dall'AWS\Resultoggetto come un array PHP associativo.

Importazioni

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

Codice di esempio

// Use the us-east-2 region and latest version of each client. $sharedConfig = [ 'profile' => 'default', 'region' => 'us-east-2', ]; // Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk($sharedConfig); // Use an Aws\Sdk class to create the S3Client object. $s3 = $sdk->createS3(); $result = $s3->listBuckets(); foreach ($result['Buckets'] as $bucket) { echo $bucket['Name'] . "\n"; } // Convert the result object to a PHP array $array = $result->toArray();

Il contenuto dell'oggetto risultato dipende dall'operazione che è stata eseguita e dalla versione di un servizio. La struttura che risulta da ogni operazione API è documentata nella documentazione API per ciascuna operazione.

L'SDK è integrato con JMESPathun DSL utilizzato per cercare e manipolare dati JSON o, nel nostro caso, array PHP. L'oggetto risultato contiene un metodo search() che è possibile utilizzare per estrarre dati dal risultato in modo più dichiarativo.

Codice di esempio

$s3 = $sdk->createS3(); $result = $s3->listBuckets();
$names = $result->search('Buckets[].Name');