Gerenciamento de variáveis de ambiente e segredos
Aprenda a configurar o FastAPI com segurança para diferentes ambientes usando variáveis de ambiente e gerenciamento de segredos.
Gerenciamento de variáveis de ambiente e segredos é uma aula grátis de FastAPI Backend Development Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de FastAPI Backend Development Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de FastAPI Backend Development Bootcamp inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Why Externalize Configuration?
Hardcoding database URLs, API keys, or debug flags into your code is dangerous and inflexible.
The 12-factor app approach stores configuration in the environment, so the same image runs in dev, staging, and production with different settings.
Reading Environment Variables
Python reads variables via os.environ or os.getenv with a default.
import os
DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./dev.db")
DEBUG = os.getenv("DEBUG", "false").lower() == "true"Pydantic Settings
FastAPI projects commonly use pydantic-settings to load and validate config into a typed object.
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
database_url: str
secret_key: str
debug: bool = FalseLoading from a .env File
Configure the settings class to read a local .env file during development.
class Settings(BaseSettings):
database_url: str
secret_key: str
class Config:
env_file = ".env"Caching the Settings Object
Use lru_cache so settings are parsed once and reused as a dependency.
from functools import lru_cache
@lru_cache
def get_settings() -> Settings:
return Settings()Injecting Settings into Routes
Treat settings as a FastAPI dependency for clean access and easy testing.
from fastapi import Depends
@app.get("/info")
def info(settings: Settings = Depends(get_settings)):
return {"debug": settings.debug}Never Commit Secrets
Add .env to .gitignore. Committed secrets are extremely hard to fully remove from git history and may leak credentials.
# .gitignore
.env
*.pem
secrets/Production Secret Stores
In production, prefer a managed secret store over plain files:
- AWS Secrets Manager or Parameter Store
- HashiCorp Vault
- Docker or Kubernetes secrets
These inject secrets at runtime without writing them to disk in plain text.
Different Configs per Environment
Use a single variable like ENV to branch behavior, keeping all values in the environment.
ENV = os.getenv("ENV", "development")
if ENV == "production":
LOG_LEVEL = "warning"
else:
LOG_LEVEL = "debug"Validating Required Variables
Pydantic settings raise a clear error at startup if a required variable is missing, failing fast instead of crashing later.
try:
settings = Settings()
except Exception as e:
print("Config error:", e)
raiseTyped Lists and Nested Config
Settings can parse complex values too, like comma-separated origins into a list, keeping parsing logic out of your routes.
class Settings(BaseSettings):
cors_origins: list[str] = []
# CORS_ORIGINS=https://a.com,https://b.comQuick Check
Test your configuration knowledge.
Recap
You learned to manage configuration safely:
- Read config from the environment, not source code
- Use pydantic-settings for typed, validated config
- Never commit
.env; use a secret store in production
Solid config management keeps deployments portable and secure.
Perguntas Frequentes
A aula “Gerenciamento de variáveis de ambiente e segredos” é grátis?
Sim — o texto completo de “Gerenciamento de variáveis de ambiente e segredos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de FastAPI Backend Development Bootcamp, atualize para CoddyKit PRO. O curso de FastAPI Backend Development Bootcamp inclui 4 aulas no total.
O que vou aprender em “Gerenciamento de variáveis de ambiente e segredos”?
Aprenda a configurar o FastAPI com segurança para diferentes ambientes usando variáveis de ambiente e gerenciamento de segredos. Você pratica FastAPI Backend Development Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar FastAPI Backend Development Bootcamp?
Nenhuma experiência prévia é necessária. FastAPI Backend Development Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Gerenciamento de variáveis de ambiente e segredos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de FastAPI Backend Development Bootcamp?
Sim. Cada aula de FastAPI Backend Development Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Conteinerização de aplicações FastAPI
- Implantação com Gunicorn e Uvicorn
- Estratégias de implantação na nuvem
- Gerenciamento de variáveis de ambiente e segredos