O Python 2.7, 3.4 e 3.5 está sendo defasado para o AWS CLI versão 1. Para obter mais informações, consulte a AWS CLI versão 1 seção de Sobre as AWS CLI versões.
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 arquivos são divididos em profiles
. Por padrão, a CLI usa as configurações encontradas no perfil chamado default
. Para usar outras configurações, você pode criar e fazer referência a 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.
Tópicos
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.
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 você usar um dos SDKs além da AWS CLI, confirme se as credenciais precisarão ser armazenadas no próprio arquivo.
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 AWS STS do AssumeRole
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
config
ecredentials
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
config
ecredentials
. 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]:
AWS Secret Access Key [None]:AKIAIOSFODNN7EXAMPLE
Default region name [None]:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default output format [None]:us-west-2
json
Para obter mais informações, consulte Configuração rápida com aws configure
aws configure set
-
Você pode definir quaisquer credenciais ou configurações usando
aws configure set
. Especifique o perfil que você deseja visualizar ou modificar com a configuração--profile
.Por exemplo, o comando a seguir define a
region
no perfil chamadointeg
.$
aws configure set region
us-west-2
--profileinteg
Para remover uma configuração, use uma string vazia como o valor ou exclua manualmente a configuração nos arquivos
config
ecredentials
em um editor de texto.$
aws configure set cli_pager "" --profile
integ
aws configure get
-
Você pode recuperar quaisquer credenciais ou configurações definidas usando
aws configure get
. Especifique o perfil que você deseja visualizar ou modificar com a configuração--profile
.Por exemplo, o comando a seguir recupera a configuração
region
no perfil chamadointeg
.$
aws configure get
region
--profileinteg
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 Instalar, atualizar e desinstalar aAWS 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. O arquivo CSV deve conter os seguintes cabeçalhos.-
Nome de usuário
-
ID de chave de acesso
-
Chave de acesso secreta
$
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 Instalar, atualizar e desinstalar aAWS 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 arquivoconfig
.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 arquivocredentials
.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 arquivocredentials
.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 arquivocredentials
.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_auto_prompt;
-
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 Instalar, atualizar e desinstalar aAWS CLI versão 2.
Habilita o aviso automático para o AWS CLI versão 2. Há duas configurações que podem ser usadas:
-
on
O usa o modo de prompt automático completo sempre que você tenta executar umaws
comando da . Isso inclui pressionar ENTER após um comando completo ou incompleto.cli_auto_prompt = on
-
on-partial
O usa o modo de aviso automático parcial. Se um comando estiver incompleto ou não puder ser executado devido a erros de validação no lado do cliente, o aviso automático será usado. Esse modo é especialmente útil se você tiver scripts pré-existentes, runbooks ou apenas quiser ser solicitado automaticamente para comandos com os quais não está familiarizado em vez de solicitado em cada comando.cli_auto_prompt = on-partial
Você pode substituir essa configuração usando a variável de
aws_cli_auto_prompt
ambiente ou os parâmetros de linha de--cli-auto-prompt
comando--no-cli-auto-prompt
e .Para obter informações sobre o recurso de aviso AWS CLI versão 2 automático, consulte Ter a AWS CLI solicitando comandos a você.
-
- 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 Instalar, atualizar e desinstalar aAWS 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 prefixofile://
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çãocli_binary_format
atual. Se o valor dessa configuração forbase64
(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 forraw-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 tentará seguir links de URL em parâmetros de linha de comando que começam com
http://
ouhttps://
. Quando ativado, o conteúdo recuperado é usado 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://
ouhttps://
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://
ouhttps://
de forma diferente de outras strings.
Essa 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 Instalar, atualizar e desinstalar aAWS 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.
Essa 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.
Essa 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 especificarsource_profile
ecredential_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 a AWS CLI deve usar a função do IAM anexada ao perfil de instância do EC2 para obter credenciais de origem.
-
EcsContainer – especifica que a AWS CLI deve usar a função do IAM anexada ao contêiner do 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çãoAssumeRole
. Esse parâmetro será necessário somente se a política de confiança para a função especificar um valor paraExternalId
. Para obter mais informações, consulte Como usar um gateway externo ao conceder acesso aos recursos da AWS para terceiros no Guia do usuário do IAM. - tentativa_máximo
-
Especifica um valor de tentativas máximas de repetição que o manipulador AWS CLI de novas tentativas usa, em que a chamada inicial conta para o
max_attempts
valor fornecido.Você pode substituir esse valor usando a variável de
AWS_MAX_ATTEMPTS
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 (comoarn: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:
-
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
ouawk
. -
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.
Essa 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
-
- repetir modo
-
Especifica qual modo de repetição AWS CLI usa. Existem três modos de repetição disponíveis: herdado (padrão), padrão e adaptável. Para obter mais informações sobre novas tentativas, consulte AWS CLI tentar novamente.
Você pode substituir esse valor usando a variável de
AWS_RETRY_MODE
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. Esse valor é fornecido ao parâmetro
RoleSessionName
quando a AWS CLI chama a operaçãoAssumeRole
e se torna parte do ARN do usuário da função assumida:arn:aws:sts::
. Esse 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.123456789012
:assumed-role/role_name
/role_session_name
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 especificarsource_profile
ecredential_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 endpoint global do STS,sts.amazonaws.com
, para as seguintes 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-1
, eus-west-2
. Todas as demais regiões automaticamente usam o respectivo endpoint 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 usarus-west-2
, todas as chamadas ao AWS STS serão feitas para o endpoint regionalsts.us-west-2.amazonaws.com
em vez do endpoint globalsts.amazonaws.com
. Para enviar uma solicitação para o endpoint global enquanto a configuração é habilitada, você pode definir a região comoaws-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 arquivo que contém um token de acesso OAuth 2.0 ou token de ID OpenID Connect fornecido por um provedor de identidade. A AWS CLI carrega o conteúdo desse arquivo e o transmite como o argumento
WebIdentityToken
para a operaçãoAssumeRoleWithWebIdentity
. - tcp_keepalive
-
Especifica se o cliente de AWS CLI usará pacotes keep-alive de TCP.
Essa 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 aws s3
transferência cp
, sync
mv
, e rm
têm configurações adicionais que você pode usar para controlar transferências 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.
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
virtual
, eauto
. O valor padrão é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://
. Como alternativa, com o estilobucketname
.s3.amazonaws.compath
, você trata o nome do bucket como se fosse um caminho no URI. Por exemplo,https://s3.amazonaws.com/
. O valor padrão na CLI é usarbucketname
auto
, que tentará empregar o estilovirtual
onde puder, mas voltará para o estilopath
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. Comauto
, a CLI detectará essa condição e alternará automaticamente para o estilopath
. Se você definir o estilo de endereçamento comopath
, 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
ePutObject
) ao usar HTTPS. Por padrão, esse valor é definido comofalse
para uploads de streaming (UploadPart
ePutObject
), mas somente se umContentMD5
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 endpoint IPv4/IPv6 duplo do Amazon S3 para todos os comandos
s3
es3api
. O valor padrão é falso. Isso é mutuamente exclusivo com a configuraçãouse_accelerate_endpoint
.Se for definido como true, a AWS CLI direcionará todas as solicitações do Amazon S3 para o endpoint IPv4/IPv6 duplo para a região configurada.
- use_accelerate_endpoint
-
Use o endpoint Amazon S3 Accelerate para todos os comandos
s3
es3api
. O valor padrão é falso. Isso é mutuamente exclusivo com a configuraçãouse_dualstack_endpoint
.Se definido como true, a AWS CLI direcionará todas as solicitações do Amazon S3 para o endpoint
S3 Accelerate
ems3-accelerate.amazonaws.com
. Para usar esse endpoint, é necessário ativar o bucket para usar oS3 Accelerate
. Todas as solicitações são enviadas usando o estilo virtual de endereçamento de bucket:
. As solicitaçõesmy-bucket
.s3-accelerate.amazonaws.comListBuckets
,CreateBucket
eDeleteBucket
não são enviadas ao endpoint do S3 Accelerate porque esse endpoint não oferece suporte a essas operações. Esse comportamento também poderá ser definido se o--endpoint-url
parâmetro estiver definido comohttps://s3-accelerate.amazonaws.com
ouhttp://s3-accelerate.amazonaws.com
para qualquers3
comandos3api
ou .
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. Você pode especificar sufixos de taxa usando:
KB/s
MB/s
, ouGB/s
. Por exemplo,300KB/s
,10MB/s
.
Em geral, recomendamos que você primeiro tente reduzir o consumo de largura de banda diminuindo
max_concurrent_requests
. Se isso não adequar o consumo de largura de banda limite para a taxa desejada, você poderá usar a configuraçãomax_bandwidth
para limitar ainda mais o consumo de largura de banda. Isso ocorre porquemax_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çãomax_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 comandoaws s3 cp localdir s3://bucket/ --recursive
para fazer upload de arquivos para um bucket do S3, a AWS CLI pode carregar os arquivoslocaldir/file1
,localdir/file2
elocaldir/file3
paralelamente. A configuraçãomax_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.
A AWS CLI usa internamente um modelo que coloca na fila as tarefas do Amazon S3 que, depois, são executadas por consumidores cujos números são limitados por
max_concurrent_requests
. Em geral, uma tarefa é mapeada para uma única operação do S3. Por exemplo, uma tarefa pode ser umPutObjectTask
, um ouGetObjectTask
umUploadPartTask
. A taxa na qual as tarefas são adicionadas à fila pode ser muito mais rápida do que a taxa na qual 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 quemultipart_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. Você pode usar
KB
,MB
GB
, ouTB
. 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