Guide

Storage OnLine: Utilizzare API S3 con PHP

Le soluzioni Storage OnLine di Hosting Solutions garantiscono un accesso sicuro, affidabile e performante ai propri dati. Tutte le soluzioni disponibili prevedono l'accesso attraverso S3 (Simple Storage Service) REST API, interfacce di programmazione create da Amazon e diventate praticamente uno standard per accedere a dati archiviati in remoto. Le specifiche di queste interfacce di programmazione (Application Program Interface - API) sono ben documentate e pubblicamente disponibili, ciò ha permesso la nascita di un gran numero di librerie e programmi che le usano.

Cos'è REST

Le REST API S3 aderiscono appieno, come il nome suggerisce, al paradigma REST - Representational State Transfer per l'accesso alle risorse via web. Senza entrare troppo nei dettagli possiamo affermare che, rispetto ad altri protocolli (come ad esempio SOAP), REST ha diversi vantaggi:

  • è molto più semplice implementare un client: ciò permette di scrivere i programmi più velocemente e con meno errori;
  • utilizza la banda disponibile in maniera ottimale;
  • permette di sfruttare caratteristiche avanzate del protocollo HTTP, soprattutto a livello di caching.

Tuttavia, nonostante la semplicità delle API, scrivere autonomamente il codice per eseguire le chiamate HTTP è un processo lungo e macchinoso; quindi, normalmente si utilizzano le moltissime librerie gratuite disponibili sulle quali c'è molta documentazione e che sono già ampiamente testate.

S3 e PHP

Un utile riferimento per utilizzare S3 API con il linguaggio PHP è AWS SDK for PHP, che sta per Amazon Web Services Software Development Kit.

Nei nostri esempi ci limiteremo a usare Amazon S3 PHP Class, molto più leggera e con meno requisiti rispetto a AWS SDK for PHP.

Vediamo, quindi, come utilizzare questa libreria nelle proprie applicazioni PHP:

  • scaricare la libreria dal sito ufficiale;
  • estrarre l'archivio in una cartella del server;
  • includere il file S3.php (l'unico sorgente) tramite le direttive di require o require_once;
  • configurare la classe S3.php.

Ecco un esempio:

setEndpoint(s3EndPoint);
$s3->setSSL(true, false);
?>      

Osservare che:

  • la libreria (il file S3.php) è stata collocata nella cartella lib;
  • USERNAME, PASSWORD E ACCESSO_S3 sono i valori che vengono mostrati nella pagina di attivazione del protocollo S3 da pannello di controllo e che vengono forniti anche nella email che segue l'attivazione del servizio.

Utilizzeremo questo frammento di codice in tutti gli esempi con PHP presenti in queste guide.

Risorse: