技能 编程开发 多环境Anthropic API配置管理

多环境Anthropic API配置管理

v20260423
anth-multi-env-setup
本技能旨在指导用户配置和管理跨越开发、预发布和生产环境的Claude API访问。它详细介绍了如何利用Anthropic Workspaces实现API密钥隔离、模型选择和预算控制,确保AI应用部署流程的安全性和可靠性。
获取技能
162 次下载
概览

Anthropic Multi-Environment Setup

Overview

Configure isolated Claude API environments with per-env API keys, model selection, and spend controls using Anthropic Workspaces.

Environment Configuration

# config.py
import os
from dataclasses import dataclass

@dataclass
class ClaudeConfig:
    api_key: str
    model: str
    max_tokens: int
    max_retries: int
    timeout: float
    monthly_budget_usd: float

CONFIGS = {
    "development": ClaudeConfig(
        api_key=os.environ["ANTHROPIC_API_KEY_DEV"],
        model="claude-haiku-4-20250514",       # Cheap for dev
        max_tokens=256,
        max_retries=1,
        timeout=15.0,
        monthly_budget_usd=10.0,
    ),
    "staging": ClaudeConfig(
        api_key=os.environ["ANTHROPIC_API_KEY_STAGING"],
        model="claude-sonnet-4-20250514",
        max_tokens=1024,
        max_retries=2,
        timeout=30.0,
        monthly_budget_usd=50.0,
    ),
    "production": ClaudeConfig(
        api_key=os.environ["ANTHROPIC_API_KEY_PROD"],
        model="claude-sonnet-4-20250514",
        max_tokens=4096,
        max_retries=5,
        timeout=120.0,
        monthly_budget_usd=5000.0,
    ),
}

def get_config() -> ClaudeConfig:
    env = os.getenv("APP_ENV", "development")
    return CONFIGS[env]

Anthropic Workspaces (Key Isolation)

Create separate Workspaces in console.anthropic.com:

Workspace Purpose Rate Limit Tier
dev Development & testing Tier 1
staging Pre-production validation Tier 2
production Live traffic Tier 3+

Each workspace has independent API keys, usage tracking, and rate limits.

Environment Files

# .env.development
ANTHROPIC_API_KEY_DEV=sk-ant-api03-dev-...
APP_ENV=development

# .env.staging
ANTHROPIC_API_KEY_STAGING=sk-ant-api03-stg-...
APP_ENV=staging

# .env.production (stored in secret manager, not files)
ANTHROPIC_API_KEY_PROD=sk-ant-api03-prd-...
APP_ENV=production

Client Factory

import anthropic

def create_client() -> anthropic.Anthropic:
    config = get_config()
    return anthropic.Anthropic(
        api_key=config.api_key,
        max_retries=config.max_retries,
        timeout=config.timeout,
    )

Per-Environment Model Override

# Development: always use Haiku (cheapest)
# Staging: use production model for accuracy testing
# Production: use configured model

def get_model(override: str | None = None) -> str:
    if override:
        return override
    return get_config().model

Error Handling

Issue Cause Fix
Dev key used in prod Wrong env loaded Validate key prefix matches environment
Staging rate limited Low tier workspace Upgrade staging workspace tier
Cost overrun in dev No budget guard Add per-env spend limits

Resources

Next Steps

For monitoring, see anth-observability.

信息
Category 编程开发
Name anth-multi-env-setup
版本 v20260423
大小 3.55KB
更新时间 2026-04-26
语言