O upload por anexação permite anexar dados ao final de um objeto anexável existente. Este tópico descreve como fazer um upload por anexação usando o OSS SDK for Python V2.
Precauções
O código de exemplo neste tópico usa a região China (Hangzhou), cujo ID de região é
cn-hangzhou, como exemplo. Por padrão, o SDK usa um endpoint público. Se você quiser acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região do OSS, use um endpoint interno. Para obter mais informações sobre os mapeamentos entre regiões e endpoints do OSS, consulte OSS regions and endpoints.Se o objeto não existir, a chamada ao método de upload por anexação cria um objeto anexável.
-
Se o objeto já existir:
Se o objeto for anexável e a posição de anexação especificada for igual ao comprimento atual do objeto, o conteúdo é anexado ao final do objeto.
Se o objeto for anexável, mas a posição de anexação especificada não for igual ao comprimento atual do objeto, uma exceção PositionNotEqualToLength é lançada.
Se o objeto não for anexável, como um objeto normal enviado por meio de upload simples, uma exceção ObjectNotAppendable é lançada.
Permissões
Por padrão, uma conta Alibaba Cloud tem permissões completas. Os usuários RAM e as funções RAM sob uma conta Alibaba Cloud não têm permissões por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder as permissões de operação por meio de RAM policies ou Bucket Policy.
|
API |
Ação |
Descrição |
|
AppendObject |
|
Use esta operação para fazer o upload de um objeto anexando-o a um objeto existente. |
|
|
Ao fazer o upload de um objeto anexando-o a um objeto existente, se você especificar tags do objeto por meio de x-oss-tagging, essa permissão é necessária. |
Definições de métodos
Para cenários de upload por anexação, o Python SDK V2 adiciona o método AppendFile para simular operações de leitura e gravação de arquivos em objetos de um bucket. A tabela a seguir descreve os métodos AppendFile e AppendObject.
|
Método |
Descrição |
|
AppendFile |
Fornece os mesmos recursos que o método AppendObject. Otimiza a tolerância a falhas em retransmissões após uma falha. |
|
AppendObject |
Executa um upload por anexação. O objeto final pode ter até 5 GiB de tamanho. Suporta validação de dados CRC-64 (ativada por padrão). Suporta barras de progresso. |
AppendFile: A API de upload por anexação da Premium Edition
AppendObject: A API de upload por anexação da Basic Edition
Para a definição completa do método AppendObject, consulte append_object.
Exemplos
(Recomendado) Use o AppendFile para fazer um upload por anexação
Use o AppendObject para fazer um upload por anexação
Cenários
Exiba uma barra de progresso para um upload por anexação
Referências
Para obter o código de exemplo completo do upload por anexação, consulte append_file.py e append_object.py.