Cargando

Configura Claude en Google Cloud (gestionado por Anthropic)

Prepara un proyecto de Google Cloud para Claude Models on Google Cloud (gestionado por Anthropic), otorga acceso a tu propia cuenta y obtén una primera respuesta de Claude en Python. Luego ejecuta cualquier ejemplo de Claude API cambiando su importación y su cliente.

25 minClaude Platform

Claude Models on Google Cloud (gestionado por Anthropic) te permite llamar a Claude a través de tu propio proyecto de Google Cloud. Anthropic opera Claude API. Google Cloud gestiona el acceso, así que inicias sesión con tus credenciales de Google. Una vez que el proyecto está configurado y tu cuenta tiene acceso, una primera respuesta toma unas pocas líneas de Python.

Verifica qué servicio tienes

Google Cloud ofrece Claude como dos servicios, y cada uno tiene su propia configuración. Los pasos aquí son para el gestionado por Anthropic. El otro servicio es el gestionado por Google, donde Google opera los modelos Claude como parte de Google Cloud's Agent Platform. Para saber qué servicio tienes, busca algo que ya tengas en esta tabla.

Lo que ya tienesTu servicio
El cliente SDK de Python AnthropicGoogleCloud en tu códigoGestionado por Anthropic
El host claude.googleapis.com en las URLs de tus solicitudesGestionado por Anthropic
La opción etiquetada como Anthropic managed, en la consola de Google CloudGestionado por Anthropic
El cliente SDK de Python AnthropicVertex en tu códigoGestionado por Google
Un host de Agent Platform, como aiplatform.googleapis.com, en las URLs de tus solicitudesGestionado por Google
Modelos Claude en Model Garden, en la consola de Google CloudGestionado por Google

Si lo que tienes apunta al gestionado por Google, sigue en su lugar Configura Claude en Google Cloud (gestionado por Google).

Qué necesitas y qué cuesta

Necesitas esto antes de empezar:

Si acabas de instalar el gcloud CLI, inicia sesión con gcloud auth login o gcloud init. Ese es el inicio de sesión propio del gcloud CLI, y el paso 2 de "Date acceso a ti mismo" lo necesita. Application Default Credentials, que usa el cliente SDK, es un inicio de sesión distinto que llega en el paso 3.

No necesitas una clave de API de Anthropic, porque este servicio no usa claves de API.

El uso se factura, y el cliente SDK para este servicio está en beta. La facturación pasa por Google Cloud Marketplace, así que los cargos aparecen en tu factura de Google Cloud y Anthropic no envía una factura separada. La única solicitud que envíes aquí también se factura.

Los comandos a continuación usan valores de marcador de posición. Reemplaza my-project-id con tu ID de proyecto, you@example.com con tu cuenta de Google, y wrkspc_01AbCdEf23GhIj con tu ID de espacio de trabajo, que se explica en la siguiente sección.

Prepara el proyecto, una vez

La configuración crea una nueva organización de Anthropic para tu proyecto de Google Cloud. Es independiente de cualquier organización de Anthropic que tu empresa ya tenga. La nueva organización comienza con un espacio de trabajo, el Default Workspace, y todos los que llamen a este servicio necesitan el ID de ese espacio de trabajo.

Un administrador normalmente hace esta parte. Si el tuyo ya lo hizo, pídele el ID del espacio de trabajo y continúa con "Date acceso a ti mismo".

Si ya tienes un descuento existente, contacta a tu representante de cuenta de Anthropic o Google Cloud antes de empezar. Los descuentos no se pueden aplicar a uso pasado.

Luego sigue los pasos en Configura tu cuenta en los docs. Esa sección enumera los permisos que necesitas. Los pasos te llevan desde suscribirte en Google Cloud Marketplace hasta copiar el ID del espacio de trabajo, que comienza con wrkspc_. Pásale el ID a tus desarrolladores.

La suscripción de Marketplace se hace una vez, así que para añadir otro proyecto, repite los pasos en ese proyecto, comenzando desde el paso 2. Si un paso falla, consulta solución de problemas de configuración de cuenta.

Date acceso a ti mismo

Cada desarrollador que llama a Claude hace estos pasos en su propia terminal, en orden.

  1. Configura tu proyecto en gcloud.

    bash
    gcloud config set project my-project-id

    Para ver el proyecto que gcloud está usando, ejecuta gcloud config get-value project.

  2. Otorga a tu cuenta roles/claude.user. La identidad que hace las llamadas necesita este rol en el proyecto.

    bash
    gcloud projects add-iam-policy-binding \
      my-project-id \
      --member="user:you@example.com" \
      --role="roles/claude.user"

    Necesitas permiso para cambiar la política IAM del proyecto para ejecutar este comando. Sin él, pídele a tu administrador que ejecute el comando para tu cuenta.

  3. Inicia sesión con Application Default Credentials (ADC). El cliente SDK obtiene su token de acceso de Google desde ADC. Para desarrollo local, ejecuta este comando:

    bash
    gcloud auth application-default login

    Para comprobar que ADC funciona, ejecuta gcloud auth application-default print-access-token.

  4. Configura dos variables de entorno. El cliente SDK necesita tu ID de proyecto y tu ID de espacio de trabajo.

    bash
    export ANTHROPIC_GOOGLE_CLOUD_PROJECT="my-project-id"
    export ANTHROPIC_GOOGLE_CLOUD_WORKSPACE_ID="wrkspc_01AbCdEf23GhIj"

Obtén una primera respuesta

Una solicitud desde Python demuestra que toda la configuración funciona. Quédate en la terminal donde configuraste las dos variables.

  1. Instala el SDK con su extra de Google Cloud.

    bash
    pip install -U "anthropic[google_cloud]"
  2. Guarda este archivo como first_reply.py. Crea el cliente, que resuelve tus credenciales de Google por sí mismo. Luego envía una solicitud e imprime lo que recibe.

    python
    from anthropic import AnthropicGoogleCloud
    
    client = AnthropicGoogleCloud()
    
    message = client.messages.create(
        model="claude-opus-5-5",
        max_tokens=1024,
        messages=[{
            "role": "user",
            "content": "Hello, Claude",
        }],
    )
    print(message)
  3. Ejecuta el archivo.

    bash
    python first_reply.py

    Todo el mensaje se imprime en tu terminal, con la respuesta de Claude en su content. Si en su lugar obtienes un error, ve a la siguiente sección.

Comprueba que la respuesta vino a través del proyecto que tenías en mente. El cliente lee el ID del proyecto desde ANTHROPIC_GOOGLE_CLOUD_PROJECT. Ejecuta echo "$ANTHROPIC_GOOGLE_CLOUD_PROJECT" en la misma terminal. El valor debería ser el ID del proyecto que tú o tu administrador prepararon. El proyecto configurado en gcloud puede ser uno diferente, así que verifica la variable.

Para ver la misma solicitud sin el SDK, lee el ejemplo de cURL.

Si la primera solicitud falla

Dos errores comunes son un error de permisos y un modelo que no está disponible.

Si el cliente dice que falta el ID del espacio de trabajo, configura ambas variables de nuevo en esta terminal, como en el paso 4 de "Date acceso a ti mismo". Para límites de velocidad, contacta a Anthropic Support.

Un error de permisos

Google Cloud devuelve un error HTTP 403 cuando quien llama carece de permisos. Verifica dos cosas en el proyecto al que estás llamando:

  • claude.googleapis.com está habilitado. Ejecuta gcloud services list --enabled --project=my-project-id y busca su nombre.
  • Tu cuenta tiene roles/claude.user o roles/claude.admin.

Una concesión nueva o un servicio recién habilitado pueden tardar un momento en aplicarse. Si ambas comprobaciones pasan, espera un momento y ejecuta first_reply.py de nuevo.

Un modelo que no está disponible

El mensaje de error dice Model {model} is not available for this organization's inference configuration. Aparece cuando solicitas un modelo que no está disponible para tu organización de Anthropic. Puedes consultar los modelos y sus IDs, y Anthropic Support se encarga de Claude en sí, incluyendo modelos y errores de API.

Ejecuta cualquier ejemplo de Claude API

Para ejecutar un ejemplo de Claude API en este servicio, reemplaza su importación y su constructor de cliente. El ID del modelo se mantiene igual, porque este servicio usa los mismos IDs de modelo que Claude API. Un ejemplo que use una función que este servicio no admite no se ejecutará, así que revisa primero la breve lista de funciones no admitidas.

Supongamos que un ejemplo escrito para Claude API se ve así:

python
import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": "Hello, Claude",
    }],
)
print(message)

Después del cambio, solo la importación y el cliente han cambiado:

python
from anthropic import AnthropicGoogleCloud

client = AnthropicGoogleCloud()

message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": "Hello, Claude",
    }],
)
print(message)

El cambio es suficiente porque el nuevo cliente se encarga de lo que difiere. Una solicitud a este servicio difiere de una solicitud de Claude API en tres aspectos.

Qué difiereEn el gestionado por Anthropic
URL baseUna URL con alcance de proyecto, en lugar de https://api.anthropic.com
AutenticaciónUn encabezado Authorization: Bearer con un token de acceso de Google. No envíes un encabezado x-api-key.
Espacio de trabajoEl ID del espacio de trabajo es parte de la URL. No envíes un encabezado anthropic-workspace-id.

El cliente construye la URL base a partir de tu proyecto, ubicación e ID de espacio de trabajo, con esta forma:

text
https://claude.googleapis.com/v1/projects/{project}/locations/global/workspaces/{workspace}/invoke

A dónde ir después

Toma Claude Platform 101 a continuación. Enseña qué son messages, max_tokens y los modelos. Luego toma Uso de herramientas con la Messages API.

Siempre que un ejemplo, en estos cursos o en los docs, cree un cliente anthropic.Anthropic(), cambia su importación y cliente antes de ejecutarlo. Omite cualquier paso que obtenga o almacene una clave de API o verifique crédito, porque este servicio no usa claves de API y factura a través de Google Cloud. Algunas lecciones usan TypeScript, y los docs enumeran el paquete y el cliente para cada idioma.

Cuando los necesites, estos temas están en los docs: