Todos os produtos
Search
Central de documentação

Object Storage Service:ossutil 2.0 CLI

Última atualização: Oct 21, 2026

A ferramenta de linha de comando ossutil 2.0 permite que você gerencie recursos do Alibaba Cloud OSS de forma eficiente em vários sistemas operacionais. Ela possibilita carregar, baixar, sincronizar e gerenciar arquivos rapidamente. Esta ferramenta é ideal para desenvolvedores, engenheiros de O&M e empresas que lidam com migração de dados em grande escala e operações diárias de O&M.

Sistema operacional

Arquitetura

Link de download

Checksum SHA256

Linux

x86_32

ossutil-2.4.1-linux-386.zip

b14ef9731a52c72de3c66819b451a6af494f34d73316089a17cc318c03f614e8

x86_64

ossutil-2.4.1-linux-amd64.zip

57ee4c56796a40144acd6b0b96b53b4ba75e5cec09c01d8d0313c09a5524022f

arm32

ossutil-2.4.1-linux-arm.zip

cc10243a4bd572716dce53ffa7d2adebe7cf74170055c83f26d72130c605ec7a

arm64

ossutil-2.4.1-linux-arm64.zip

be17e13f9e61ffeede0f0d3054bd0f4f146965f0f845bb8ec2ff88c5eb5638ed

macOS

x86_64

ossutil-2.4.1-mac-amd64.zip

455b11095c3f88ae20cedaa479a6ea03db6502fbaae9ce949d6c69c6cc7d1949

arm64

ossutil-2.4.1-mac-arm64.zip

8ef710374d051817fe4483a34bf9fcdc26c1decb62dd69573f5e40d1485b45c1

Windows

x86_32

ossutil-2.4.1-windows-386.zip

791cad87afeb44da1c937ed9328c2af8960cd9fe86ca942ba99e8b5ec5c333b6

x86_64

ossutil-2.4.1-windows-amd64.zip

06ebec1680ce68b1807393e65a1e3f5f99c3b69c9b47c40578a80187da4462c3

x86_64

ossutil-2.4.1-windows-amd64-go1.20.zip

aca033af4dad292c4370ebbd5b221d8f0cd2c521eaa674c1efb23790a271bac4

Início rápido

Para usar a interface de linha de comando do ossutil 2.0, você precisa:

image

Instalar o ossutil

Linux

  1. Instale a ferramenta unzip.

    Alibaba Cloud Linux

    sudo yum install -y unzip

    CentOS

    sudo yum install -y unzip

    Ubuntu

    sudo apt install -y unzip
  2. Selecione o pacote de instalação para o seu sistema operacional e arquitetura (Linux x86 32 bits, Linux x86 64 bits, Linux ARM 32 bits ou Linux ARM 64 bits) ou use o curl para baixá-lo. O exemplo a seguir mostra como usar o comando curl em um sistema Linux x86_64:

    curl -o ossutil-2.4.1-linux-amd64.zip https://gosspublic.alicdn.com/ossutil/v2/2.4.1/ossutil-2.4.1-linux-amd64.zip
  3. No diretório de download, descompacte o pacote:

    unzip ossutil-2.4.1-linux-amd64.zip
  4. Acesse o diretório ossutil-2.4.1-linux-amd64.

    cd ossutil-2.4.1-linux-amd64
  5. Conceda permissões de execução ao arquivo ossutil:

    chmod 755 ossutil
  6. Execute o comando a seguir para tornar o ossutil disponível globalmente.

    sudo mv ossutil /usr/local/bin/ && sudo ln -s /usr/local/bin/ossutil /usr/bin/ossutil
  7. Para verificar se o ossutil foi instalado com sucesso, execute o comando ossutil.

    ossutil

    A instalação será considerada bem-sucedida se o ossutil exibir suas informações de ajuda.

Windows

  1. Instale o ossutil.

    1. Selecione o pacote de instalação correspondente ao seu sistema operacional e arquitetura (Windows x86 32 bits, Windows x86 64 bits ou Windows 7, Windows 8, Windows Server 2008R2).

    2. Extraia o pacote .zip baixado para uma pasta de destino e navegue até o diretório extraído.

    3. Copie o caminho da pasta ossutil extraída. Você adicionará esse caminho a uma variável de ambiente do sistema.

      1. Clique na barra de endereços do diretório atual e copie o caminho da pasta exibido.

      2. Abra a caixa de diálogo Environment Variables. Na seção System variables, localize e clique duas vezes na variável Path. Clique em New e cole o caminho copiado da pasta ossutil na nova caixa de entrada.

    4. Verifique a instalação:

      ossutil

      A instalação foi bem-sucedida se o ossutil exibir suas informações de ajuda.

macOS

  1. Selecione o pacote de instalação para o seu sistema operacional e arquitetura (macOS x86 64 bits ou macOS ARM 64 bits) ou use curl para baixar o pacote. O exemplo a seguir mostra como usar o comando curl em um sistema macOS ARM64:

    curl -o ossutil-2.4.1-mac-arm64.zip  https://gosspublic.alicdn.com/ossutil/v2/2.4.1/ossutil-2.4.1-mac-arm64.zip
  2. No diretório de download, extraia o pacote:

    unzip ossutil-2.4.1-mac-arm64.zip
  3. Acesse o diretório ossutil-2.4.1-mac-arm64.

    cd ossutil-2.4.1-mac-arm64
  4. Conceda permissões de execução ao arquivo ossutil:

    chmod 755 ossutil
  5. Execute o seguinte comando para tornar o ossutil disponível globalmente.

    sudo mv ossutil /usr/local/bin/ && sudo ln -s /usr/local/bin/ossutil /usr/bin/ossutil
  6. Verifique a instalação:

    ossutil

    A instalação será bem-sucedida se o ossutil exibir suas informações de ajuda.

Configurar o ossutil

Para evitar erros causados por configurações ausentes, recomendamos usar o assistente de configuração do ossutil para definir rapidamente seu AccessKey ID, AccessKey Secret e region ID. Para opções avançadas, consulte o Guia de configuração para configurar credenciais de acesso manualmente.

Este exemplo mostra como usar o assistente de configuração para definir rapidamente o par de AccessKeys de um usuário RAM como suas credenciais de acesso.

Linux

  1. Execute o comando de configuração.

    ossutil config
  2. Quando solicitado, defina o caminho do arquivo de configuração. Você pode pressionar Enter para usar o caminho padrão.

    Please enter the config file name,the file name can include path(default /root/.ossutilconfig, carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):

    Por padrão, o ossutil utiliza /root/.ossutilconfig como arquivo de configuração.

  3. Siga as instruções para definir o AccessKey ID, o AccessKey Secret e o region ID.

    1. Insira seu AccessKey ID.

      Please enter Access Key ID [****************id]:yourAccessKeyID
    2. Insira seu AccessKey Secret.

      Please enter Access Key Secret [****************sk]:yourAccessKeySecret
    3. Insira a região do data center do OSS. Se deixar em branco, o valor padrão será cn-hangzhou.

      Please enter Region [ap-southeast-1]:ap-southeast-1
    4. Insira o endpoint do data center do OSS. Se não precisar de um endpoint personalizado, pressione Enter para pular este parâmetro.

      Após definir a região, o ossutil usa o endpoint público correspondente por padrão. Por exemplo, se você definir o region-id como ap-southeast-1, o endpoint público padrão será https://oss-ap-southeast-1.aliyuncs.com.

      Se você precisar de um endpoint personalizado para a região onde está localizado seu data center do OSS, insira o endpoint desejado. Por exemplo, se quiser acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região, use um endpoint interno, como https://oss-ap-southeast-1-internal.aliyuncs.com.

      Please enter Endpoint (optional, use public endpoint by default) [None]: https://oss-ap-southeast-1-internal.aliyuncs.com

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Obrigatório

    Descrição

    accessKeyID

    Sim

    O par de AccessKeys da sua conta. Para saber como obter um par de AccessKeys, consulte Criar um par de AccessKeys.

    Para criar rapidamente um usuário RAM com permissões de gerenciamento do OSS e um par de AccessKeys, use um script do Resource Orchestration Service (ROS):

    Na página Criar Stack do console do Resource Orchestration Service (ROS), marque a caixa de seleção de confirmação em Confirmação de Segurança e clique em Criar.

    1.png

    Após a criação da stack, copie o par de AccessKeys na aba Saídas.

    image

    accessKeySecret

    Sim

    Region

    Sim

    O ID da região onde o bucket está localizado. Este tópico usa a região Singapura como exemplo. Defina este parâmetro como ap-southeast-1. Para mais informações sobre os IDs de outras regiões, consulte Regiões e endpoints.

    endpoint

    Não

    O endpoint da região onde o bucket está localizado. Se você não definir manualmente um endpoint, um endpoint público será gerado automaticamente com base na região. Você deve especificar explicitamente um endpoint interno. Por exemplo, este tópico usa o endpoint público para a região Singapura. Defina este parâmetro como https://oss-ap-southeast-1.aliyuncs.com.

    Se desejar acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região, use um endpoint interno. Defina este parâmetro como https://oss-ap-southeast-1-internal.aliyuncs.com.

    Para mais informações sobre os endpoints de diferentes regiões, consulte Regiões e endpoints.

    Importante

    Devido a uma alteração de política para melhorar a conformidade e a segurança, a partir de 20 de março de 2025, novos usuários do OSS devem usar um nome de domínio personalizado (CNAME) para executar operações de API de dados em buckets do OSS localizados em regiões da China continental. Os endpoints públicos padrão são restritos para essas operações. Consulte o anúncio oficial para obter uma lista completa das operações afetadas. Se você acessar seus dados via HTTPS, deverá vincular um Certificado SSL válido ao seu domínio personalizado. Isso é obrigatório para acesso ao Console do OSS, pois o console impõe o uso de HTTPS.

Windows

  1. Digite o comando de configuração.

    ossutil config
  2. Quando solicitado, defina o caminho para o arquivo de configuração. Você pode pressionar Enter para usar o caminho padrão.

    Please enter the config file name,the file name can include path(default "C:\Users\issuser\.ossutilconfig", carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):

    Por padrão, o ossutil usa C:\Users\issuser\.ossutilconfig como arquivo de configuração.

  3. Siga as instruções para definir o AccessKey ID, o AccessKey Secret e o ID da região.

    1. Insira seu AccessKey ID.

      Please enter Access Key ID [****************id]:yourAccessKeyID
    2. Insira seu AccessKey Secret.

      Please enter Access Key Secret [****************sk]:yourAccessKeySecret
    3. Insira a região do data center do OSS. Se você deixar este campo em branco, o valor padrão será cn-hangzhou.

      Please enter Region [ap-southeast-1]:ap-southeast-1
    4. Insira o endpoint do data center do OSS. Se você não precisar de um endpoint personalizado, pode pressionar Enter para ignorar este parâmetro.

      Após definir a região, o ossutil usa o endpoint público correspondente por padrão. Por exemplo, se você definir o region-id como ap-southeast-1, o endpoint público padrão será https://oss-ap-southeast-1.aliyuncs.com.

      Se você precisar de um endpoint personalizado para a região onde seu data center do OSS está localizado, insira o endpoint. Por exemplo, se desejar acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região, use um endpoint interno, como https://oss-ap-southeast-1-internal.aliyuncs.com.

      Please enter Endpoint (optional, use public endpoint by default) [None]: https://oss-ap-southeast-1-internal.aliyuncs.com

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Obrigatório

    Descrição

    accessKeyID

    Sim

    O par de AccessKeys da sua conta. Para saber como obter um par de AccessKeys, consulte Criar um par de AccessKeys.

    Para criar rapidamente um usuário RAM com permissões de gerenciamento do OSS e um par de AccessKeys, use um script do Resource Orchestration Service (ROS):

    Na página Criar Stack do console do Resource Orchestration Service (ROS), marque a caixa de seleção de confirmação em Confirmação de Segurança e clique em Criar.

    1.png

    Após a criação da stack, copie o par de AccessKeys na aba Saídas.

    imagem

    accessKeySecret

    Sim

    Região

    Sim

    O ID da região onde o bucket está localizado. Este tópico usa a região Singapura como exemplo. Defina este parâmetro como ap-southeast-1. Para mais informações sobre os IDs de outras regiões, consulte Regiões e endpoints.

    endpoint

    Não

    O endpoint da região onde o bucket está localizado. Se você não definir manualmente um endpoint, um endpoint público será gerado automaticamente com base na região. Você deve especificar explicitamente um endpoint interno. Por exemplo, este tópico usa o endpoint público para a região Singapura. Defina este parâmetro como https://oss-ap-southeast-1.aliyuncs.com.

    Se você quiser acessar o OSS a partir de outros serviços do Alibaba Cloud na mesma região, use um endpoint interno. Defina este parâmetro como https://oss-ap-southeast-1-internal.aliyuncs.com.

    Para mais informações sobre os endpoints de diferentes regiões, consulte Regiões e endpoints.

    Importante

    Devido a uma alteração de política para melhorar a conformidade e a segurança, a partir de 20 de março de 2025, novos usuários do OSS devem usar um nome de domínio personalizado (CNAME) para executar operações de API de dados em buckets do OSS localizados em regiões da China continental. Os endpoints públicos padrão são restritos para essas operações. Consulte o anúncio oficial para obter uma lista completa das operações afetadas. Se você acessar seus dados via HTTPS, deverá vincular um Certificado SSL válido ao seu domínio personalizado. Isso é obrigatório para acesso ao Console do OSS, pois o console impõe o uso de HTTPS.

macOS

  1. Digite o comando de configuração.

    ossutil config
  2. Quando solicitado, defina o caminho para o arquivo de configuração. Você pode pressionar Enter para usar o caminho padrão.

    Please enter the config file name,the file name can include path(default "/Users/user/.ossutilconfig", carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands): 

    Por padrão, o ossutil usa /Users/user/.ossutilconfig como arquivo de configuração.

  3. Siga as instruções para definir o AccessKey ID, o AccessKey Secret e o ID da região.

    1. Insira seu AccessKey ID.

      Please enter Access Key ID [****************id]:yourAccessKeyID
    2. Insira seu AccessKey Secret.

      Please enter Access Key Secret [****************sk]:yourAccessKeySecret
    3. Insira a região do data center do OSS. Se você deixar este campo em branco, o padrão será cn-hangzhou.

      Please enter Region [ap-southeast-1]:ap-southeast-1
    4. Insira o endpoint do data center do OSS. Se você não precisar de um endpoint personalizado, poderá pressionar Enter para ignorar este parâmetro.

      Após definir a região, o ossutil usa o endpoint público correspondente por padrão. Por exemplo, se você definir o region-id como ap-southeast-1, o endpoint público padrão será https://oss-ap-southeast-1.aliyuncs.com.

      Se você precisar de um endpoint personalizado para a região onde seu data center do OSS está localizado, insira o endpoint. Por exemplo, se quiser acessar o OSS a partir de outros serviços do Alibaba Cloud na mesma região, use um endpoint interno, como https://oss-ap-southeast-1-internal.aliyuncs.com.

      Please enter Endpoint (optional, use public endpoint by default) [None]: https://oss-ap-southeast-1-internal.aliyuncs.com

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Obrigatório

    Descrição

    accessKeyID

    Sim

    O par de AccessKeys da sua conta. Para saber como obter um par de AccessKeys, consulte Criar um par de AccessKeys.

    Para criar rapidamente um usuário RAM com permissões de gerenciamento do OSS e um par de AccessKeys, use um script do Resource Orchestration Service (ROS):

    Na página Criar Stack do console do Resource Orchestration Service (ROS), marque a caixa de seleção de confirmação em Confirmação de Segurança e clique em Criar.

    1.png

    Após a criação da stack, copie o par de AccessKeys na aba Saídas.

    imagem

    accessKeySecret

    Sim

    Region

    Sim

    O ID da região onde o bucket está localizado. Este tópico usa a região Singapura como exemplo. Defina este parâmetro como ap-southeast-1. Para mais informações sobre os IDs de outras regiões, consulte Regiões e endpoints.

    endpoint

    Não

    O endpoint da região onde o bucket está localizado. Se você não definir manualmente um endpoint, um endpoint público será gerado automaticamente com base na região. Você deve especificar explicitamente um endpoint interno. Por exemplo, este tópico usa o endpoint público para a região Singapura. Defina este parâmetro como https://oss-ap-southeast-1.aliyuncs.com.

    Se desejar acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região, use um endpoint interno. Defina este parâmetro como https://oss-ap-southeast-1-internal.aliyuncs.com.

    Para mais informações sobre os endpoints de diferentes regiões, consulte Regiões e endpoints.

    Importante

    Devido a uma alteração de política para melhorar a conformidade e a segurança, a partir de 20 de março de 2025, novos usuários do OSS devem usar um nome de domínio personalizado (CNAME) para realizar operações de API de dados em buckets do OSS localizados em regiões da China continental. Os endpoints públicos padrão são restritos para essas operações. Consulte o anúncio oficial para obter uma lista completa das operações afetadas. Se você acessar seus dados via HTTPS, deverá vincular um Certificado SSL válido ao seu domínio personalizado. Isso é obrigatório para acesso ao Console do OSS, pois o console impõe o uso de HTTPS.

Executar comandos

  1. Crie um bucket.

    ossutil mb oss://examplebucket

    A saída a seguir indica que o bucket examplebucket foi criado.

    0.668238(s) elapsed
  2. Faça upload de um arquivo para o bucket.

    1. Crie um arquivo local chamado uploadFile.txt.

      echo 'Hello, OSS!' > uploadFile.txt
    2. Faça upload de um arquivo para o bucket examplebucket.

      ossutil cp uploadFile.txt oss://examplebucket

      A saída a seguir indica que o arquivo foi enviado com sucesso para examplebucket.

      Success: Total 1 file, size 12 B, Upload done:(1 objects, 12 B), avg 44 B/s
      
      0.271779(s) elapsed
  3. Baixe um arquivo.

    Baixe o arquivo uploadFile.txt do bucket examplebucket para o diretório localfolder.

    ossutil cp oss://examplebucket/uploadFile.txt localfolder/

    A saída a seguir indica que o arquivo foi baixado com sucesso para o diretório localfolder.

    Success: Total 1 object, size 12 B, Download done:(1 files, 12 B), avg 74 B/s
    
    0.162447(s) elapsed
  4. Liste os arquivos no bucket examplebucket.

    ossutil ls oss://examplebucket

    A saída a seguir indica que os arquivos no bucket examplebucket foram listados com sucesso.

    LastModifiedTime                   Size(B)  StorageClass   ETAG                                  ObjectName
    2024-11-26 14:35:29 +0800 CST           12      Standard   1103F650EB2C292D179A032D2A97B0F5      oss://examplebucket/uploadFile.txt
    Object Number is: 1
    
    0.124679(s) elapsed
  5. Exclua o arquivo uploadFile.txt do bucket examplebucket.

    ossutil rm oss://examplebucket/uploadFile.txt

    A saída a seguir indica que o arquivo uploadFile.txt foi excluído com sucesso do bucket examplebucket.

    0.295530(s) elapsed
  6. Exclua o bucket examplebucket.

    ossutil rb oss://examplebucket

    A saída a seguir indica que o bucket examplebucket foi excluído com sucesso.

    0.478659(s) elapsed

Configuração

O ossutil é altamente flexível e pode ser configurado por meio de um arquivo de configuração, variáveis de ambiente ou opções de linha de comando.

Precedência de configuração

O ossutil lê as configurações na seguinte ordem de precedência:

opções de linha de comando (como -i, -k e -e) > variáveis de ambiente (como OSS_ACCESS_KEY_ID) > arquivo de configuração (~/.ossutilconfig)

Nota
  • A partir da versão 2.2.0, você pode usar a opção de linha de comando --ignore-env-var para ignorar variáveis de ambiente que possuem o prefixo OSS_.

  • A partir da versão 2.3.0, as opções --job, --parallel, --bigfile-threshold, --part-size e --write-buffer-size podem ser definidas no arquivo de configuração. Adicione-as no formato chave=valor, como job=10, à seção de perfil correspondente no arquivo de configuração, ou use o comando ossutil config set para gravá-las. As opções de linha de comando têm prioridade maior do que o arquivo de configuração.

Arquivo de configuração

Você pode configurar o ossutil usando um arquivo de configuração. O caminho padrão é ~/.ossutilconfig, mas você pode especificar um caminho personalizado usando a flag -c. Se você usar o arquivo de configuração padrão, poderá executar comandos do ossutil diretamente sem especificar o caminho do arquivo. Por exemplo:

ossutil ls oss://examplebucket

Se você usar um caminho de arquivo de configuração personalizado, como /path/yourconfig, deverá usar a opção -c para especificar o caminho. Por exemplo:

ossutil -c /path/yourconfig ls oss://examplebucket

Formato do arquivo de configuração

O arquivo de configuração usa o formato INI, que agrupa as configurações em seções de pares chave-valor. Você pode usar a opção --profile para selecionar uma seção específica. Por padrão, o ossutil usa as configurações na seção [default]. Para usar um conjunto diferente de parâmetros, você pode criar e referenciar outras seções.

Seções e pares chave-valor

Cada seção no arquivo de configuração é identificada por um nome entre colchetes [ ], e as configurações dentro da seção estão no formato chave=valor. Por exemplo:

[default]
accessKeyID = "your-access-key-id"
accessKeySecret = "your-access-key-secret"
  • As configurações na seção usam o formato chave=valor.

  • Os nomes das seções e as chaves não diferenciam maiúsculas de minúsculas.

  • As chaves dos parâmetros de configuração aceitam vários formatos, como tudo em minúsculas, camelCase, kebab-case (separado por hífen) e snake_case (separado por sublinhado). Por exemplo, accesskeyid, accessKeyId, access-key-id e access_key_id são tratados como o mesmo nome de parâmetro.

  • Linhas que começam com um sinal de cerquilha (#) são comentários.

Tipos de seção suportados

Nome da seção

Descrição

Observações

[default]

Armazena as configurações padrão. Esta seção é usada quando a opção --profile não está definida.

Uma forma simplificada de [profile default].

[profile name]

Configura parâmetros referenciados usando --profile name.

Suporta a referência a outras configurações através do uso de source_profile.

[buckets name]

Configura endpoints para buckets específicos, incluindo region, endpoint e addressing style.

Suporta notação inline.

Nota

Você pode usar o comando config para visualizar e definir configurações. Para mais informações, consulte config.

Profile

Esta seção configura as credenciais de acesso e os parâmetros globais. Os seguintes parâmetros são suportados:

  • Parâmetros de credenciais de acesso

    Parâmetro

    Alias

    Descrição

    mode

    /

    Especifica o modo de autenticação.

    Valores válidos: AK, StsToken, RamRoleArn, EcsRamRole e Anonymous.

    access-key-id

    accessKeyId

    access_key_id

    O AccessKey ID usado para acessar o OSS.

    access-key-secret

    accessKeySecret

    access_key_secret

    O AccessKey Secret usado para acessar o OSS.

    sts-token

    stsToken

    sts_token

    O token de segurança usado para acessar o OSS.

    role-arn

    roleArn

    role_arn

    O ARN da função RAM. Este parâmetro é usado principalmente no modo RamRoleArn.

    role-session-name

    roleSessionName

    role_session_name

    O nome da sessão. Este parâmetro é usado principalmente no modo RamRoleArn.

    ecs-role-name

    ecsRoleName

    ecs_role_name

    O nome da função. Este parâmetro é usado principalmente no modo EcsRamRole.

    credential-process

    credentialProcess

    credential_process

    Especifica um comando externo.

    credential-uri

    credentialUri

    credential_uri

    Especifica uma URI da qual obter as credenciais de acesso.

    oidc-provider-arn

    oidcProviderArn

    oidc_provider_arn

    Especifica o ARN do provedor OIDC no formato acs:ram::account-id:oidc-provider/provider-name.

    oidc-token-file-path

    oidcTokenFilePath

    oidc_token_file_path

    Especifica o caminho do arquivo onde o token OIDC está armazenado.

    credential-process-timeout

    credentialProcessTimeout

    credential_process_timeout

    Especifica o tempo limite para uma solicitação de credencial externa, em segundos. O valor padrão é 15 segundos e o valor máximo é 600 segundos (10 minutos). Por exemplo, credential-process-timeout = 60 especifica um tempo limite de 60 segundos. Este recurso é compatível com a versão 2.0.3 e posteriores.

  • Parâmetros globais

    Parâmetro

    Alias

    Descrição

    region

    /

    O ID da região. Este parâmetro é obrigatório.

    loglevel

    /

    O nível de log. Valores válidos:

    • off (padrão)

    • info

    • debug

    read-timeout

    readTimeout

    read_timeout

    O tempo limite para solicitações de leitura e gravação do cliente, em segundos. Valor padrão: 20.

    connect-timeout

    connectTimeout

    connect_timeout

    O tempo limite para conexões do cliente, em segundos. Valor padrão: 10.

    retry-times

    retryTimes

    retry_times

    O número de vezes para tentar novamente uma solicitação com falha. Valor padrão: 10.

    skip-verify-cert

    skipVerifyCert

    skip_verify_cert

    Ignora a verificação do certificado digital do servidor.

    sign-version

    signVersion

    sign_version

    A versão do algoritmo de assinatura usada para as solicitações. Valores válidos:

    • v1

    • v4 (padrão)

    output-format

    outputFormat

    output_format

    O formato de saída. Valores válidos:

    • raw (padrão)

    • json

    • xml

    • yaml

    addressing-style

    addressingStyle

    addressing_style

    O formato do endereço da solicitação. Valores válidos:

    • virtual (padrão)

    • path

    • cname

    language

    /

    O idioma de exibição.

    endpoint

    /

    O endpoint do serviço. Este parâmetro é opcional.

  • Outros parâmetros

    Parâmetro

    Alias

    Descrição

    source-profile

    sourceProfile

    source_profile

    Referencia parâmetros de um perfil especificado. Por exemplo:

    [profile cred]
    access-key-id=ak
    access-key-secret=sk
    
    [profile dev]
    region=cn-hangzhou
    source-profile=cred

    buckets

    /

    Referencia parâmetros de uma seção buckets especificada.

    [profile dev]
        region=cn-hangzhou
        access-key-id=ak
        access-key-secret=sk
        buckets=dev-bucket
    
        [buckets dev-bucket]
        bucket-name-hz =
         endpoint=oss-cn-hangzhou-internal.aliyuncs.com
        bucket-name-bj =
         region=cn-beijing

    endpoint-suffix-list-path-style

    /

    Especifica a lista de sufixos de endpoint que usam automaticamente o modo de requisição path-style. Múltiplos sufixos são separados por vírgula (,). Suportado a partir da versão 2.2.0.

    Exemplo 1: endpoint-suffix-list-path-style=DEFAULT

    Exemplo 2: endpoint-suffix-list-path-style=DEFAULT,.path-style.com

    DEFAULT indica a lista padrão integrada, que atualmente é .privatelink.aliyuncs.com.

Buckets

Esta seção configura mapeamentos entre buckets e endpoints. Ela suporta uma estrutura aninhada onde subseções para buckets individuais são definidas usando bucket-name =. O formato é o seguinte:

[buckets name]
bucket-name = 
  key=value

Neste formato, name é o nome da seção buckets, bucket-name é o nome de um bucket específico e key=value representa um parâmetro de configuração. Os seguintes parâmetros são suportados:

Parâmetro

Alias

Descrição

region

/

A região onde o data center está localizado.

Se não for definido, será usado o valor de region do perfil que referencia este parâmetro.

endpoint

/

O endpoint do serviço. Este parâmetro é opcional.

addressing-style

addressingStyle

addressing_style

O formato do endereço da requisição. Valores válidos:

virtual (padrão): Usa o formato de endereço de requisição no estilo virtual-hosted.

path: Usa o formato de endereço de requisição no estilo path.

cname: Usa o formato de endereço de requisição CNAME.

A seguir, um exemplo de uma seção buckets:

[buckets dev-bucket]
bucket-hz-01 = 
  region=cn-hangzhou
bucket-hz-02 = 
  region=cn-hangzhou
  endpoint=test.com
  addressing-style=cname
bucket-bj-01 = 
  region=cn-beijing

Configurar variáveis de ambiente

Linux

  1. Execute os seguintes comandos para adicionar as configurações das variáveis de ambiente ao arquivo ~/.bashrc:

    echo "export OSS_ACCESS_KEY_ID='your-access-key-id'" >> ~/.bashrc
    echo "export OSS_ACCESS_KEY_SECRET='your-access-key-secret'" >> ~/.bashrc
  2. Execute o seguinte comando para aplicar as alterações:

    source  ~/.bashrc
  3. Execute os seguintes comandos para verificar se as variáveis de ambiente entraram em vigor:

    echo $OSS_ACCESS_KEY_ID
    echo $OSS_ACCESS_KEY_SECRET

macOS

  1. No terminal, execute o seguinte comando para visualizar o tipo de shell padrão:

    echo $SHELL
  2. Zsh

    1. Execute os seguintes comandos para adicionar as configurações de variáveis de ambiente ao arquivo ~/.zshrc:

      echo "export OSS_ACCESS_KEY_ID='your-access-key-id'" >> ~/.zshrc
      echo "export OSS_ACCESS_KEY_SECRET='your-access-key-secret'" >> ~/.zshrc
    2. Execute o seguinte comando para aplicar as alterações:

      source ~/.zshrc
    3. Execute os seguintes comandos para verificar se as variáveis de ambiente entraram em vigor:

      echo $OSS_ACCESS_KEY_ID
      echo $OSS_ACCESS_KEY_SECRET

    Bash

    1. Execute os seguintes comandos para adicionar as configurações de variáveis de ambiente ao arquivo ~/.bash_profile:

      echo "export OSS_ACCESS_KEY_ID='your-access-key-id'" >> ~/.bash_profile
      echo "export OSS_ACCESS_KEY_SECRET='your-access-key-secret'" >> ~/.bash_profile
    2. Execute o seguinte comando para aplicar as alterações:

      source ~/.bash_profile
    3. Execute os seguintes comandos para verificar se as variáveis de ambiente entraram em vigor:

      echo $OSS_ACCESS_KEY_ID
      echo $OSS_ACCESS_KEY_SECRET

Windows

  1. Execute os seguintes comandos no Prompt de Comando (CMD):

    setx OSS_ACCESS_KEY_ID "your-access-key-id"
    setx OSS_ACCESS_KEY_SECRET "your-access-key-secret"
  2. Abra uma nova janela do CMD.

  3. Na nova janela do CMD, execute os seguintes comandos para verificar se as variáveis de ambiente entraram em vigor:

    echo %OSS_ACCESS_KEY_ID%
    echo %OSS_ACCESS_KEY_SECRET%

As seguintes variáveis de ambiente são suportadas:

Variável de ambiente

Parâmetro

OSS_ACCESS_KEY_ID

access-key-id

OSS_ACCESS_KEY_SECRET

access-key-secret

OSS_SESSION_TOKEN

sts-token

OSS_ROLE_ARN

role-arn

OSS_ROLE_SESSION_NAME

role-session-name

OSS_REGION

region

OSS_ENDPOINT

endpoint

OSSUTIL_CONFIG_FILE

config-file

OSSUTIL_PROFILE

profile

Opções de linha de comando

O ossutil fornece várias opções de linha de comando, incluindo opções globais de linha de comando. As opções de linha de comando têm a maior precedência e substituem os parâmetros definidos no arquivo de configuração ou nas variáveis de ambiente.

Importante

Passar chaves de acesso através de opções de linha de comando pode expô-las em sistemas de log, criando um risco de segurança. Use este método com cautela.

ossutil ls oss://examplebucket -i "your-access-key-id" -k "your-access-key-secret" --region cn-hangzhou

Credenciais de acesso

Par de AccessKey de usuário RAM

Se sua aplicação for executada em um ambiente seguro, exigir acesso de longo prazo ao OSS e não puder rotacionar credenciais com frequência, você pode inicializar o provedor de credenciais com o par de AccessKey (AccessKey ID e AccessKey Secret) de uma conta Alibaba Cloud ou de um usuário RAM. Este método requer manutenção manual do par de AccessKey, o que aumenta tanto os riscos de segurança quanto a sobrecarga de manutenção.

Arquivo de configuração

Crie o seguinte arquivo de configuração e salve-o como ~/.ossutilconfig.

[default]
accessKeyID = yourAccessKeyID
accessKeySecret = yourAccessKeySecret
region=ap-southeast-1

Execute o comando a seguir para listar objetos no examplebucket:

ossutil ls oss://examplebucket -c ~/.ossutilconfig

Variáveis de ambiente

export OSS_ACCESS_KEY_ID=yourAccessKeyID
export OSS_ACCESS_KEY_SECRET=yourAccessKeySecret
ossutil ls oss://examplebucket

Opções de linha de comando

Execute o comando a seguir para listar objetos no examplebucket:

ossutil ls oss://examplebucket -i yourAccessKeyID -k yourAccessKeySecret

Credencial de segurança temporária

Se sua aplicação exigir acesso temporário ao OSS, você pode inicializar o provedor de credenciais com uma credencial de segurança temporária (AccessKey ID, AccessKey Secret e token de segurança) obtida do Security Token Service (STS). Este método requer manutenção manual do token de segurança, aumentando os riscos de segurança e a complexidade. Você também deve atualizar o token manualmente para acessos temporários repetidos.

Arquivo de configuração

Crie o seguinte arquivo de configuração e salve-o como ~/.ossutilconfig.

[default]
accessKeyID = yourSTSAccessKeyID
accessKeySecret = yourSTSAccessKeySecret
stsToken = yourSecurityToken
region=ap-southeast-1

Execute o comando a seguir para listar objetos no examplebucket:

ossutil ls oss://examplebucket -c ~/.ossutilconfig

Variáveis de ambiente

export OSS_ACCESS_KEY_ID=yourSTSAccessKeyID
export OSS_ACCESS_KEY_SECRET=yourSTSAccessKeySecret
export OSS_SESSION_TOKEN=yourSecurityToken
ossutil ls oss://examplebucket

Opções de linha de comando

Execute o comando a seguir para listar objetos no examplebucket:

ossutil ls oss://examplebucket -i yourSTSAccessKeyID -k yourSTSAccessKeySecret -t yourSecurityToken --region cn-hangzhou

ARN da função RAM

Se sua aplicação precisar de acesso autorizado ao OSS, por exemplo, para acessar o OSS entre diferentes contas Alibaba Cloud, você pode usar o RAMRoleARN para inicializar o provedor de credenciais. Este método utiliza tokens STS internamente. Ao especificar o ARN (Alibaba Cloud Resource Name) de uma função RAM, a ferramenta de credenciais obtém um token STS do serviço STS e chama a API AssumeRole para solicitar um novo token STS antes que a sessão expire. Além disso, você pode atribuir um valor a policy para restringir a função RAM a um conjunto menor de permissões.

Importante
  • Uma conta Alibaba Cloud possui permissões totais sobre seus recursos. Se o par AccessKey de uma conta Alibaba Cloud for vazado, isso representa um risco significativo de segurança para o seu sistema. Recomendamos o uso do par AccessKey de um usuário RAM com as permissões mínimas necessárias.

  • Para criar um par AccessKey para um usuário RAM, consulte Criar um par AccessKey. O AccessKey ID e o AccessKey Secret de um usuário RAM são exibidos apenas no momento da criação. Você deve salvá-los imediatamente. Caso esqueça o par AccessKey, crie um novo para realizar a rotação das suas credenciais.

  • Para obter o ARN de uma função RAM, consulte Criar uma função.

Crie o seguinte arquivo de configuração e salve-o como ~/.ossutilconfig. Esta configuração não pode ser definida por meio de variáveis de ambiente ou opções de linha de comando.

[default]
accessKeyID = yourAccessKeyID
accessKeySecret = yourAccessKeySecret
mode = RamRoleArn
roleArn = acs:ram::137918634953****:role/Alice
roleSessionName = session_name_example
region=ap-southeast-1

Para listar objetos no bucket examplebucket, execute o seguinte comando:

ossutil ls oss://examplebucket -c ~/.ossutilconfig

Função RAM de instância ECS

Se sua aplicação for executada em uma instância ECS, uma instância ECI ou um nó worker do Container Service for Kubernetes, recomendamos o uso de um ECSRAMRole para inicializar o provedor de credenciais. Este método utiliza tokens STS em sua implementação subjacente. Um ECSRAMRole permite associar uma função a uma instância ECS, uma instância ECI ou um nó worker do Container Service for Kubernetes para atualizar automaticamente o token STS dentro da instância. Este método elimina a necessidade de fornecer um AccessKey (AK) ou um token STS e remove os riscos associados à manutenção manual. Para mais informações sobre como obter um ECSRAMRole, consulte Criar uma função.

Nota

Este método não pode ser configurado por meio de variáveis de ambiente.

Modo EcsRamRole

Arquivo de configuração

Crie o seguinte arquivo de configuração e salve-o como ~/.ossutilconfig.

[default]
mode = EcsRamRole
# O parâmetro ecsRoleName é opcional. Se não for definido, a função será obtida automaticamente.
ecsRoleName = EcsRamRoleOss 
region=ap-southeast-1

Execute o seguinte comando para listar objetos no examplebucket:

ossutil ls oss://examplebucket -c ~/.ossutilconfig

CLI

Execute o seguinte comando para consultar objetos no examplebucket:

ossutil ls oss://examplebucket --mode EcsRamRole

Modo IMDSv2 do EcsRamRole

Nota

O modo IMDSv2 do EcsRamRole é suportado no ossutil 2.2.0 e versões posteriores.

Arquivo de configuração

Crie o seguinte arquivo de configuração e salve-o como ~/.ossutilconfig.

[default]
mode = Ali-EcsRamRole
# The ecsRoleName parameter is optional. If it is not set, the role is automatically obtained.
ecsRoleName = EcsRamRoleOss 
region=ap-southeast-1

Execute o seguinte comando para consultar objetos no examplebucket:

ossutil ls oss://examplebucket -c ~/.ossutilconfig

CLI

Execute o seguinte comando para consultar objetos no examplebucket:

ossutil ls oss://examplebucket --mode Ali-EcsRamRole

ARN da função OIDC

Após configurar uma função RAM de nó de trabalho no Container Service for Kubernetes, os aplicativos nos Pods desse nó podem obter o token STS da função associada por meio do serviço de metadados, assim como os aplicativos implantados em instâncias ECS. No entanto, se aplicativos não confiáveis, como aplicativos enviados por clientes com código fechado, forem implantados no cluster de contêineres, você pode não querer que eles obtenham o token STS da função RAM associada à instância do nó de trabalho por meio do serviço de metadados. Para evitar comprometer a segurança dos seus recursos na nuvem e, ao mesmo tempo, permitir que esses aplicativos não confiáveis obtenham com segurança os tokens STS necessários e implementem o princípio do menor privilégio no nível do aplicativo, você pode usar o recurso RRSA (RAM Roles for Service Account). Este método é baseado em tokens STS. O cluster de contêineres do Alibaba Cloud cria e monta um arquivo de token OIDC da conta de serviço correspondente para cada Pod de aplicativo e injeta as informações de configuração relacionadas nas variáveis de ambiente. Uma ferramenta de credenciais então recupera as informações de configuração das variáveis de ambiente e chama a API AssumeRoleWithOIDC do serviço STS para trocar o token OIDC por um token STS associado à função. Este método não exige que você forneça uma Access Key (AK) ou um token STS, o que elimina os riscos associados à manutenção manual de AKs ou tokens STS. Para mais informações, consulte Configurar permissões RAM para uma ServiceAccount usando RRSA para implementar isolamento de permissões no nível do pod.

Crie o seguinte arquivo de configuração e salve-o como ~/.ossutilconfig. Você não pode especificar esta configuração usando variáveis de ambiente ou opções de linha de comando.

[default]
mode = oidcRoleArn
# Specifies the ARN (Aliyun Resource Name) of the OIDC provider. The format is acs:ram::account-id:oidc-provider/provider-name.
OIDCProviderArn=acs:ram::113511544585****:oidc-provider/TestOidcProvider
# Specifies the file path where the OIDC token is stored.
OIDCTokenFilePath=OIDCTokenFilePath
# The ARN of the role to assume. The format is acs:ram::account-id:role/role-name.
roleArn=acs:ram::113511544585****:role/testoidc
# A custom role session name to distinguish different tokens.
roleSessionName= TestOidcAssumedRoleSession
region=ap-southeast-1

Execute o comando a seguir para listar objetos no examplebucket:

ossutil ls oss://examplebucket -c ~/.ossutilconfig

Credenciais de processo externo

O ossutil pode executar um comando externo para obter credenciais. O processo externo retorna as credenciais ao ossutil por meio da saída padrão (stdout).

Nota
  • Para evitar riscos de segurança, o comando que gera credenciais não deve ser acessível a usuários ou processos não autorizados.

  • O comando que gera credenciais não deve gravar nenhuma informação confidencial em stderr ou stdout, pois essas informações podem ser capturadas em logs e expostas a usuários não autorizados.

O comando externo pode retornar uma credencial permanente ou temporária nos seguintes formatos.

Credencial permanente

{
  "AccessKeyId" : "ak",
  "AccessKeySecret" : "sk"
}

Credencial temporária

{
  "AccessKeyId" : "ak",
  "AccessKeySecret" : "sk",
  "Expiration" : "2023-12-29T07:45:02Z",
  "SecurityToken" : "token"
}

Crie o seguinte arquivo de configuração e salve-o em ~/.ossutilconfig. Essas configurações não podem ser definidas por meio de variáveis de ambiente ou opções de linha de comando.

[default]
mode = Process
credentialProcess = user-cmd
region=ap-southeast-1

Execute o comando a seguir para listar objetos no bucket examplebucket:

ossutil ls oss://examplebucket -c ~/.ossutilconfig

Acesso anônimo

Se você precisar acessar apenas recursos do OSS com permissão public-read, poderá usar o acesso anônimo sem fornecer credenciais.

ossutil cat oss://bucket/public-object --mode Anonymous

Referência de comandos

O ossutil oferece três tipos de comandos: comandos de alto nível, comandos de nível de API e comandos auxiliares.

Estrutura dos comandos

A sintaxe básica dos comandos do ossutil é a seguinte:

ossutil command [argument] [flags]  

ossutil command subcommond [argument] [flags]  

ossutil topic
  • argument: Um argumento do tipo string.

  • flags: Opções com formato de nome curto (-o[=value]/ -o [ value]) e formato de nome longo (--options[=value]/--options[ value]). Se você especificar uma flag exclusiva mais de uma vez, apenas o último valor será utilizado.

A seguir estão exemplos de comandos:

  • Comando: ossutil cat oss://bucket/object

  • Comando com um subcomando: ossutil api get-bucket-cors --bucket bucketexample

  • Tópico de ajuda: ossutil filter

Lista de comandos

  • Comandos de alto nível

    Estes comandos são destinados ao gerenciamento de buckets e objetos. Você pode usá-los para criar e excluir buckets, copiar dados e modificar propriedades de objetos.

    Nome do comando

    Descrição

    mb

    Cria um bucket

    rb

    Exclui um bucket

    du

    Obtém o tamanho de armazenamento de um bucket ou de um prefixo especificado

    stat

    Exibe a descrição de um bucket ou objeto

    mkdir

    Cria um objeto cujo nome termina com o caractere de sufixo /

    append

    Anexa conteúdo a um objeto anexável

    cat

    Concatena o conteúdo do objeto na saída padrão

    ls

    Lista buckets ou objetos

    cp

    Faz upload, download ou cópia de objetos

    rm

    Exclui objetos em um bucket

    set-props

    Define as propriedades de um objeto

    presign

    Gera uma URL assinada para um objeto

    restore

    Restaura um objeto do estado congelado para um estado legível

    revert (restaurar versão)

    Reverte um objeto para uma versão especificada

    sync

    Sincroniza um diretório local ou objetos de uma origem para um destino

    hash

    Calcula o valor de hash de um arquivo ou objeto

  • Comandos de nível de API: Estes comandos fornecem acesso direto às operações da API e seus argumentos de configuração.

    Nota

    Apenas alguns comandos estão listados. Execute ossutil api -h para visualizar todos os comandos.

    Nome do comando

    Descrição

    put-bucket-acl

    Define ou modifica as permissões de acesso de um bucket.

    get-bucket-acl

    Obtém as permissões de acesso de um bucket.

    ....

    put-bucket-cors

    Define as regras de compartilhamento de recursos de origem cruzada (CORS) para um bucket.

    get-bucket-cors

    Obtém as regras de CORS para um bucket.

    delete-bucket-cors

    Exclui as regras de CORS para um bucket.

  • Comandos auxiliares: Use estes comandos para gerenciar arquivos de configuração e acessar tópicos de ajuda adicionais.

    Nome do comando

    Descrição

    help

    Obtém informações de ajuda.

    config

    Cria um arquivo de configuração para armazenar itens de configuração e credenciais de acesso.

    update

    Atualiza a versão.

    version

    Exibe informações sobre a versão.

    probe

    Executa uma sondagem.

Tipos de opções de comando

Tipo de opção

Flag

Descrição

String

--option string

  • Um argumento do tipo string pode conter caracteres alfanuméricos, símbolos e espaços do conjunto de caracteres ASCII.

  • Coloque valores que contenham espaços entre aspas.

Por exemplo: --acl private.

Booleano

--option

Ativa ou desativa uma flag.

Por exemplo: --dry-run.

Inteiro

--option Int

Um número inteiro sem sinal.

Por exemplo: --read-timeout 10.

Timestamp

--option Time

Um timestamp no formato ISO 8601 (DateTime ou Date).

Por exemplo: --max-mtime 2006-01-02T15:04:05.

Sufixo de unidade de byte

--option SizeSuffix

A unidade padrão é o byte (B). Você também pode usar sufixos. Os sufixos suportados são: K (KiB) = 1024 bytes, M (MiB), G (GiB), T (TiB), P (PiB) e E (EiB).

Por exemplo, para um tamanho mínimo de 1024 bytes:

--min-size 1024

--min-size 1K

Sufixo de unidade de tempo

--option Duration

Uma duração de tempo. A unidade padrão é segundos. Os sufixos suportados são: ms (milissegundos), s (segundos), m (minutos), h (horas), d (dias), w (semanas), M (meses) e y (anos).

Valores decimais são suportados. Por exemplo: 1,5 dias.

--min-age 1.5d

Lista de strings

--option strings

Suporta a especificação da flag várias vezes. Uma única flag também pode aceitar múltiplos valores separados por vírgula (,).

Suporta múltiplas instâncias de um único valor.

Por exemplo: --metadata user=jack,email=ja**@test.com --metadata address=china

Array de strings

--option stringArray

Suporta a especificação da flag várias vezes. Cada instância aceita apenas um único valor.

Por exemplo: --include .jpg --include .txt.

Carregar dados de outras fontes

Embora os argumentos sejam normalmente fornecidos na linha de comando, valores complexos podem ser carregados de um arquivo. Você também pode canalizar dados da entrada padrão (standard input), o que é útil para encadear comandos.

  • Iniciar com file:// indica que o conteúdo é carregado de um caminho de arquivo.

  • Um valor de parâmetro igual a - indica que os dados são carregados da entrada padrão.

Por exemplo, para definir as configurações de compartilhamento de recursos de origem cruzada (CORS) de um bucket, você pode carregar a configuração de um arquivo JSON. O arquivo cors-configuration.json é o seguinte:

{
  "CORSRule": {
    "AllowedOrigin": ["www.aliyun.com"],
    "AllowedMethod": ["PUT","GET"],
    "MaxAgeSeconds": 10000
  }
}
ossutil api put-bucket-cors --bucket examplebucket --cors-configuration file://cors-configuration.json

Alternativamente, você pode fornecer a configuração CORS diretamente como o valor da opção. A string JSON compacta é a seguinte:

{"CORSRule":{"AllowedOrigin":["www.aliyun.com"],"AllowedMethod":["PUT","GET"],"MaxAgeSeconds":10000}}
ossutil api put-bucket-cors --bucket examplebucket --cors-configuration  "{\"CORSRule\":{\"AllowedOrigin\":[\"www.aliyun.com\"],\"AllowedMethod\":[\"PUT\",\"GET\"],\"MaxAgeSeconds\":10000}}"

O exemplo a seguir mostra como carregar argumentos da entrada padrão:

cat cors-configuration.json | ossutil api put-bucket-cors --bucket examplebucket --cors-configuration -

Controlar a saída do comando

Formato de saída

Para os subcomandos do comando api e para os comandos du e stat, você pode ajustar o formato de saída usando o parâmetro --output-format. Os formatos suportados são os seguintes:

Nome do formato

Descrição

raw

A saída corresponde aos dados brutos retornados pelo servidor.

json

A saída é formatada como uma string JSON.

yaml

A saída é formatada como uma string YAML.

xml

A saída é formatada como uma string XML.

Por exemplo, o conteúdo original para get-bucket-cors é o seguinte:

ossutil api get-bucket-cors --bucket bucketexample
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>www.aliyun.com</AllowedOrigin>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>10000</MaxAgeSeconds>
  </CORSRule>
  <ResponseVary>false</ResponseVary>
</CORSConfiguration>

A saída em JSON é a seguinte:

ossutil api get-bucket-cors --bucket bucketexample --output-format json
{
  "CORSRule": {
    "AllowedMethod": [
      "PUT",
      "GET"
    ],
    "AllowedOrigin": "www.aliyun.com",
    "MaxAgeSeconds": "10000"
  },
  "ResponseVary": "false"
}

Filtrar saída

O ossutil oferece um recurso integrado de filtragem no lado do cliente baseado em JSON por meio da flag --output-query value.

Nota

Esta opção é suportada apenas para subcomandos do ossutil api.

Este recurso baseia-se na sintaxe JMESPath. Ao utilizá-lo, a saída é convertida para JSON, filtrada usando JMESPath e então exibida no formato de saída especificado. Para mais informações sobre a sintaxe JMESPath, consulte Especificação JMESPath.

Por exemplo, para exibir apenas o conteúdo de AllowedMethod para o comando get-bucket-cors, execute o seguinte comando:

ossutil api get-bucket-cors --bucket bucketexample --output-query CORSRule.AllowedMethod --output-format json
[
  "PUT",
  "GET"
]

Formato legível por humanos

Para comandos de alto nível (du, stat), a opção --human-readable está disponível para exibir dados de bytes e quantidades em um formato legível por humanos. Os dados em bytes são convertidos para um formato com sufixos Ki, Mi, Gi, Ti ou Pi (base 1024), e os dados de quantidade são convertidos para um formato com sufixos k, m, g, t ou p (base 1000).

Exemplo: Modo bruto

ossutil stat oss://bucketexample
ACL                         : private
AccessMonitor               : Disabled
ArchiveObjectCount          : 2
ArchiveRealStorage          : 10
ArchiveStorage              : 131072
...
StandardObjectCount         : 119212
StandardStorage             : 66756852803
Storage                     : 66756852813
StorageClass                : Standard
TransferAcceleration        : Disabled

Modo legível por humanos

ossutil stat oss://bucketexample --human-readable
ACL                         : private
AccessMonitor               : Disabled
ArchiveObjectCount          : 2
ArchiveRealStorage          : 10
ArchiveStorage              : 131.072k
...
StandardObjectCount         : 119.212k
StandardStorage             : 66.757G
Storage                     : 66.757G
StorageClass                : Standard
TransferAcceleration        : Disabled

Códigos de retorno dos comandos

Ao executar o ossutil em um script, você pode verificar seu código de retorno final para confirmar o resultado. Esse código indica se a operação foi bem-sucedida e permite tratar erros programaticamente.

Linux

Execute o comando para obter o código de retorno: echo $?.

Windows

Execute o comando para obter o código de retorno: echo %errorlevel%.

macOS

Execute o comando para obter o código de retorno: echo $?.

Código de retorno

Descrição

0

A operação do comando foi bem-sucedida. A solicitação enviada ao servidor foi executada com êxito e o servidor retornou uma resposta 200.

1

Parâmetro inválido. Este erro ocorre quando um subcomando ou parâmetro obrigatório está ausente, ou quando um comando ou parâmetro desconhecido é utilizado.

2

O comando foi analisado com sucesso e uma solicitação foi enviada ao serviço especificado, mas o serviço retornou um erro (uma resposta não-2xx).

3

Foi encontrado um erro não relacionado ao servidor ao chamar o OSS Go SDK.

4

Algumas solicitações falharam durante uma operação em lote, como cp ou rm.

5

Erro de interrupção. Um comando foi cancelado pressionando ctrl + c durante a execução.

Opções de linha de comando

Alguns comandos exigem parâmetros para especificar um alvo ou uma opção. Para esses comandos, forneça os valores necessários. Por exemplo:

ossutil ls --profile dev

O comando ossutil ls --profile dev especifica o perfil de configuração dev. Para opções que exigem um valor de parâmetro, separe o nome da opção do valor com um espaço ou um sinal de igual (=), como --profile dev ou --profile=dev. Coloque valores de parâmetros que contenham espaços entre aspas duplas para garantir que sejam analisados corretamente, por exemplo, --description "OSS bucket list".

Opções globais de linha de comando

### **Opções comuns de linha de comando**

Parâmetro

Tipo

Descrição

-i, --access-key-id

string

Especifica o AccessKey ID para acessar o OSS.

-k, --access-key-secret

string

Especifica o AccessKey Secret para acessar o OSS.

--addressing-style

string

Especifica o estilo de endereçamento da requisição. Valores válidos:

  • virtual (padrão): Habilita o estilo de host virtual.

  • path: Habilita o modo de caminho.

  • cname: Habilita o modo de nome de domínio personalizado.

-c, --config-file

string

Especifica o caminho para o arquivo de configuração. O caminho padrão é ~/.ossutilconfig.

--connect-timeout

int

Tempo limite de conexão em segundos. O valor padrão é 10.

-n, --dry-run

/

Mostra as operações que seriam realizadas sem executá-las.

-e, --endpoint

string

Especifica o endpoint do serviço ao qual se conectar.

-h, --help

/

Exibe informações de ajuda.

--language

string

Especifica o idioma de exibição.

--loglevel

string

Especifica o nível de log. Valores válidos:

  • off (padrão)

  • info

  • debug

--mode

string

Especifica o modo de autenticação. Valores válidos:

  • AK: Autenticar com um par de AccessKey.

  • StsToken: Autenticar com uma credencial de segurança temporária.

  • EcsRamRole: Autenticar com uma função RAM de instância ECS.

  • Anonymous: Usar acesso anônimo.

--output-format

string

Especifica o formato de saída. O valor padrão é raw.

--output-query

string

Especifica a condição de consulta JMESPath.

--profile

string

Especifica o perfil a ser usado no arquivo de configuração.

-q, --quiet

/

Suprime toda a saída, exceto erros.

--read-timeout

int

Tempo limite em segundos para requisições de leitura e gravação. O valor padrão é 20.

--region

string

A região de destino para a requisição. Por exemplo, você pode definir o valor como cn-hangzhou.

--retry-times

int

Especifica o número de vezes para tentar novamente uma requisição com falha. O valor padrão é 10.

--sign-version

string

Especifica a versão do algoritmo de assinatura para requisições. Valores válidos:

  • v1

  • v4 (padrão)

--skip-verify-cert

/

Desabilita a verificação de certificado SSL no lado do servidor.

-t, --sts-token

string

Especifica o token STS para acessar o OSS.

--proxy

string

Especifica o servidor proxy a ser usado. Esta opção está disponível na versão 2.0.1 e posteriores.

Valores válidos:

  • Configuração direta: Especifique diretamente os detalhes do servidor proxy. Exemplos:

    • http://proxy.example.com:8080

    • https://proxy.example.com:8443

  • env: Use as configurações de proxy das variáveis de ambiente HTTP_PROXY e HTTPS_PROXY. Você deve configurar essas variáveis de ambiente no seu sistema operacional. Exemplos:

    • HTTP_PROXY=http://proxy.example.com:8080

    • HTTPS_PROXY=https://proxy.example.com:8443

    Após configurar essas variáveis de ambiente, defina o valor da opção do servidor proxy como env para aplicar automaticamente as configurações de proxy dessas variáveis.

--log-file

string

Especifica o arquivo de saída de log. Esta opção está disponível na versão 2.0.1 e posteriores. O valor pode ser:

  • -: Grava logs na saída padrão (stdout).

  • Caminho do arquivo: Grava logs no caminho de arquivo especificado.

Se esta opção não for especificada, os logs serão gravados no arquivo de log padrão.

--cloudbox-id

string

Especifica o ID do CloudBox. Esta opção é usada em cenários CloudBox e está disponível na versão 2.1.0 e posteriores.

--ignore-env-var

/

Ignora todas as variáveis de ambiente com o prefixo OSS_. Esta opção está disponível na versão 2.2.0 e posteriores.

--bind-address

string

Especifica o endereço IP local (IPv4 ou IPv6) para vincular conexões de saída. Esta opção está disponível na versão 2.2.0 e posteriores.

Escopo do comando

Opções suportadas

Todos os comandos de alto nível

  • --encoding-type string: Especifica o tipo de codificação para nomes de objetos ou arquivos de entrada. O valor válido é url.

  • --request-payer string: Especifica quem paga pela solicitação. Para usar o modo de pagamento pelo solicitante, defina este valor como requester.

Comandos que suportam operações em lote

  • --start-after/--end-with (, ] : Define o intervalo de chaves para uma consulta. O intervalo exclui o valor inicial e inclui o valor final.

  • opções de filtro: Permite definir condições de filtro com base em nomes de objetos ou arquivos, diretórios, tamanhos, carimbos de data/hora e metadados de objetos. Para regras detalhadas de filtragem, consulte Opções de filtro.

  • --limited-num: Limita o número de resultados retornados pela API de consulta.

  • --recursive/-r: Processa recursivamente todos os arquivos ou objetos em um diretório, incluindo seus subdiretórios.

  • --dirs/-d: Acessa apenas arquivos ou objetos no diretório raiz, excluindo subdiretórios.

    Nota

    Para objetos, isso é simulado usando um delimitador. Isso requer a varredura de todos os objetos com o prefixo especificado, o que pode ser demorado se houver muitos objetos.

  • --force/-f: Força a operação sem prompt de confirmação.

  • --list-objects: Lista objetos usando a operação da API ListObjects.

Comandos que suportam regras de filtragem de destino

  • --update: Copia somente quando o arquivo de origem tem um horário de modificação mais recente ou idêntico ao do arquivo de destino.

  • --size-only: Compara apenas tamanhos de arquivos e sincroniza somente arquivos com tamanhos diferentes.

  • --checksum: Compara somas de verificação CRC-64. Esta opção compara primeiro os tamanhos dos arquivos. Se os tamanhos forem iguais, ela compara as somas de verificação CRC-64. Se uma soma de verificação CRC-64 estiver ausente em qualquer um dos lados, os arquivos serão considerados diferentes. Esta opção é válida apenas para cópias de objeto para objeto.

  • --ignore-existing: Ignora arquivos que já existem no destino. Esta opção está disponível na versão 2.0.3 e posteriores.

Comandos que suportam objetos únicos

--version-id string: Especifica o ID da versão do objeto.

Comandos que suportam modo de lista

--list-format: Especifica o formato do arquivo de lista. Valores válidos: plain, inventory.

--list-manifest-from: Lê a descrição do formato do arquivo de lista a partir de um arquivo. Este parâmetro é obrigatório quando --list-format está definido como inventory.

Perguntas frequentes

Erro do Ossutil: a região deve ser definida na versão de assinatura 4

Causa: Você não especificou o ID da região ao configurar o ossutil 2.0.

Solução: Para evitar erros, configure os seguintes itens obrigatórios: AccessKey ID, AccessKey Secret e ID da região. O ID da região é necessário porque a versão da assinatura foi atualizada para V4. Para mais informações sobre como obter um ID de região, consulte Regiões e endpoints.