Noções Básicas de Implantação Empresarial
9 exemplos para você começar com Implantação Empresarial - 6 básicos e 3 intermediários.
Pré-requisitos
- Instale o SDK com os extras para as plataformas que você planeja usar:
pip install anthropicpara a API direta,pip install "anthropic[bedrock]"para Amazon Bedrock,pip install "anthropic[vertex]"para Google Cloud Vertex AI. - Para Bedrock, uma conta AWS com credenciais IAM configuradas (via variáveis de ambiente, um arquivo de credenciais compartilhado ou uma função assumida) e acesso ao modelo solicitado no console Bedrock.
- Para Vertex AI, um projeto Google Cloud com faturamento ativado, a API Vertex AI ativada e Credenciais Padrão de Aplicação configuradas via
gcloud auth application-default login. - Estes exemplos assumem que
claude-sonnet-5está disponível em todas as plataformas que você provisionar; confirme o acesso ao modelo antes de executá-los.
Exemplos Básicos
1. Chame o Claude via API Direta
O caminho mais simples possível: uma chave de API e o SDK oficial, sem necessidade de conta na nuvem.
import anthropic
client = anthropic.Anthropic() # lê ANTHROPIC_API_KEY do ambiente
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=256,
messages=[{"role": "user", "content": "Liste três benefícios de infraestrutura como código."}],
)
print(response.content[0].text)anthropic.Anthropic()sem argumentos lêANTHROPIC_API_KEYdo ambiente automaticamente.- Não há função IAM, conta de serviço ou região para configurar - esta é a maneira mais rápida de confirmar se seu código de integração funciona antes de adicionar uma camada de plataforma de nuvem.
- Todos os outros exemplos nesta página visam a mesma chamada
messages.create, apenas através de uma classe de cliente diferente.
Relacionado: Escolhendo Entre API Direta, Bedrock e Vertex AI para Claude - a decisão que esta página assume que você já tomou.
2. Construa o Cliente Bedrock
Aponte o SDK para o Amazon Bedrock em vez do endpoint da Anthropic, usando credenciais AWS em vez de uma chave de API.
from anthropic import AnthropicBedrock
client = AnthropicBedrock(
aws_region="us-east-1",
)AnthropicBedrockresolve credenciais AWS da mesma forma que qualquer SDK AWS: variáveis de ambiente, um arquivo de credenciais compartilhado ou uma função IAM assumida.aws_regioné obrigatório - Bedrock não tem fallback de região padrão, e o modelo para o qual você solicitou acesso deve estar disponível nessa região.- Nenhuma chave de API é passada aqui; a autenticação é totalmente baseada em IAM.
3. Chame o Claude no Amazon Bedrock
Uma vez que o cliente é construído, a forma da requisição é idêntica à da API direta, além do prefixo do ID do modelo.
from anthropic import AnthropicBedrock
client = AnthropicBedrock(aws_region="us-east-1")
response = client.messages.create(
model="anthropic.claude-sonnet-5",
max_tokens=256,
messages=[{"role": "user", "content": "Liste três benefícios de infraestrutura como código."}],
)
print(response.content[0].text)- IDs de modelo Bedrock carregam um prefixo
anthropic.- passar o IDclaude-sonnet-5puro da API direta aqui retorna um 404. - Um
403neste ponto quase sempre significa que a função IAM não tem a permissão de invocação do Bedrock, ou que o acesso ao modelo nunca foi solicitado no console para este modelo nesta região. messages.createé o mesmo método com os mesmos parâmetros do cliente da API direta - apenas a classe do cliente e a string do ID do modelo diferem.
4. Construa o Cliente Vertex AI
Aponte o SDK para o Google Cloud Vertex AI, autenticando com um projeto GCP e Credenciais Padrão de Aplicação em vez de uma chave de API.
from anthropic import AnthropicVertex
client = AnthropicVertex(
project_id="my-gcp-project",
region="us-east5",
)project_ideregionsão ambos argumentos obrigatórios do construtor - não há projeto ou região padrão.- A autenticação usa as Credenciais Padrão de Aplicação do Google, resolvidas a partir de
gcloud auth application-default loginlocalmente ou de uma conta de serviço anexada ao ambiente de execução em produção. regionpode ser uma região específica, um valor multirregional ou"global", dependendo do modelo e das necessidades de latência.
5. Chame o Claude no Google Cloud Vertex AI
Os IDs de modelo Vertex AI para modelos Claude de geração atual não têm prefixo, ao contrário do prefixo anthropic. do Bedrock.
from anthropic import AnthropicVertex
client = AnthropicVertex(project_id="my-gcp-project", region="us-east5")
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=256,
messages=[{"role": "user", "content": "Liste três benefícios de infraestrutura como código."}],
)
print(response.content[0].text)- IDs de modelo Vertex AI de geração atual correspondem à string de modelo pura da API direta - sem prefixo de provedor, ao contrário do Bedrock.
- Um
403aqui geralmente significa que a conta de serviço não tem a função IAM de Usuário do Vertex AI, ou que o projeto não ativou a API Vertex AI. - Um
429ou erro de cota significa que a cota de requisição ou token do projeto para este modelo precisa ser aumentada no console do Google Cloud.
Relacionado: Executando Claude no Google Cloud Vertex AI: Cotas e Contas de Serviço - a configuração completa de conta de serviço e cota.
6. Lide com Erros de Autenticação Específicos da Plataforma
Envolva a chamada para que uma função IAM ou conta de serviço mal configurada produza uma mensagem clara em vez de um rastreamento de pilha bruto.
import anthropic
from anthropic import AnthropicBedrock
client = AnthropicBedrock(aws_region="us-east-1")
try:
response = client.messages.create(
model="anthropic.claude-sonnet-5",
max_tokens=256,
messages=[{"role": "user", "content": "Ping."}],
)
print(response.content[0].text)
except anthropic.PermissionDeniedError:
print("A função IAM não tem permissão de invocação do Bedrock, ou o acesso ao modelo não foi solicitado.")
except anthropic.NotFoundError:
print("ID do modelo ou região incorretos - verifique o prefixo anthropic. e a disponibilidade da região.")PermissionDeniedErroreNotFoundErrorsão as mesmas classes de exceção tipadas em todos os clientes - API direta, Bedrock e Vertex AI os lançam da mesma maneira.- Capturar a classe de exceção específica, em vez de um
except Exceptiongenérico, permite que você mostre uma mensagem de remediação apropriada à plataforma em vez de uma falha genérica. - A falha mais comum na primeira execução em qualquer plataforma de nuvem é um problema de permissões ou solicitação de acesso, não um bug de código - verifique o IAM e o acesso ao modelo antes de depurar a própria requisição.
Exemplos Intermediários
7. Solicite um Perfil de Inferência Cross-Region no Bedrock
Alguns modelos Bedrock exigem um ID de perfil de inferência em vez de um ID de modelo simples por motivos de capacidade ou latência.
from anthropic import AnthropicBedrock
client = AnthropicBedrock(aws_region="us-east-1")
response = client.messages.create(
model="us.anthropic.claude-sonnet-5", # ID do perfil de inferência cross-region
max_tokens=256,
messages=[{"role": "user", "content": "Resuma a tendência de gastos na nuvem deste trimestre."}],
)
print(response.content[0].text)- Um ID de perfil de inferência cross-region (prefixado com um código geográfico como
us.) roteia uma única requisição lógica através de múltiplas regiões AWS para headroom de capacidade. - Nem todo modelo requer um - verifique o console Bedrock para saber se o modelo para o qual você solicitou acesso precisa de um ID de perfil ou aceita um ID de modelo simples de região única.
- O provisionamento do acesso subjacente ao modelo e a solicitação de um perfil de inferência são etapas separadas; ambas devem ser feitas antes que esta chamada seja bem-sucedida.
8. Escolha um Endpoint Regional para Vertex AI
Vertex AI permite fixar a inferência em uma região específica, um valor multirregional ou rotear globalmente para melhor disponibilidade.
from anthropic import AnthropicVertex
# Fixar em uma região específica por motivos de residência de dados ou latência.
regional_client = AnthropicVertex(project_id="my-gcp-project", region="europe-west1")
# Ou use "global" para que a Anthropic roteie para a região mais disponível.
global_client = AnthropicVertex(project_id="my-gcp-project", region="global")- Uma região específica (como
europe-west1) é a escolha certa quando os requisitos de residência de dados ou latência fixam onde a inferência deve ser executada. region="global"é recomendado por padrão quando você não tem restrição de residência, pois dá à Anthropic espaço para rotear em torno de limites de capacidade regionais.- A cota é rastreada por projeto e por região, portanto, mudar de região posteriormente pode exigir uma solicitação de aumento de cota separada.
Relacionado: Checklist de Residência de Dados e Fixação de Região para Cargas de Trabalho Regulamentadas - quando uma região específica é um requisito de conformidade, não apenas uma preferência.
9. Selecione um Cliente de Plataforma por Variável de Ambiente
Um wrapper mínimo que escolhe a classe de cliente correta na inicialização, para que o código da aplicação nunca precise saber qual plataforma está ativa em um determinado ambiente.
import os
import anthropic
from anthropic import AnthropicBedrock, AnthropicVertex
def get_client() -> anthropic.Anthropic:
platform = os.environ.get("CLAUDE_PLATFORM", "direct")
if platform == "bedrock":
return AnthropicBedrock(aws_region=os.environ["AWS_REGION"])
if platform == "vertex":
return AnthropicVertex(
project_id=os.environ["GCP_PROJECT_ID"],
region=os.environ.get("GCP_REGION", "global"),
)
return anthropic.Anthropic()
client = get_client()
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=256,
messages=[{"role": "user", "content": "O que mudou entre staging e prod?"}],
)
print(response.content[0].text)- Cada classe de cliente expõe a mesma interface
messages.create, portanto, trocar de plataforma é uma questão de trocar qual clienteget_client()retorna. CLAUDE_PLATFORMcomo uma variável de ambiente permite que você execute o mesmo código contra a API direta no desenvolvimento local e contra Bedrock ou Vertex AI em um ambiente implantado sem uma alteração de código.- Este padrão é um trampolim leve em direção a um gateway auto-hospedado completo - ele centraliza a escolha da plataforma, mas ainda não adiciona cache, failover ou limitação de taxa centralizada.
Relacionado: Construindo um Gateway Auto-Hospedado para Roteamento, Cache e Fallback - o próximo passo quando uma simples troca de ambiente não é suficiente.
Versões da Stack: Escrito contra a linha de modelos Claude atual em ~junho de 2026 - Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5 (o padrão), e Claude Haiku 4.5 - e o SDK oficial
anthropicpara Python (última versão 0.x). Nomes de modelos, preços e versões de SDK mudam rapidamente - verifique os detalhes atuais em platform.claude.com/docs antes de confiar neles.