Este tópico descreve as operações de API do Amazon Simple Storage Service (Amazon S3) compatíveis com o Object Storage Service (OSS) e as diferenças entre o OSS e o S3.
Operações de API S3 compatíveis
A tabela a seguir lista as operações de API de bucket, objeto e multipart do S3 compatíveis com o OSS.
Em chamadas de API pelo protocolo S3, o parâmetro x-oss-process aceita apenas os tipos image/ e style/. Outros tipos de processamento, como video/, não têm suporte.
|
Tipo de operação |
Operação |
|
Operações de bucket |
|
|
Operações de objeto |
|
|
Operações multipart |
|
Diferenças entre OSS e S3
Esta seção detalha as diferenças entre o OSS e o S3:
-
Estilo de requisição
O Amazon S3 oferece dois estilos de endereçamento de requisição: virtual-hosted e path-style. No estilo virtual-hosted, o nome do bucket atua como subdomínio no endpoint; já no estilo path-style, o nome do bucket compõe o caminho da URL. Por motivos de segurança, o OSS aceita apenas o estilo virtual-hosted. Assim, ao migrar do S3 para o OSS, configure todos os aplicativos cliente e ferramentas compatíveis com S3 para usar requisições no estilo virtual-hosted. Caso contrário, o acesso será negado.
-
Definições de listas de controle de acesso (ACLs)
A definição de ACL difere entre o OSS e o S3. A tabela a seguir descreve essas diferenças.
Nível
Permissão
S3
OSS
Bucket
READ
Permite listar buckets.
Se um objeto no bucket não tiver permissões configuradas, apenas operações de leitura serão permitidas.
WRITE
Permite gravar ou sobrescrever objetos em um bucket.
-
Se o objeto a ser gravado não existir no bucket especificado, o sistema o criará automaticamente.
-
Se o objeto já existir no bucket especificado e não tiver permissões configuradas, a sobrescrita será permitida.
-
Use InitiateMultipartUpload para fazer upload de objetos.
READ_ACP
Permite ler a ACL de um bucket.
Somente o proprietário do bucket e usuários RAM autorizados podem ler a ACL de um bucket.
WRITE_ACP
Permite configurar a ACL de um bucket.
Somente o proprietário do bucket e usuários RAM autorizados podem configurar a ACL de um bucket.
Objeto
READ
Permite ler um objeto.
Permite ler um objeto.
WRITE
N/A
Permite sobrescrever um objeto.
READ_ACP
Permite ler a ACL de um objeto.
Somente o proprietário do bucket e usuários RAM autorizados podem ler a ACL de um objeto.
WRITE_ACP
Permite configurar a ACL de um objeto.
Somente o proprietário do bucket e usuários RAM autorizados podem configurar a ACL de um objeto.
ImportanteO OSS oferece suporte apenas aos seguintes modos de ACL do S3: private, public-read e public-read-write.
-
-
Classe de armazenamento
No Amazon S3, a classe de armazenamento Standard é denominada STANDARD, a classe Infrequent Access (IA) chama-se STANDARD_IA e a classe Archive recebe o nome de GLACIER. No OSS, converta a classe de armazenamento dos objetos conforme necessário.
Se o acesso em tempo real a objetos Archive não estiver ativado para um bucket, restaure esses objetos antes de acessá-los. O OSS ignora a duração do estado restaurado configurada para objetos nas operações de API do S3. Por padrão, o estado restaurado dura um dia, com possibilidade de extensão por até sete dias. Após esse período, o objeto retorna ao estado congelado.
-
ETag
Em uploads via método PUT, o ETag de um objeto no OSS e o de um objeto no Amazon S3 diferem quanto à distinção entre maiúsculas e minúsculas. O ETag no OSS usa letras maiúsculas, enquanto no Amazon S3 usa letras minúsculas. Se seu cliente validar conteúdo usando ETag, configure-o para ignorar essa diferença e evitar erros.
Em uploads pelo método multipart, o cálculo dos valores de ETag no OSS segue uma lógica diferente da utilizada pelo S3.