Pular para conteúdo

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:

Figura 1 - Criando requisição para envio de arquivo via API do serviço S3.

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.

Figura 2 - Adicionando parâmetros de Autorização.

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.

Figura 3 - Adicionando arquivo para envio.

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

Figura 4 - Headers para envio de arquivos via API do serviço S3.

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.