AWS S3 – Criando Bucket S3 em menos de 5 minutos

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.

Adicionando o SDK da AWS no seu 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.*

Atualizando o Composer

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

Carregando o SDK em sua aplicação

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';

Nosso primeiro balde

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.