O que é o Amazon S3?
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos que oferece escalabilidade líder do setor, disponibilidade de dados, segurança e performance. Clientes de todos os tamanhos e setores podem usar o Amazon S3 para armazenar e proteger qualquer volume de dados para uma variedade de casos de uso, como data lakes, sites, aplicações móveis, backup e restauração, arquivamento, aplicações corporativas, dispositivos IoT e análises de big data. O Amazon S3 fornece recursos de gerenciamento para que você possa otimizar, organizar e configurar o acesso aos seus dados para atender aos seus requisitos específicos de negócios, organizacionais e de compatibilidade.
Este guia fornece informações focadas no desenvolvedor sobre o uso da API REST do Amazon S3 para criar aplicativos que armazenam e recuperam dados na nuvem.
Você pode usar qualquer toolkit compatível com HTTP para usar a API REST. Você pode até usar um navegador para buscar objetos, desde que eles possam ser lidos anonimamente.
A API REST usa os cabeçalhos padrão e os códigos de status HTTP, para que os navegadores e os toolkits padrão funcionem como esperado. Em algumas áreas, adicionamos funcionalidade ao HTTP (por exemplo, adicionamos cabeçalhos para oferecer suporte ao controle de acesso). Nesses casos, fizemos o melhor para adicionar nova funcionalidade de uma forma que correspondesse ao estilo de uso padrão do HTTP.
nota
O suporte de SOAP via HTTP está obsoleto, mas continua disponível via HTTPS. No entanto, novos recursos do Amazon S3 não serão compatíveis com o SOAP. Recomendamos usar esta API REST ou os SDKs da AWS no seguinte link:
Este guia do desenvolvedor inclui:
Importante
Leia o seguinte sobre autenticação e controle de acesso antes de abordar tópicos específicos da API.
As solicitações para o Amazon S3 podem ser autenticadas ou anônimas. O acesso autenticado exige credenciais que a AWS pode usar para autenticar suas solicitações.
Recomendações de chamada de API
Fazer chamadas de API REST diretamente do seu código pode ser complicado. Exige que você grave o código necessário para calcular uma assinatura válida para autenticar suas solicitações. Recomendamos as seguintes alternativas:
-
Use os SDKs da AWS
para enviar suas solicitações. Além disso, consulte os Exemplos de código e bibliotecas
Se você usar os SDKs, não precisará gravar código para calcular uma assinatura para autenticação de solicitações, pois os clientes do SDK autenticam suas solicitações usando as chaves de acesso fornecidas por você. Você sempre deve usar os SDKs da AWS, a menos que tenha um bom motivo para não fazer isso.
-
Use a CLI da AWS para fazer chamadas de API do Amazon S3. Para obter informações sobre como configurar a CLI da AWS e exemplos de comandos do Amazon S3, consulte os seguintes tópicos:
Configurar a CLI da AWS no Guia de usuário do Amazon Simple Storage Service.
Uso do Amazon S3 com a interface de linha de comando da AWS no Guia do usuário da AWS Command Line Interface.
Como fazer chamadas diretas de API REST
nota
O cabeçalho da solicitação PUT é limitado a 8 KB. No cabeçalho da solicitação PUT, os metadados definidos pelo sistema são limitados a 2 KB. O tamanho de metadados definidos pelo sistema é medido pela soma do número de bytes na codificação US-ASCII de cada chave e valor.
Se você quiser fazer suas próprias chamadas de API REST em vez de usar uma das alternativas acima, há algumas considerações a fazer.
Para fazer chamadas diretas de API REST a partir do seu código, crie uma assinatura usando credenciais válidas e inclua a assinatura na sua solicitação. Para obter informações sobre vários métodos de autenticação e cálculos de assinatura, consulte Autenticação de solicitações (AWS Signature Version 4).
A API REST usa os cabeçalhos padrão e os códigos de status HTTP para que os navegadores e kits de ferramentas padrão funcionem como esperado. Em algumas áreas, adicionamos funcionalidade ao HTTP (por exemplo, adicionamos cabeçalhos para oferecer suporte ao controle de acesso). Nesses casos, fizemos o melhor para adicionar nova funcionalidade de uma forma que correspondesse ao estilo de uso padrão do HTTP. Para mais informações sobre fazer solicitações, consulte Fazer solicitações.
Permissões
Você pode ter credenciais válidas para autenticar suas solicitações, mas, a menos que tenha permissões do S3 do proprietário da conta ou do bucket, não poderá criar ou acessar os recursos do Amazon S3. Essas permissões geralmente são concedidas por meio de uma política do AWS Identity and Access Management (IAM), como uma política de bucket. Por exemplo, você deve ter permissões para criar um bucket do S3 ou obter um objeto em um bucket. Para ver uma lista completa de permissões do S3, consulte Ações, recursos e chaves de condição do Amazon S3.
Para obter mais informações sobre as permissões para operações de API do S3 por tipos de recursos do S3, consulte Permissões obrigatórias para operações de API do Amazon S3 no Guia do usuário do Amazon Simple Storage Service.
Se usar as credenciais do usuário-raiz da sua Conta da AWS, você terá todas as permissões. No entanto, não se recomenda o uso de credenciais do usuário-raiz. Em vez disso, recomendamos que você crie perfis do AWS Identity and Access Management (IAM) em sua conta e gerencie as permissões do usuário. Para obter mais informações, consulte Gerenciamento de acesso no Guia do usuário do Amazon Simple Storage Service.