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: