Requisitos
- Endpoint do bucket
- Folder da organização
- Access Key ID
- Secret Access Key
- Software Postman
Estes requisitos são disponibilizados pela IPES após o processo de cadastro junto à plataforma. Nesta demonstração é utilizado o Postman como cliente de acesso à APIs, pois este possui a funcionalidade de abstrair a criação do aws signature v4. Caso opte por outra forma (ou software) para realizar a requisição, é necessário elaborar o hash de assinatura conforme apresentado no neste link.
Para solicitar sua senha de acesso ao sistema de uploads Clique Aqui. Selecione a opção Logins e Contas e faça a solicitação de criação da senha.
Realizando o Upload
Abra o Postman e crie uma nova ‘collection', adicionando em seguida uma nova requisição . Nesta nova requisição, selecione o método http ‘PUT’ e insira no campo da URL o endpoint do bucket informado, acrescido de '/{folder_organização}/{nome_do_arquivo.extensao}’. A Figura 1 apresenta um exemplo de como deve ficar o preenchimento deste campo:
Na aba ‘Authorization’ selecione tipo ‘AWS Signature’ e preencha corretamente os campos ‘Access key’ e ‘Secret Key' com as informações disponibilizadas pela IPES. Os campos ‘AWS Region’ e 'Service Name’ devem ser preenchido com os valores ‘sa-east-1’ e ‘s3’ respectivamente. A Figura 2 apresenta um exemplo de preenchimento destes campos.
Na aba ‘Body’ da nova requisição, selecione o Content-Type do tipo ‘binary’, e em seguida, clique no botão ‘Select File’ . Será apresentada uma janela de seleção de arquivo. Navegue e selecione o arquivo que deseja enviar para ao bucket. A Figura 3 apresenta algo semelhante ao que você deve ver na aba ‘Body’ de sua requisição, ao final desta etapa.
A última etapa antes de enviar a solicitação consiste em preencher corretamente a aba ‘Headers’. As etapas anteriores geram alguns headers necessários que são preenchidos automaticamente como os listados abaixo:
- Authorization;
- X-Amz-Content-Sha256;
- X-Amz-Date;
- Content-Type;
- Content-Length;
Entretanto, é necessário que sejam adicionados headers responsáveis por propagar os parâmetros necessários à capacidade PutObject via API do serviço S3. Esses headers são apresentados na lista abaixo. Em seguída é apresentada a Figura 4, com detalhes de seus valores.
- x-amz-author: Nome do usuário que está enviando o arquivo (utilize o nome de usuário enviado);
- x-amz-acl: Permissão de leitura do arquivo (utilize de forma padrão o valor public-read);
- x-amz-version-id: Versão do arquivo;
- x-amz-storage-class: Tipo de armazenamento que será feito no S3 (utilize o valor ONEZONE_IA);
Realize a requisição e aguarde o processamento pelo servidor da AWS. Como resposta você deverá receber um código HTTP ‘200 - Ok’, conforme apresentado na Figura 5 abaixo.
O Arquivo está pronto para ser tratado e entrar para a base de dados da plataforma IPES.