Acesse objetos do OSS como objetos de arquivo Python somente leitura usando a interface File-Like no OSS SDK for Python 2.0.
Observações de uso
O código de exemplo utiliza a região China (Hangzhou) (
cn-hangzhou) com o endpoint público. Para acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região, use um endpoint interno. Regiões e endpoints do OSS.As credenciais de acesso são obtidas de variáveis de ambiente. Para mais informações sobre como configurar credenciais de acesso, consulte Configurar credenciais de acesso.
O download requer a permissão
oss:GetObject. Conceder permissões personalizadas a um usuário RAM.
Método
O OSS SDK for Python 2.0 fornece a interface File-Like para acesso somente leitura a objetos de bucket por meio da classe ReadOnlyFile.
A classe ReadOnlyFile suporta os modos de fluxo único e prefetch. Ajuste o número de tarefas paralelas para melhorar a velocidade de leitura.
A reconexão integrada lida com quedas de conexão em redes instáveis.
class ReadOnlyFile:
...
def open_file(self, bucket: str, key: str, version_id: Optional[str] = None, request_payer: Optional[str] = None, **kwargs) -> ReadOnlyFile:
...
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Descrição |
|
bucket |
str |
Nome do bucket. |
|
key |
str |
Nome do objeto. |
|
version_id |
str |
ID de versão do objeto. Válido apenas quando existem várias versões. |
|
request_payer |
str |
Defina como requester quando o pagamento pelo solicitante estiver ativado. |
|
**kwargs |
Any |
Argumentos de palavra-chave opcionais (dicionário). |
Opções de kwargs
|
Opção |
Tipo |
Descrição |
|
enable_prefetch |
bool |
Ativa o modo prefetch. Padrão: desativado. |
|
prefetch_num |
int |
Número de blocos de prefetch. Padrão: 3. Efetivo apenas no modo prefetch. |
|
chunk_size |
int |
Tamanho de cada bloco de prefetch em MiB. Padrão: 6. Efetivo apenas no modo prefetch. |
|
prefetch_threshold |
int |
Limiar de leitura sequencial antes da ativação do prefetch, em MiB. Padrão: 20. |
|
block_size |
int |
Tamanho de um bloco. Valor padrão: None. |
Parâmetros de resposta
|
Parâmetro |
Tipo |
Descrição |
|
file |
ReadOnlyFile |
Instância ReadOnlyFile. |
Métodos comuns de ReadOnlyFile
|
Método |
Descrição |
|
close(self) |
Fecha o arquivo e libera recursos, como memória e sockets ativos. |
|
read(self, n=None) |
Lê até n bytes do objeto e retorna os dados lidos. |
|
seek(self, pos, whence=0) |
Define a posição de leitura. Valores de whence: 0 (início), 1 (posição atual), 2 (fim). |
|
Stat() (os.FileInfo, error) |
Consulta informações do objeto, incluindo tamanho, hora da última modificação e metadados. |
Se ocorrerem múltiplas leituras fora de ordem no modo prefetch, o SDK retornará ao modo de fluxo único.
Exemplos
Ler todo o objeto usando o modo de fluxo único
Ler todo o objeto usando o modo prefetch
Ler dados restantes de uma posição específica usando o método **Seek**
Referências
Referência completa do design da API: File-Like (GitHub).