0Pricing
FastAPI Backend Development Bootcamp · Aula

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 = False

Loading 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)
    raise

Typed 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.com

Quick 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

  1. Conteinerização de aplicações FastAPI
  2. Implantação com Gunicorn e Uvicorn
  3. Estratégias de implantação na nuvem
  4. Gerenciamento de variáveis de ambiente e segredos
← Voltar para FastAPI Backend Development Bootcamp