"The config profile could not be found": o perfil de configuração não foi encontrado

TL;DR — O nome do perfil que você está usando não existe nos arquivos de configuração do AWS que seu processo está lendo. Três suspeitos comuns: uma variável de ambiente AWS_PROFILE desatualizada, um erro de digitação em --profile/profile_name ou o perfil definido no cabeçalho da seção errada – o arquivo ~/.aws/config precisa de [profile myprofile], enquanto ~/.aws/credentials usa [myprofile] simples. Execute o aws configure list-profiles e compare.

O que significa

botocore.exceptions.ProfileNotFound: The config profile (myprofile) could not be found

Antes que qualquer chamada DynamoDB possa ser assinada, o SDK resolve um perfil de credenciais. Se um perfil foi solicitado explicitamente — via AWS_PROFILE, --profile ou boto3.Session(profile_name=...) — e não existe nenhuma seção com esse nome nos arquivos config/credentials que estão sendo lidos, a resolução é interrompida com esse erro. Nada chegou ao AWS; é inteiramente uma falha na pesquisa de configuração local.

Por que isso acontece

  • AWS_PROFILE aponta para um perfil que não existe — definido em um arquivo shell rc, uma imagem de contêiner ou configuração de CI há muito tempo, então o perfil foi renomeado ou removido.
  • Um erro de digitação ou incompatibilidade de maiúsculas e minúsculas — os nomes dos perfis correspondem exatamente.
  • Sintaxe de cabeçalho de seção incorreta — em ~/.aws/config um perfil nomeado deve ser declarado como [profile myprofile]; escrever [myprofile] significa que o CLI/SDK não consegue encontrá-lo (o formato simples pertence ao ~/.aws/credentials).
  • Os arquivos não estão onde o processo pareceAWS_CONFIG_FILE/AWS_SHARED_CREDENTIALS_FILE substituindo o caminho, um diretório inicial diferente no usuário do serviço sudo/a ou um contêiner sem a montagem ~/.aws.

Como corrigir

  1. Liste o que está realmente visível em seu ambiente:

    aws configure list-profiles
    env | grep -i '^AWS_'
  2. Corrija ou remova o ponteirounset AWS_PROFILE (ou defina-o para um perfil listado), corrija a grafia de --profile/profile_name.

  3. Confira os cabeçalhos de seção:

    # ~/.aws/config
    [profile myprofile]
    region = eu-west-1
    
    # ~/.aws/credentials
    [myprofile]
    aws_access_key_id = ...
    aws_secret_access_key = ...
  4. Crie o perfil se ele nunca existiuaws configure --profile myprofile (ou aws configure sso para perfis do Identity Center).

  5. Em contêineres/CI, prefira credenciais de ambiente ou uma função em vez de arquivos de perfil — ou monte/point AWS_CONFIG_FILE em um arquivo que realmente defina o perfil.

Veja no DynoTable

DynoTable lê os mesmos arquivos ~/.aws/credentials e ~/.aws/config que a CLI — adicione perfis em Configurações → Perfis, escolha o nome do perfil no menu suspenso e execute Testar conexão para confirmar se ele resolve antes do SDK. A troca de perfil (⌘P) torna um AWS_PROFILE obsoleto óbvio quando as tabelas desaparecem.

Para Local, crie um perfil com endpoint http://localhost:8000 e credenciais fictícias. Consulte Conectar ao AWS e Instalar. Abra tabelas com ⌘K uma vez conectadas e execute uma consulta de teste de fumaça no Query Builder.

Fontes

Reproduza

Aponte boto3 para um perfil que não está em sua configuração, com o ambiente AWS limpo para que nada mais satisfaça a pesquisa:

import boto3
boto3.Session(profile_name='no-such-profile-xyz').client('dynamodb').list_tables()

Saída real:

ProfileNotFound: The config profile (no-such-profile-xyz) could not be found

Isso é gerado por botocore no cliente, antes que qualquer solicitação chegue ao AWS — e é por isso que não há status HTTP e por que tentar novamente não pode ajudar. O nome entre parênteses é o perfil que ele procurou, portanto informa se o erro de digitação está no seu código ou no seu arquivo de configuração.

Erros relacionados

Referências

Última verificação em 13/07/2026 em relação à documentação oficial do AWS vinculada acima.

Reproduzido em 26/07/2026 contra boto3 1.43.56 / botocore 1.43.56 - a saída acima é literal.

Trabalhe com o DynamoDB sem o Console

Um cliente desktop rápido para DynamoDB que roda o SQL de verdade que o DynamoDB não consegue — JOINs, GROUP BY, agregações — com edição visual e um agente de IA com suas próprias chaves do Bedrock.

Teste grátis de 30 dias, sem cartão de crédito — depois o plano Grátis sem limite de tempo.