Configurações de arquivos de configuração e credenciais - AWS Command Line Interface

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurações de arquivos de configuração e credenciais

Você pode salvar as definições de configuração usadas com frequência e credenciais em arquivos que são mantidos pela AWS CLI.

Os ficheiros estão divididos em profiles. Por predefinição, a CLI utiliza as definições encontradas no perfil denominado default. Para utilizar definições alternativas, pode criar e referenciar perfis adicionais. Para obter mais informações sobre os perfis nomeados, consulte Perfis nomeados.

Você pode substituir uma configuração definindo uma das variáveis de ambiente com suporte ou usando um parâmetro de linha de comando. Para obter mais informações sobre a precedência de configuração, consulte Definições de configuração e precedência.

Onde as definições de configuração ficam armazenadas?

A AWS CLI armazena informações confidenciais das credenciais com aws configure em um arquivo local chamado credentials, em uma pasta chamada .aws, no seu diretório inicial. As opções menos confidenciais de configuração especificadas com aws configure são armazenadas em um arquivo local chamado config, também armazenado na pasta .aws, no seu diretório inicial.

Armazenar credenciais no arquivo de configuração

Você pode manter todas as configurações de perfil em um único arquivo, já que a AWS CLI pode ler as credenciais do arquivo config. Se houver credenciais nos dois arquivos para um perfil que compartilhe o mesmo nome, as chaves no arquivo de credenciais terão precedência.

Esses arquivos também são usados pelos vários kits de desenvolvimento de software de linguagem (SDKs). Se usar um dos SDKs para além do AWS CLI, confirme se as credenciais devem ser armazenadas no seu próprio ficheiro.

O local do diretório inicial varia de acordo com o sistema operacional, mas é acessado usando as variáveis de ambiente %UserProfile% no Windows e $HOME ou ~ (til) em sistemas baseados em Unix. Você pode especificar um local não padrão para o arquivo config definindo a variável de ambiente AWS_CONFIG_FILE para outro caminho local. Para mais detalhes, consulte Variáveis de ambiente para configurar a AWS CLI.

Por exemplo, os arquivos gerados pela CLI para um perfil padrão configurado com aws configure são semelhantes aos seguintes.

~/.aws/credentials

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

~/.aws/config

[default] region=us-west-2 output=json

Para obter exemplos de arquivos com vários perfis nomeados, consulte Perfis nomeados.

Quando você usa um perfil compartilhado que especifica uma função do AWS Identity and Access Management (IAM), a AWS CLI chama a operação AssumeRole do AWS STS para recuperar as credenciais temporárias. Essas credenciais são armazenadas (no ~/.aws/cli/cache). Os comandos subsequentes da AWS CLI usam as credenciais temporárias armazenadas em cache até que expirem e, nesse ponto, a AWS CLI atualiza automaticamente as credenciais.

Definir e visualizar as configurações

Existem várias formas de visualizar e definir as configurações nos arquivos.

Arquivos credentials e config

Visualize e edite suas configurações editando diretamente os arquivos credentials e config em um editor de texto. Para obter mais informações, consulte Onde as definições de configuração ficam armazenadas?

Para remover uma configuração, exclua-a dos arquivos credentials e config.

aws configure

Execute esse comando para definir e visualizar rapidamente as credenciais, a região e o formato de saída. O exemplo a seguir mostra valores de amostra.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

Para obter mais informações, consulte Configuração rápida com aws configure

aws configure set

Pode definir quaisquer credenciais ou definições de configuração utilizando aws configure set. Especifique o perfil que deseja ver ou modifique com o --profile definição.

Por exemplo, o comando a seguir define a region no perfil chamado integ.

$ aws configure set region us-west-2 --profile integ

Para remover uma configuração, use uma string vazia como o valor ou exclua manualmente a configuração nos arquivos config e credentials em um editor de texto.

$ aws configure set cli_pager "" --profile integ
aws configure get

Pode recuperar quaisquer credenciais ou definições de configuração que tenha definido utilizando aws configure get. Especifique o perfil que deseja ver ou modifique com o --profile definição.

Por exemplo, o comando a seguir recupera a configuração region no perfil chamado integ.

$ aws configure get region --profile integ us-west-2

Se a saída estiver vazia, a configuração não estará explicitamente definida e usará o valor padrão.

aws configure import
Esse recurso está disponível somente na AWS CLI versão 2.

O recurso a seguir só estará disponível se você usar a AWS CLI versão 2. Ele não estará disponível se você executar a AWS CLI versão 1. Para obter informações sobre como instalar a versão 2, consulte Instalação, atualização e desinstalação do AWS CLI versão 2.

Importe as credenciais CSV geradas do console da Web da AWS. Um arquivo CSV é importado com o nome do perfil correspondente ao nome de usuário do IAM.

$ aws configure import –csv file://credentials.csv
aws configure list

Para listar todos os dados de configuração, use o comando aws configure list. Esse comando exibe o nome da AWS CLI de todas as configurações que você fez, os valores e de onde a configuração foi recuperada.

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION
aws configure list-profiles
Esse recurso está disponível somente na AWS CLI versão 2.

O recurso a seguir só estará disponível se você usar a AWS CLI versão 2. Ele não estará disponível se você executar a AWS CLI versão 1. Para obter informações sobre como instalar a versão 2, consulte Instalação, atualização e desinstalação do AWS CLI versão 2.

Para listar todos os nomes de perfil, use o comando aws configure list-profiles.

$ aws configure list-profiles default test

Configurações de arquivo config compatíveis

As configurações a seguir têm suporte no arquivo config. Os valores listados no perfil especificado (ou padrão) serão usados, a menos que eles sejam ignorados pela presença de uma variável de ambiente ou uma opção de linha de comando com o mesmo nome. Para obter informações sobre a ordem de precedência das configurações, consulte Definições de configuração e precedência

Configurações globais

api_versions

Alguns serviços da AWS mantêm várias versões de API para oferecer suporte à compatibilidade com versões anteriores. Por padrão, os comandos da CLI usam a versão de API mais recente disponível. Você pode especificar uma versão de API a ser usada para um perfil incluindo a configuração api_versions no arquivo config.

Essa é uma configuração "aninhada" que é seguida por uma ou mais linhas recuadas, cada uma identificando um serviço da AWS e a versão de API a ser usada. Consulte a documentação de cada serviço para saber quais versões de API estão disponíveis.

O exemplo a seguir mostra como especificar uma versão de API para dois serviços da AWS. Essas versões de API são usadas apenas para comandos que são executados sob o perfil que contém essas configurações.

api_versions = ec2 = 2015-03-01 cloudfront = 2015-09-017

Essa configuração não tem uma variável de ambiente nem parâmetro de linha de comando equivalente.

aws_access_key_id

Especifica a chave de acesso da AWS usada como parte das credenciais para autenticar a solicitação do comando. Embora ela possa ser armazenada no arquivo config, recomendamos armazená-la no arquivo credentials.

Pode ser substituída pela variável de ambiente AWS_ACCESS_KEY_ID. Você não pode especificar o ID de chave de acesso como uma opção de linha de comando.

aws_access_key_id = 123456789012
aws_secret_access_key

Especifica a chave secreta da AWS usada como parte das credenciais para autenticar a solicitação do comando. Embora ela possa ser armazenada no arquivo config, recomendamos armazená-la no arquivo credentials.

Pode ser substituída pela variável de ambiente AWS_SECRET_ACCESS_KEY. Você não pode especificar a chave de acesso secreta como uma opção de linha de comando.

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token

Especifica um token de sessão da AWS. Um token de sessão só será necessário se você especificar manualmente credenciais de segurança temporárias. Embora ela possa ser armazenada no arquivo config, recomendamos armazená-la no arquivo credentials.

Pode ser substituída pela variável de ambiente AWS_SESSION_TOKEN. Você não pode especificar o token de sessão como uma opção de linha de comando.

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

Especifica um pacote de certificado CA (um arquivo com a extensão .pem) que é usado para verificar certificados SSL.

Pode ser substituído pela variável de ambiente AWS_CA_BUNDLE ou pela opção de linha de comando --ca-bundle.

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
cli_binary_format
Esse recurso está disponível somente na AWS CLI versão 2.

O recurso a seguir só estará disponível se você usar a AWS CLI versão 2. Ele não estará disponível se você executar a AWS CLI versão 1. Para obter informações sobre como instalar a versão 2, consulte Instalação, atualização e desinstalação do AWS CLI versão 2.

Especifica como a AWS CLI versão 2 interpreta os parâmetros de entrada binários. Pode ter um dos valores a seguir:

  • base64 – esse é o valor padrão. Um parâmetro de entrada que é digitado como um objeto grande binário (BLOB) aceita uma string codificada em base64. Para passar conteúdo binário verdadeiro, coloque o conteúdo em um arquivo e forneça o caminho e o nome do arquivo com o prefixo fileb:// como o valor do parâmetro. Para passar um texto codificado em base64 contido em um arquivo, forneça o caminho e o nome do arquivo com o prefixo file:// como o valor do parâmetro.

  • raw-in-base64-out – fornece compatibilidade com versões anteriores com o comportamento da AWS CLI versão 1, em que os valores binários devem ser passados literalmente.

Esta entrada não tem uma variável de ambiente equivalente. Você pode especificar o valor em um único comando usando o parâmetro --cli-binary-format raw-in-base64-out.

cli_binary_format = raw-in-base64-out

Se você fizer referência a um valor binário em um arquivo usando a notação de prefixo fileb://, a AWS CLI sempre esperará que o arquivo tenha um conteúdo binário bruto e não tentará converter o valor.

Se você fizer referência a um valor binário em um arquivo usando a notação de prefixo file://, a AWS CLI tratará o arquivo de acordo com a configuração cli_binary_format atual. Se o valor dessa configuração for base64 (o padrão quando não é definido explicitamente), a CLI esperará que o arquivo contenha texto codificado em base64. Se o valor dessa configuração for raw-in-base64-out, a CLI esperará que o arquivo tenha conteúdo binário bruto.

cli_follow_urlparam
Esse recurso está disponível somente na AWS CLI versão 1.

O recurso a seguir só estará disponível se você usar a AWS CLI versão 1. Ele não estará disponível se você executar a AWS CLI versão 2.

Especifica se a CLI tenta seguir as ligações URL nos parâmetros da linha de comandos que começam por http:// ou https://. Quando ativado, o conteúdo recuperado é utilizado como o valor do parâmetro em vez do URL.

  • true – esse é o valor padrão. Se especificado, todos os parâmetros de string que comecem com http:// ou https:// são obtidos e todo o conteúdo obtido por download é usado como o valor do parâmetro para o comando.

  • false – se especificado, a CLI não tratará valores de string de parâmetros que comecem com http:// ou https:// de forma diferente de outras strings.

Esta entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

cli_follow_urlparam = false
cli_pager
Esse recurso está disponível somente na AWS CLI versão 2.

O recurso a seguir só estará disponível se você usar a AWS CLI versão 2. Ele não estará disponível se você executar a AWS CLI versão 1. Para obter informações sobre como instalar a versão 2, consulte Instalação, atualização e desinstalação do AWS CLI versão 2.

Especifica o programa de paginação usado para saída. Por padrão, a AWS CLI versão 2 retorna toda a saída pelo programa de paginação padrão do sistema operacional.

Pode ser substituído pela variável de ambiente AWS_PAGER.

cli_pager=less

Para desativar o uso total de um programa de paginação externo, defina a variável como uma string vazia, conforme o exemplo a seguir.

cli_pager=
cli_timestamp_format

Especifica o formato dos valores de timestamp incluídos no resultado. Você pode especificar qualquer um dos seguintes valores:

  • iso8601 – o valor padrão para a AWS CLI versão 2. Se especificado, a AWS CLI reformata todos os time stamps de acordo com a ISO 8601.

  • wire – o valor padrão para a AWS CLI versão 1. Se especificado, a AWS CLI exibe todos os valores de time stamp exatamente como recebidos na resposta de consulta HTTP.

Esta entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

cli_timestamp_format = iso8601
credential_process

Especifica um comando externo que a CLI executa para gerar ou recuperar credenciais de autenticação a serem usadas para esse comando. O comando deve retornar as credenciais em um formato específico. Para obter mais informações sobre como usar essa configuração, consulte Credenciais de fornecimento com um processo externo.

Esta entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

credential_process = /opt/bin/awscreds-retriever --username susan
credential_source

Usado em instâncias do Amazon EC2 ou contêineres do EC2 para especificar onde a AWS CLI pode encontrar credenciais a serem usadas para assumir a função especificada com o parâmetro role_arn. Não é possível especificar source_profile e credential_source no mesmo perfil.

Esse parâmetro pode ter um dos três valores:

  • Environment – especifica que a AWS CLI deve recuperar credenciais de origem de variáveis de ambiente.

  • Ec2InstanceMetadata – Especifica que o AWS CLI é usar o IAM função anexada ao Perfil de instância EC2 para obter credenciais de origem.

  • EcsContainer – Especifica que o AWS CLI é usar o IAM função anexada ao contentor ECS como credenciais de origem.

credential_source = Ec2InstanceMetadata
duration_seconds

Especifica a duração máxima da sessão da função, em segundos. Esse valor pode variar de 900 segundos (15 minutos) até o valor configurado de duração máxima da sessão para a função (que pode ser até 43200). Esse é um parâmetro opcional e, por padrão, o valor é definido como 3600 segundos.

external_id

Especifica um identificador exclusivo que é usado por terceiros para assumir uma função em suas contas de clientes. Isso é mapeado para o parâmetro ExternalId na operação AssumeRole. Este parâmetro só é necessário se a política de confiança para a função especificar um valor para ExternalId. Para obter mais informações, consulte Como utilizar um gateway externo ao conceder acesso aos seus recursos de AWS a terceiros na Guia do usuário do IAM.

máx_tentativas

Especifica um valor de tentativas de repetição máximas AWS CLI o responsável pela repetição utiliza, onde a chamada inicial conta para o max_attempts que fornecer.

Pode substituir este valor utilizando o botão AWS_MAX_ATTEMPTS variável de ambiente.

max_attempts = 3
mfa_serial

O número de identificação de um dispositivo MFA a ser usado ao assumir uma função. Isso será obrigatório apenas se a política de confiança da função que está sendo assumida incluir uma condição que exija a autenticação MFA. O valor pode ser um número de série de um dispositivo de hardware (como GAHT12345678) ou um nome de recurso da Amazon (ARN) de um dispositivo MFA virtual (como arn:aws:iam::123456789012:mfa/user).

output

Especifica o formato de saída padrão para comandos solicitados usando esse perfil. Você pode especificar qualquer um dos seguintes valores:

  • json – a saída é formatada como uma string JSON.

  • yaml – a saída é formatada como uma string YAML. (Disponível somente na AWS CLI versão 2.)

  • yaml-stream: a saída é transmitida e formatada como uma string YAML. O streaming permite um processamento mais rápido de grandes tipos de dados. (Disponível somente na AWS CLI versão 2.)

  • text – a saída é formatada como várias linhas de valores de string separados por tabulação. Isso pode ser útil para transmitir a saída a um processador de texto, como grep, sed ou awk.

  • table – a saída é formatada como uma tabela usando os caracteres +|- para formar as bordas da célula. Geralmente, a informação é apresentada em um formato "amigável", que é muito mais fácil de ler do que outros, mas não tão útil programaticamente.

Pode ser substituído pela variável de ambiente AWS_DEFAULT_OUTPUT ou pela opção de linha de comando --output.

output = table
parameter_validation

Especifica se o cliente da AWS CLI tentará validar os parâmetros antes de enviá-los para o endpoint de serviço da AWS.

  • true – esse é o valor padrão. Se especificado, a CLI executa a validação local de parâmetros da linha de comando.

  • false – se especificado, a CLI não valida parâmetros da linha de comando antes de enviá-los para o endpoint de serviço da AWS.

Esta entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

parameter_validation = false
região

Especifica a região da AWS para a qual enviar solicitações para os comandos solicitados usando esse perfil.

  • Você pode especificar qualquer um dos códigos de região disponíveis para o serviço escolhido, conforme listado em Regiões e endpoints da AWS no Referência geral do Amazon Web Services.

  • aws_global permite especificar o endpoint global para serviços compatíveis com um endpoint global, além de endpoints regionais, como AWS Security Token Service (AWS STS) e Amazon Simple Storage Service (Amazon S3).

Você pode substituir esse valor usando a variável de ambiente AWS_DEFAULT_REGION ou a opção da linha de comando --region.

region = us-west-2
voltar a tentar_modo

Especifica qual o modo de repetição AWS CLI usa. Existem três modos de repetição disponíveis: legado (predefinição), padrão e adaptável. Para obter mais informações sobre novas tentativas, consulte AWS CLI repetições.

Pode substituir este valor utilizando o botão AWS_RETRY_MODE variável de ambiente.

retry_mode = standard
role_arn

Especifica o nome de recurso da Amazon (ARN) de uma função do IAM que você deseja usar para executar os comandos da AWS CLI. Também é necessário especificar um dos seguintes parâmetros para identificar as credenciais que têm permissão para assumir essa função:

  • source_profile

  • credential_source

role_arn = arn:aws:iam::123456789012:role/role-name
role_session_name

Especifica o nome a ser associado à sessão da função. Este valor é fornecido à RoleSessionName parâmetro quando o AWS CLI chama a AssumeRole operação e torna-se parte da função assumida do ARN do utilizador: arn:aws:sts::123456789012:assumed-role/role_name/role_session_name. Este é um parâmetro opcional. Se você não fornecer esse valor, um nome de sessão será gerado automaticamente. Esse nome aparece nos logs do AWS CloudTrail para entradas associadas a essa sessão.

role_session_name = maria_garcia_role
source_profile

Especifica um perfil nomeado com credenciais de longo prazo que a AWS CLI pode usar para assumir uma função que você especificou com o parâmetro role_arn. Não é possível especificar source_profile e credential_source no mesmo perfil.

source_profile = production-profile
sso_account_id (Disponível somente na AWS CLI versão 2.)

Especifica o ID da conta da AWS que contém a função do IAM com a permissão que você deseja conceder ao usuário associado do AWS SSO.

Essa configuração não tem uma variável de ambiente nem uma opção de linha de comando.

sso_account_id = 123456789012
sso_region (Disponível somente na AWS CLI versão 2.)

Especifica a região da AWS que contém o host do portal do AWS SSO. Isso é separado e pode ser uma região diferente do parâmetro padrão region da CLI.

Essa configuração não tem uma variável de ambiente nem uma opção de linha de comando.

aws_sso_region = us_west-2
sso_role_name (Disponível somente na AWS CLI versão 2.)

Especifica o nome fácil de lembrar da função do IAM que define as permissões do usuário ao usar esse perfil.

Essa configuração não tem uma variável de ambiente nem uma opção de linha de comando.

sso_role_name = ReadAccess
sso_start_url (Disponível somente na AWS CLI versão 2.)

Especifica o URL que aponta para o portal do usuário do AWS SSO da organização. A AWS CLI usa esse URL para estabelecer uma sessão com o serviço AWS SSO para autenticar seus usuários.

Essa configuração não tem uma variável de ambiente nem uma opção de linha de comando.

sso_start_url = https://my-sso-portal.awsapps.com/start
sts_regional_endpoints

Especifica como a AWS CLI determina o endpoint do serviço da AWS que o cliente da AWS CLI usa para se comunicar com o AWS Security Token Service (AWS STS).

  • O valor padrão para AWS CLI versão 1 é legacy.

  • O valor padrão para AWS CLI versão 2 é regional.

É possível especificar um dos dois valores:

  • legacy – Usa o parâmetro STS global, sts.amazonaws.com, para o seguinte AWS Regiões: ap-northeast-1, ap-south-1, ap-southeast-1, ap-southeast-2, aws-global, ca-central-1, eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1e us-west-2. Todas as outras regiões utilizam automaticamente o respetivo parâmetro de avaliação regional.

  • regional – a AWS CLI sempre usa o endpoint do AWS STS para a região atualmente configurada. Por exemplo, se o cliente estiver configurado para usar us-west-2, todas as chamadas ao AWS STS serão feitas para o endpoint regional sts.us-west-2.amazonaws.com em vez do endpoint global sts.amazonaws.com. Para enviar uma solicitação para o endpoint global enquanto a configuração é habilitada, você pode definir a região como aws-global.

Essa configuração pode ser substituída usando a variável de ambiente AWS_STS_REGIONAL_ENDPOINTS. Você não pode definir esse valor como um parâmetro de linha de comando.

web_identity_token_file

Especifica o caminho para um ficheiro que contém um OAuth 2.0 token de acesso ou OpenID Ligar token de ID que é fornecido por um fornecedor de identidade. A AWS CLI carrega o conteúdo desse arquivo e o transmite como o argumento WebIdentityToken para a operação AssumeRoleWithWebIdentity.

tcp_keepalive

Especifica se o cliente de AWS CLI usará pacotes keep-alive de TCP.

Esta entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

tcp_keepalive = false

Configurações de comando personalizadas do S3

O Amazon S3 oferece suporte a várias configurações que definem como a AWS CLI executa operações do Amazon S3. Algumas se aplicam a todos os comandos do S3 nos namespaces s3api e s3. Outras são especificamente para o comandos "personalizados" do S3 que abstraem operações comuns e fazem mais do que um mapeamento individual para uma operação de API. Os comandos de transferência aws s3 cp, sync, mv e rm têm configurações adicionais que você pode usar para controlar as transferências do S3.

Todas essas opções podem ser configuradas especificando a configuração s3 aninhada em seu arquivo config. Depois, cada configuração é recuada em sua própria linha.

nota

Essas configurações são totalmente opcionais. Você deve ser capaz de usar com êxito os comandos de transferência aws s3 sem definir nenhuma dessas configurações. Essas configurações são fornecidas para permitir que você ajuste o desempenho ou considere o ambiente específico no qual está executando esses comandos aws s3.

As configurações a seguir se aplicam a qualquer comando do S3 nos namespaces s3 ou s3api.

addressing_style

Especifica qual estilo de endereçamento usar. Isso controla se o nome do bucket está no nome do host ou em parte do URL. Os valores válidos são: path, virtuale auto. O valor predefinido é auto.

Há dois estilos de criação de um endpoint do S3. O primeiro é chamado virtual e inclui o nome do bucket como parte do nome do host. Por exemplo: https://bucketname.s3.amazonaws.com. Em alternativa, com o path estilo, trata o nome do balde como se tratasse de um caminho na URI; por exemplo, https://s3.amazonaws.com/bucketname. O valor predefinido na CLI é utilizar auto, que tentativas de utilização do virtual onde puder, mas voltará path quando necessário. Por exemplo, se o nome do bucket não for compatível com DNS, ele não poderá fazer parte do nome do host e deverá estar no caminho. Com auto, a CLI detectará essa condição e alternará automaticamente para o estilo path. Se você definir o estilo de endereçamento como path, garanta que a região da AWS que você configurou na AWS CLI corresponda à região do bucket.

payload_signing_enabled

Especifica se o SHA256 deverá assinar cargas sigv4. Por padrão, ele fica desativado para uploads de streaming (UploadPart e PutObject) ao usar HTTPS. Por padrão, esse valor é definido como false para uploads de streaming (UploadPart e PutObject), mas somente se um ContentMD5 estiver presente (é gerado por padrão) e o endpoint usar HTTPS.

Se definido como true, as solicitações do S3 receberão validação de conteúdo adicional na forma de uma soma de verificação SHA256 que é calculada para você e será incluída na assinatura da solicitação. Se for definido como false, a soma de verificação não será calculada. Desativar essa opção poderá ser útil para reduzir a sobrecarga de desempenho criada pela soma da soma de verificação.

use_dualstack_endpoint

Use o botão Amazon S3 duplo IPv4 / / IPv6 para todos s3 e s3api comandos. O valor padrão é falso. Isso é mutuamente exclusivo com a configuração use_accelerate_endpoint.

Se definido para verdadeiro, o AWS CLI dirige todos Amazon S3 pedidos para a função IPv4 / / IPv6 região de avaliação final para a Região configurada.

use_accelerate_endpoint

Use o endpoint Amazon S3 Accelerate para todos os comandos s3 e s3api. O valor padrão é falso. Isso é mutuamente exclusivo com a configuração use_dualstack_endpoint.

Se definido para verdadeiro, o AWS CLI dirige todos Amazon S3 pedidos para o S3 Accelerate de avaliação final a s3-accelerate.amazonaws.com. Para utilizar este ponto final, tem de ativar o seu balde para utilizar S3 Accelerate. Todos os pedidos são enviados utilizando o estilo virtual de endereçamento do balde: my-bucket.s3-accelerate.amazonaws.com. em qualquer ListBuckets, CreateBuckete DeleteBucket são enviados para o ponto final do S3 Accelerate uma vez que esse ponto final não suporta essas operações. Esse comportamento também poderá ser definido se o parâmetro --endpoint-url estiver definido como https://s3-accelerate.amazonaws.com ou http://s3-accelerate.amazonaws.com para qualquer comando s3 ou s3api.

As seguintes configurações se aplicam somente aos comandos do conjunto de comandos do namespace s3.

max_bandwidth

Especifica a largura de banda máxima que pode ser consumida para upload e download de dados de e para o Amazon S3. O padrão é sem limite.

Isso limita a largura de banda máxima que os comandos do S3 podem usar para transferir dados de e para o Amazon S3. Esse valor se aplica apenas a uploads e downloads; ele não se aplica a cópias nem as exclui. O valor é expresso em bytes por segundo. O valor pode ser especificado como:

  • Um valor inteiro. Por exemplo, 1048576 define o uso máximo da largura de banda como 1 megabyte por segundo.

  • Um valor inteiro seguido por um sufixo de taxa. Pode especificar a taxa de sufixos utilizando: KB/s, MB/sou GB/s. Por exemplo, 300KB/s, 10MB/s.

Em geral, recomendamos que tente primeiro reduzir o consumo de largura de banda baixando max_concurrent_requests. Se isso não limitar adequadamente o consumo de largura de banda à taxa desejada, pode usar o max_bandwidth para limitar ainda mais o consumo de largura de banda. Isso ocorre porque max_concurrent_requests controla o número de threads em execução no momento. Se, em vez disso, você baixar primeiro, max_bandwidth mas deixar uma configuração max_concurrent_requests alta, isso pode fazer com que threads tenham que esperar desnecessariamente. Isso pode levar ao excesso de consumo de recursos e tempos limite de conexão.

max_concurrent_requests

Especifica o número máximo de solicitações simultâneas. O valor padrão é 10.

Os comandos de transferência aws s3 são multithread. Em um determinado momento, várias solicitações do Amazon S3 podem estar em execução. Por exemplo, quando você usa o comando aws s3 cp localdir s3://bucket/ --recursive para fazer upload de arquivos para um bucket do S3, a AWS CLI pode carregar os arquivos localdir/file1, localdir/file2 e localdir/file3 paralelamente. A configuração max_concurrent_requests especifica o número máximo de operações de transferência que podem ser executadas ao mesmo tempo.

Talvez você precise alterar esse valor por alguns motivos:

  • Diminuir esse valor – em alguns ambientes, o padrão de 10 solicitações simultâneas pode sobrecarregar um sistema. Isso pode causar erros de tempo limite de conexão ou diminuir a capacidade de resposta do sistema. Reduzir esse valor faz com que os comandos de transferência do S3 usem menos recursos. A desvantagem é que as transmissões do S3 podem levar mais tempo para serem concluídas. Reduzir esse valor poderá ser necessário se você usar uma ferramenta para limitar a largura de banda.

  • Aumentar esse valor – em alguns cenários, você pode querer que as transferências do S3 sejam concluídas com o máximo de rapidez possível, usando o máximo de largura de banda da rede necessária. Nesse cenário, o número padrão de solicitações simultâneas pode não ser suficiente para utilizar toda a largura de banda de rede disponível. O aumento desse valor pode melhorar o tempo necessário para concluir uma transferência do S3.

max_queue_size

Especifica o número máximo de tarefas na fila de tarefas. O valor padrão é 1000.

lá estão AWS CLI usa internamente um modelo onde fica em fila Amazon S3 que são então executadas pelos consumidores cujos números são limitados por max_concurrent_requests. Uma tarefa geralmente mapeia uma única operação do S3. Por exemplo, uma tarefa pode ser PutObjectTask, ou um GetObjectTask, ou um UploadPartTask. A taxa a que as tarefas são adicionadas à fila pode ser muito mais rápida do que a taxa a que os consumidores concluem as tarefas. Para evitar o crescimento não vinculado, o tamanho da fila de tarefas é limitada a um tamanho específico. Essa configuração altera o valor desse número máximo.

Em geral, você não precisa alterar essa configuração. Essa configuração também corresponde ao número de tarefas que a CLI está ciente de que precisam ser executadas. Isso significa que, por padrão, a CLI só pode ver 1.000 tarefas à frente. Aumentar esse valor significa que a CLI pode saber com mais rapidez o número total de tarefas necessárias, supondo-se que a taxa de enfileiramento seja mais rápida do que a taxa de conclusão de tarefas. A desvantagem é que um max_queue_size maior requer mais memória.

multipart_chunksize

Especifica o tamanho de bloco que a AWS CLI usa para transferências multipart de arquivos individuais. O valor padrão é de 8 MB, com um mínimo de 5 MB.

Quando uma transferência de arquivos excede o multipart_threshold, a CLI divide o arquivo em blocos desse tamanho. Esse valor pode ser especificado usando a mesma sintaxe que multipart_threshold, como o número de bytes como um número inteiro ou usando um tamanho e um sufixo.

multipart_threshold

Especifica o limite de tamanho que a AWS CLI usa para transferências multipart de arquivos individuais. O valor padrão é de 8 MB.

Ao fazer upload, download ou copiar um arquivo, os comandos do S3 alternarão para operações multipart se o arquivo exceder esse tamanho. É possível especificar esse valor de duas formas:

  • O tamanho do arquivo em bytes. Por exemplo, 1048576.

  • O tamanho do arquivo com um sufixo de tamanho. Pode usar KB, MB, GBou TB. Por exemplo: 10MB, 1GB.

    nota

    O S3 pode impor restrições quanto a valores válidos que podem ser usados para operações multipart. Para obter mais informações, consulte a documentação sobre Multipart Upload do S3 no Guia do desenvolvedor do Amazon Simple Storage Service.

Essas configurações são todas definidas em uma chave s3 de nível superior no arquivo config, conforme mostrado no exemplo a seguir para o perfil development.

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path