Vou demonstrar a facilidade de integração com serviços da Amazon Web Services (AWS), nesse primeiro artigo, iremos criar um bucket utilizando a API do AWS S3 (Com o SDK PHP da AWS) em menos de 5 minutos.
O requisito mínimo para instalar o SDK é utilizar o Composer.
No arquivo composer.json adicione a entrada aws/aws-sdk-php, conforme exemplo abaixo:
{ "require": { "aws/aws-sdk-php": "2.*" } }
Essa entrada diz ao composer, que é uma biblioteca requerida na versão 2.*
Para atualizar o composer, e fazer com que ele faça o update e instale as novas bibliotecas adicionadas ao composer.json, basta executar em seu command line o parâmetro de update:
php composer.phar update
Caso sua aplicação já possua um autoload, o que a maioria dos frameworks já oferece, basta começar a utilizar a biblioteca, caso contrário, adicione a biblioteca em seu código:
require '/path/to/sdk/vendor/autoload.php';
Definindo Namespace
use Aws\S3\S3Client;
A linha acima, define que a classe S3Client será usada nesse nosso contexto, logo após o namespace, vamos instanciar então a classe S3Client com as nossas credenciais (Consulte sobre IAM para gerar sua credencial)
$client = S3Client::factory(array('key' => 'key', 'secret' => 'secret'));
Com o nosso client em memória, vamos criar o nosso primeiro balde utilizando o PHP, e tratando uma possivel execessão que é bem comum em se Tratando do AWS S3, que é causado quando se tenta criar algum bucket com o nome de outro já existe (mesmo por outros usuários)
try { $bucket = $client->createBucket(array( 'Bucket' => 'MyFirstBucket_Rivendel' )); } catch (Aws\S3\Exception\BucketAlreadyExistsException $e) { return array( 'error' => $e->getMessage() ); }
Para consultar outras Execessões possíveis, consulte a API: https://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.Exception.S3Exception.html.
Caso nenhuma exceção seja lançada, o retorno do seu o objeto pode ser visto e resgatado em forma de array da seguinte forma:
var_dump($bucket->toArray());
Pronto, seu primeiro Bucket foi criado.
No próximo post, iremos efetuar upload de diversas formas para o AWS S3, e modificar políticas de privacidade do Bucket, podendo torna-lo em até web site estático.
Gostou do conteúdo? Tem alguma dúvida? Entre em contato com nossos Especialistas Mandic Cloud, ficamos felizes em ajudá-lo.