Exemplos de utilização API S3
Objetivo:
Descrever alguns exemplos de utilização da API S3 para conexão com os buckets WS3
Explicação:
Não é recomendado armazenar credenciais em um arquivo executável. Uma opção melhor é carregar credenciais de 'variáveis de ambiente' ou de um 'arquivo ini de credenciais'.
Criando uma conexão
Cria um objeto cliente S3 para interagir com o servidor DHO:
define('KEY', 'sua_chave_de_acesso'); |
Listando seus buckets
Lista os buckets de propriedade do usuário do S3:
$buckets = $client->listBuckets(); |
A resposta é semelhante à seguinte:
winov01 2022-10-01T18:56:22+00:00 |
Listando o conteúdo de seus buckets
#Listando conteúdo do bucket |
A resposta será semelhante à seguinte se o bucket contiver algum arquivo:
Winov_Folder01/ 2022-10-01T19:53:54+00:00 |
Excluindo todo o conteúdo de um bucket
$batch = Aws\S3\BatchDelete::fromListObjects($client, ['Bucket' => 'winov01']); |
Criando objetos
Upload de um arquivo do seu computador para o WS3
$bucket = 'winov01'; |
Deletando um objeto
$client->deleteObject(array( |
Download de um objeto
$client->getObject(array( |
Gerando URL’s de download de objetos (pré-assinados)
Gera um URL de download assinado para file01.txt que funciona por 1 hora. Os URLs de download assinados funcionam durante o período de tempo (quando o período de tempo termina, o URL para de funcionar):
$cmd = $client->getCommand('GetObject', [ |
A resposta é semelhante a seguir
https://ob-wzsp02.winov.com.br/winov01/file01.txt?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=XXXXXXXXXXXXXXXXXXXXXXXXXXX%2F20221001%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221001T201448Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXX
|
Considerações:
Existem diversas linguagens de programação disponíveis para a integração com API S3, cabe ao cliente entender a necessidade de seu negócio e escolher a que melhor se enquadre.
Documentação oficial:
https://docs.aws.amazon.com/pt_br/AmazonS3/latest/userguide/UsingAWSSDK.html
Comentários
0 comentário
Por favor, entre para comentar.