The config profile could not be found
TL;DR — O nome de profile que você está usando não existe nos arquivos de config da AWS que o seu processo está lendo. Três suspeitos de sempre: uma variável de ambiente AWS_PROFILE obsoleta, um erro de digitação em --profile/profile_name, ou o profile definido sob o cabeçalho de seção errado — o arquivo ~/.aws/config precisa de [profile myprofile], enquanto ~/.aws/credentials usa [myprofile] simples. Rode aws configure list-profiles e compare.
O que significa
botocore.exceptions.ProfileNotFound: The config profile (myprofile) could not be foundAntes que qualquer chamada ao DynamoDB possa ser assinada, o SDK resolve um profile de credenciais. Se um profile foi explicitamente solicitado — via AWS_PROFILE, --profile ou boto3.Session(profile_name=...) — e nenhuma seção com esse nome existe nos arquivos de config/credentials que estão sendo lidos, a resolução para com este erro. Nada chegou à AWS; é inteiramente uma busca de configuração local que falha.
Por que acontece
AWS_PROFILEaponta para um profile que não existe — definido em um arquivo rc de shell, uma imagem de contêiner ou config de CI há muito tempo, e depois o profile foi renomeado ou removido.- Um erro de digitação ou diferença de maiúsculas — nomes de profile são comparados exatamente.
- Sintaxe de cabeçalho de seção errada — em
~/.aws/configum profile nomeado precisa ser declarado como[profile myprofile]; escrever[myprofile]ali significa que a CLI/SDK não consegue encontrá-lo (a forma simples pertence a~/.aws/credentials). - Os arquivos não estão onde o processo procura —
AWS_CONFIG_FILE/AWS_SHARED_CREDENTIALS_FILEsobrescrevendo o caminho, um diretório home diferente sob sudo/um usuário de serviço, ou um contêiner sem o mount de~/.aws.
Como corrigir
Liste o que está realmente visível para o seu ambiente:
aws configure list-profiles env | grep -i '^AWS_'Corrija ou remova o ponteiro —
unset AWS_PROFILE(ou defina-o para um profile listado), corrija a grafia de--profile/profile_name.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 = ...Crie o profile se ele nunca existiu —
aws configure --profile myprofile(ouaws configure ssopara profiles do Identity Center).Em contêineres/CI, prefira credenciais de ambiente ou uma role em vez de arquivos de profile — ou monte/aponte
AWS_CONFIG_FILEpara um arquivo que realmente defina o profile.
Depois que o profile resolver, verifique se ele realmente alcança suas tabelas — o app desktop DynoTable usa seus profiles da AWS para conectar e torna visível "qual profile enxerga quais tabelas", e a calculadora de preços do DynamoDB ajuda a planejar quanto custa a carga de trabalho daquela conta.
Erros relacionados
- Unable to locate credentials — nenhuma credencial encontrada (nenhum profile explícito envolvido).
- Could not load credentials from any providers — a variante do JS-SDK da mesma falha de cadeia.
- SSO session expired — o profile existe mas seu login SSO expirou.
- Aprenda: DynamoDB Local & LocalStack setup
Referências
- Configuration and credential file settings in the AWS CLI — AWS CLI User Guide
- Configuring environment variables for the AWS CLI — AWS CLI User Guide (AWS_PROFILE, AWS_CONFIG_FILE, AWS_SHARED_CREDENTIALS_FILE)
- Configuring IAM Identity Center authentication with the AWS CLI — AWS CLI User Guide (aws configure sso)
Verificado pela última vez em 2026-07-13 contra a documentação oficial da AWS vinculada acima.