---
title: Claude no Microsoft Foundry
url: https://platform.claude.com/docs/pt-BR/build-with-claude/claude-in-microsoft-foundry
description: Acesse os modelos Claude por meio do Microsoft Foundry com endpoints e autenticação nativos do Azure.
---

Este guia mostra como configurar e fazer chamadas de API para o Claude no Microsoft Foundry usando um dos SDKs de cliente da Anthropic ou requisições HTTP diretas. Ao acessar o Claude no Microsoft Foundry, você é cobrado pelo uso do Claude no Azure Marketplace. Você pode usar modelos Claude, incluindo Claude Fable 5.1, Claude Opus 5.5, Claude Opus 5, Claude Opus 4.8, Claude Sonnet 5.5, Claude Sonnet 5 e Claude Haiku 5.5, e recursos como a ["context window" (janela de contexto) de 1M de tokens](https://platform.claude.com/docs/pt-BR/build-with-claude/context-windows), enquanto gerencia os custos por meio da sua assinatura do Azure.

O Claude está disponível nos tipos de implantação Global Standard e US Data Zone Standard em recursos do Foundry, cobrado em Claude Consumption Units por meio do Azure Marketplace. Visite [preços do Claude no Microsoft Foundry](https://platform.claude.com/docs/pt-BR/about-claude/pricing#claude-in-microsoft-foundry-pricing) para obter detalhes.

## Opções de hospedagem

Os modelos Claude no Microsoft Foundry estão disponíveis em duas opções de hospedagem. Você escolhe a opção de hospedagem ao configurar a implantação.

|                               | Hospedado no Azure                                                  | Hospedado na Anthropic                                                                                                                                                                                    |
| ----------------------------- | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Onde a inferência é executada | Serviço operado pela Anthropic executado na infraestrutura do Azure | Serviço operado pela Anthropic executado na infraestrutura da Anthropic                                                                                                                                   |
| Disponibilidade de modelos    | Os modelos mais recentes das famílias Opus, Sonnet e Haiku          | Todos os modelos Claude disponíveis no Microsoft Foundry                                                                                                                                                  |
| Tipos de implantação          | Global Standard, US Data Zone Standard                              | Global Standard                                                                                                                                                                                           |
| Recomendado para              | A maioria das cargas de trabalho                                    | [Acesso a recursos ou modelos ainda não hospedados no Azure](https://platform.claude.com/docs/pt-BR/build-with-claude/claude-in-microsoft-foundry#additional-features-not-supported-when-hosted-on-azure) |

O Claude Sonnet 5.5 oferece suporte apenas a implantações Global Standard.

<Note>
  A Anthropic atua como processadora independente para a Microsoft. Os clientes que usam o Claude por meio do Microsoft Foundry estão sujeitos aos termos de uso de dados da Anthropic. Para implantações hospedadas no Azure, os prompts e as conclusões permanecem dentro do Azure. Apenas os metadados de uso e o conteúdo sinalizado pelos sistemas de segurança da Anthropic são enviados à Anthropic. A Anthropic continua a cumprir seus compromissos de segurança e de dados.
</Note>

## Pré-requisitos

Antes de começar, certifique-se de ter:

* Uma assinatura ativa do Azure
* Acesso ao [portal do Foundry](https://ai.azure.com/)
* A [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) instalada (necessária para os exemplos de cURL e CLI com Entra ID, opcional nos demais casos)
* Uma função RBAC do Azure que permita usar o recurso, como **Foundry User** (anteriormente Azure AI User) ou **Cognitive Services User**

## Instalar um SDK

Os [SDKs de cliente](https://platform.claude.com/docs/pt-BR/cli-sdks-libraries/overview) da Anthropic oferecem suporte ao Foundry por meio de um pacote ou classe de cliente específicos da plataforma. Os exemplos nesta página também mostram requisições com cURL e com a CLI ant. Para configurar a CLI, consulte o [início rápido da CLI](https://platform.claude.com/docs/pt-BR/cli-sdks-libraries/cli/quickstart).

<Note>
  O Foundry é suportado pelos SDKs de C#, Go, Java, PHP, Python e TypeScript. O Foundry não está disponível atualmente no SDK de Ruby.
</Note>

<Tabs>
  <Tab title="Python">
    ```bash
    pip install -U "anthropic"

    # Para autenticação com Entra ID, instale também a biblioteca Azure Identity
    pip install azure-identity
    ```
  </Tab>

  <Tab title="TypeScript">
    ```bash
    npm install @anthropic-ai/foundry-sdk

    # Para autenticação com Entra ID, instale também a biblioteca Azure Identity
    npm install @azure/identity
    ```
  </Tab>

  <Tab title="C#">
    ```bash
    dotnet add package Anthropic.Foundry
    ```
  </Tab>

  <Tab title="Go">
    ```bash
    go get github.com/anthropics/anthropic-sdk-go/foundry

    # Para autenticação com Entra ID, instale também a biblioteca Azure Identity
    go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
    ```
  </Tab>

  <Tab title="Java">
    <Tabs>
      <Tab title="Gradle">
        ```kotlin
        implementation("com.anthropic:anthropic-java:2.73.0")
        implementation("com.anthropic:anthropic-java-foundry:2.73.0")

        // Para autenticação com Entra ID, adicione também a biblioteca Azure Identity
        implementation("com.azure:azure-identity:1.18.3")
        ```
      </Tab>

      <Tab title="Maven">
        ```xml
        <dependency>
            <groupId>com.anthropic</groupId>
            <artifactId>anthropic-java</artifactId>
            <version>2.73.0</version>
        </dependency>
        <dependency>
            <groupId>com.anthropic</groupId>
            <artifactId>anthropic-java-foundry</artifactId>
            <version>2.73.0</version>
        </dependency>
        <!-- For Entra ID authentication, also add the Azure Identity library -->
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-identity</artifactId>
            <version>1.18.3</version>
        </dependency>
        ```
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="PHP">
    ```bash
    composer require "anthropic-ai/sdk" "guzzlehttp/guzzle:^7"
    ```
  </Tab>

  <Tab title="Ruby">
    ```bash
    # O SDK Ruby ainda não oferece suporte nativo ao Foundry (veja os exemplos de
    # Authentication para usar o SDK Ruby padrão como alternativa)
    # Gemfile
    gem "anthropic"
    ```
  </Tab>
</Tabs>

## Provisionamento

O Foundry usa uma hierarquia de dois níveis: os **recursos** contêm sua configuração de segurança e cobrança, enquanto as **implantações** são as instâncias de modelo que você chama por meio da API. Primeiro você criará um recurso do Foundry e, em seguida, criará uma ou mais implantações do Claude dentro dele.

### Provisionando recursos do Foundry

Crie um recurso do Foundry, que é necessário para usar e gerenciar serviços no Azure. Você pode seguir estas instruções para criar um [recurso do Foundry](https://learn.microsoft.com/en-us/azure/ai-services/multi-service-resource?pivots=azportal#create-a-new-azure-ai-foundry-resource). Como alternativa, você pode começar criando um [projeto do Foundry](https://learn.microsoft.com/en-us/azure/foundry/how-to/create-projects), o que envolve a criação de um recurso do Foundry.

Para provisionar seu recurso:

1. Navegue até o [portal do Foundry](https://ai.azure.com/).
2. Crie um novo recurso do Foundry ou selecione um existente.
3. Configure o gerenciamento de acesso usando chaves de API emitidas pelo Azure ou o Entra ID (anteriormente Azure Active Directory) para controle de acesso baseado em função.
4. Opcionalmente, configure o recurso para fazer parte de uma rede privada (Azure Virtual Network) para restringir o acesso de rede ao seu recurso.
5. Anote o nome do seu recurso. Você o usará como `{resource}` nos endpoints da API (por exemplo, `https://{resource}.services.ai.azure.com/anthropic/v1/*`).

### Criando implantações do Foundry

Depois de criar seu recurso, implante um modelo Claude para disponibilizá-lo para chamadas de API. Estas etapas descrevem o novo portal do Foundry (com a opção **New Foundry** ativada):

1. Entre no portal do Foundry. Na página inicial do portal, selecione **Discover** na navegação superior direita e, em seguida, **Models** no painel esquerdo para abrir o catálogo de modelos.

2. Pesquise e selecione um modelo Claude (por exemplo, claude-opus-5-5). Cada modelo aparece uma vez no catálogo, independentemente de quantas opções de hospedagem ele suporta.

3. No cartão do modelo, selecione **Deploy** e, em seguida, **Custom settings** para abrir o painel de configurações da implantação. Se você escolher **Default settings**, a implantação será configurada automaticamente como Hospedado no Azure para modelos disponíveis em ambas as opções de hospedagem.

4. Na sua primeira implantação do Claude, revise os termos do Azure Marketplace, selecione um setor e selecione **Agree and Proceed** para aceitar os termos e assinar a oferta do Azure Marketplace.

5. Configure a implantação:

   * **Deployment name:** O padrão é o ID do modelo, mas você pode personalizá-lo (por exemplo, `my-claude-deployment`). O nome da implantação não pode ser alterado após a criação.
   * **Region scope:** Selecione Global ou, para modelos hospedados no Azure, Data Zone. Selecionar Data Zone cria uma implantação US Data Zone Standard, que mantém a inferência dentro dos Estados Unidos e equivale a definir [`inference_geo: "us"`](https://platform.claude.com/docs/pt-BR/manage-claude/data-residency#inference-geo) na Claude API. Para o Claude Sonnet 5.5, selecione Global.
   * **Model version:** Expanda **Model version settings** e selecione uma versão no menu suspenso **Model version**. Cada [opção de hospedagem](https://platform.claude.com/docs/pt-BR/build-with-claude/claude-in-microsoft-foundry#hosting-options) é listada como uma versão de modelo separada, identificada com sua opção de hospedagem (por exemplo, versão 1 para Hospedado na Anthropic, versão 2 para Hospedado no Azure).

6. Selecione **Deploy** e aguarde a conclusão do provisionamento.

7. Após a implantação, selecione **Build** na navegação superior direita e, em seguida, **Models** no painel esquerdo, e abra sua implantação. A aba **Details** mostra o **Target URI** (a URL do seu endpoint) e a **Key** (sua chave de API).

Se a opção **New Foundry** estiver desativada, você está no layout clássico do portal. Nele, abra **Model catalog** no painel esquerdo para encontrar e implantar um modelo, e abra **Models + endpoints** (em **My assets**) para visualizar suas implantações e os detalhes de seus endpoints.

<Note>
  O nome de implantação que você escolher se torna o valor que você passa no parâmetro `model` das suas requisições de API. Você pode criar várias implantações do mesmo modelo com nomes diferentes para gerenciar configurações ou "rate limits" (limites de taxa) separados.
</Note>

## Autenticação

O Claude no Microsoft Foundry oferece suporte a dois métodos de autenticação: chaves de API e tokens do Entra ID. Ambos os métodos usam endpoints hospedados no Azure no formato `https://{resource}.services.ai.azure.com/anthropic/v1/*`.

### Autenticação com chave de API

Depois de provisionar seu recurso do Claude no Foundry, você pode obter uma chave de API no portal do Foundry:

1. No portal do Foundry, selecione **Build** na navegação superior direita e, em seguida, **Models** no painel esquerdo.
2. Abra sua implantação do Claude e selecione a aba **Details**.
3. Copie o valor de **Key** (e anote o **Target URI** do seu endpoint).
4. Use o cabeçalho `api-key` ou `x-api-key` nas suas requisições, ou forneça-a ao SDK.

O cliente Foundry do SDK requer uma chave de API e um nome de recurso ou uma URL base, e os lê automaticamente das seguintes variáveis de ambiente, se estiverem definidas:

* `ANTHROPIC_FOUNDRY_API_KEY` - Sua chave de API
* `ANTHROPIC_FOUNDRY_RESOURCE` - O nome do seu recurso (por exemplo, `example-resource`)
* `ANTHROPIC_FOUNDRY_BASE_URL` - Alternativa ao nome do recurso: a URL base completa (por exemplo, `https://example-resource.services.ai.azure.com/anthropic/`). O SDK de C# não lê essa variável: ele sempre constrói a URL base a partir do nome do recurso.

<Note>
  Os parâmetros `resource` e `base_url` são mutuamente exclusivos. Forneça o nome do recurso (que o SDK usa para construir a URL como `https://{resource}.services.ai.azure.com/anthropic/`) ou a URL base completa diretamente.
</Note>

**Exemplo usando chave de API:**

<CodeGroup>
  ```bash cURL
  curl https://{resource}.services.ai.azure.com/anthropic/v1/messages \
    -H "content-type: application/json" \
    -H "api-key: YOUR_AZURE_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -d '{
      "model": "claude-opus-5-5",
      "max_tokens": 1024,
      "messages": [
        {"role": "user", "content": "Hello!"}
      ]
    }'
  ```

  ```bash CLI
  # ant lê ANTHROPIC_API_KEY e o envia como x-api-key, que o Foundry aceita
  export ANTHROPIC_API_KEY="YOUR_AZURE_API_KEY"

  ant messages create \
    --base-url https://example-resource.services.ai.azure.com/anthropic \
    --model claude-opus-5-5 \
    --max-tokens 1024 \
    --message '{role: user, content: "Hello!"}' \
    --transform content
  ```

  ```python Python
  import os
  from anthropic import AnthropicFoundry

  client = AnthropicFoundry(
      api_key=os.environ.get("ANTHROPIC_FOUNDRY_API_KEY"),
      resource="example-resource",  # your resource name
  )

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

  ```typescript TypeScript
  import AnthropicFoundry from "@anthropic-ai/foundry-sdk";

  const client = new AnthropicFoundry({
    apiKey: process.env.ANTHROPIC_FOUNDRY_API_KEY,
    resource: "example-resource" // your resource name
  });

  const message = await client.messages.create({
    model: "claude-opus-5-5",
    max_tokens: 1024,
    messages: [{ role: "user", content: "Hello!" }]
  });
  console.log(message.content);
  ```

  ```csharp C#
  using Anthropic.Foundry;
  using Anthropic.Models.Messages;

  // O cliente C# sempre monta a URL base a partir do nome do recurso.
  // Ele não lê ANTHROPIC_FOUNDRY_BASE_URL.
  var client = new AnthropicFoundryClient(
      new AnthropicFoundryApiKeyCredentials(
          Environment.GetEnvironmentVariable("ANTHROPIC_FOUNDRY_API_KEY")!,
          "example-resource"
      )
  );

  var response = await client.Messages.Create(new MessageCreateParams
  {
      Model = "claude-opus-5-5",
      MaxTokens = 1024,
      Messages = [new() { Role = Role.User, Content = "Hello!" }],
  });

  Console.WriteLine(
      string.Join("", response.Content
          .Select(block => block.Value)
          .OfType<TextBlock>()
          .Select(textBlock => textBlock.Text)));
  ```

  ```go Go
  package main

  import (
  	"context"
  	"fmt"
  	"os"

  	"github.com/anthropics/anthropic-sdk-go"
  	"github.com/anthropics/anthropic-sdk-go/foundry"
  )

  func main() {
  	client, err := foundry.NewClient(foundry.ClientConfig{
  		APIKey:   os.Getenv("ANTHROPIC_FOUNDRY_API_KEY"),
  		Resource: "example-resource", // your resource name
  	})
  	if err != nil {
  		panic(err)
  	}

  	message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
  		Model:     "claude-opus-5-5",
  		MaxTokens: 1024,
  		Messages: []anthropic.MessageParam{
  			anthropic.NewUserMessage(anthropic.NewTextBlock("Hello!")),
  		},
  	})
  	if err != nil {
  		panic(err)
  	}
  	fmt.Println(message.Content)
  }
  ```

  ```java Java
  import com.anthropic.client.AnthropicClient;
  import com.anthropic.client.okhttp.AnthropicOkHttpClient;
  import com.anthropic.foundry.backends.FoundryBackend;
  import com.anthropic.models.messages.MessageCreateParams;

  void main() {
      // Requer as variáveis de ambiente: ANTHROPIC_FOUNDRY_API_KEY, ANTHROPIC_FOUNDRY_RESOURCE
      AnthropicClient client = AnthropicOkHttpClient.builder()
          .backend(FoundryBackend.fromEnv())
          .build();

      MessageCreateParams params = MessageCreateParams.builder()
          .model("claude-opus-5-5")
          .maxTokens(1024)
          .addUserMessage("Hello!")
          .build();

      client.messages().create(params).content().stream()
          .flatMap(block -> block.text().stream())
          .forEach(textBlock -> IO.println(textBlock.text()));
  }
  ```

  ```php PHP
  use Anthropic\Foundry;

  $client = Foundry\Client::withCredentials(
      apiKey: getenv('ANTHROPIC_FOUNDRY_API_KEY'),
      baseUrl: 'https://example-resource.services.ai.azure.com/anthropic',
  );

  $message = $client->messages->create(
      maxTokens: 1024,
      messages: [
          ['role' => 'user', 'content' => 'Hello!']
      ],
      model: 'claude-opus-5-5',
  );
  echo array_find($message->content, fn ($block) => $block->type === 'text')->text;
  ```

  ```ruby Ruby
  # O SDK Ruby ainda não oferece suporte nativo ao Foundry. Este exemplo usa o
  # SDK Ruby padrão como alternativa. Passe as credenciais explicitamente: sem
  # elas, o cliente recorre às variáveis de ambiente ANTHROPIC_API_KEY ou
  # ANTHROPIC_AUTH_TOKEN e pode enviar uma credencial da Claude API
  # ao seu endpoint do Foundry. Recursos que o Foundry
  # não suporta falham no servidor, e não no cliente. Para suporte completo
  # ao Foundry, use os SDKs de C#, Go, Java, PHP, Python ou TypeScript.
  require "anthropic"

  client = Anthropic::Client.new(
    base_url: "https://example-resource.services.ai.azure.com/anthropic",
    api_key: ENV.fetch("ANTHROPIC_FOUNDRY_API_KEY")
  )

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

  puts message.content.find { it.type == :text }.text
  ```
</CodeGroup>

<Warning>
  Mantenha suas chaves de API seguras. Nunca as envie para o controle de versão nem as compartilhe publicamente. Qualquer pessoa com acesso à sua chave de API pode fazer requisições ao Claude por meio do seu recurso do Foundry.
</Warning>

### Autenticação com Microsoft Entra

A autenticação com Entra ID permite gerenciar o acesso com o Azure RBAC, integrar-se ao gerenciamento de identidades da sua organização e evitar o manuseio manual de chaves de API. Para usar tokens do Entra ID:

1. Habilite a [autenticação com Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/ai-foundry/model-inference/how-to/configure-entra-id) para o seu recurso do Foundry.
2. Obtenha um token de acesso do Entra ID.
3. Use o token no cabeçalho `Authorization: Bearer {TOKEN}`.

**Exemplo usando Entra ID:**

<CodeGroup>
  ```bash cURL
  # Obter token do Microsoft Entra ID
  ACCESS_TOKEN=$(az account get-access-token --resource https://ai.azure.com --query accessToken -o tsv)

  # Faça a requisição com o token. Substitua {resource} pelo nome do seu recurso
  curl https://{resource}.services.ai.azure.com/anthropic/v1/messages \
    -H "content-type: application/json" \
    -H "Authorization: Bearer $ACCESS_TOKEN" \
    -H "anthropic-version: 2023-06-01" \
    -d '{
      "model": "claude-opus-5-5",
      "max_tokens": 1024,
      "messages": [
        {"role": "user", "content": "Hello!"}
      ]
    }'
  ```

  ```bash CLI
  # Obter token do Microsoft Entra ID
  ACCESS_TOKEN=$(az account get-access-token --resource https://ai.azure.com --query accessToken -o tsv)

  # Fazer a requisição com o token. Substitua {resource} pelo nome do seu recurso
  # env -u remove ANTHROPIC_API_KEY, que a CLI enviaria no lugar do token
  env -u ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKEN="$ACCESS_TOKEN" ant messages create \
    --base-url https://{resource}.services.ai.azure.com/anthropic \
    --model claude-opus-5-5 \
    --max-tokens 1024 \
    --message '{role: user, content: "Hello!"}'
  ```

  ```python Python
  from anthropic import AnthropicFoundry
  from azure.identity import DefaultAzureCredential, get_bearer_token_provider

  # Obtém o token do Microsoft Entra ID usando o padrão de provedor de token
  token_provider = get_bearer_token_provider(
      DefaultAzureCredential(), "https://ai.azure.com/.default"
  )

  # Cria o cliente com autenticação do Entra ID
  client = AnthropicFoundry(
      resource="example-resource",  # your resource name
      azure_ad_token_provider=token_provider,  # Use token provider for Entra ID auth
  )

  # Faz a requisição
  message = client.messages.create(
      model="claude-opus-5-5",
      max_tokens=1024,
      messages=[{"role": "user", "content": "Hello!"}],
  )
  print(message.content)
  ```

  ```typescript TypeScript
  import AnthropicFoundry from "@anthropic-ai/foundry-sdk";
  import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";

  // Obter token do Entra ID usando o padrão de provedor de token
  const credential = new DefaultAzureCredential();
  const tokenProvider = getBearerTokenProvider(credential, "https://ai.azure.com/.default");

  // Criar cliente com autenticação do Entra ID
  const client = new AnthropicFoundry({
    resource: "example-resource", // your resource name
    azureADTokenProvider: tokenProvider // Use token provider for Entra ID auth
  });

  // Fazer a requisição
  const message = await client.messages.create({
    model: "claude-opus-5-5",
    max_tokens: 1024,
    messages: [{ role: "user", content: "Hello!" }]
  });
  console.log(message.content);
  ```

  ```csharp C#
  using Anthropic.Foundry;
  using Anthropic.Models.Messages;
  using Azure.Identity;

  var client = new AnthropicFoundryClient(
      new AnthropicFoundryIdentityTokenCredentials(
          new DefaultAzureCredential(),
          "example-resource"
      )
  );

  var response = await client.Messages.Create(new MessageCreateParams
  {
      Model = "claude-opus-5-5",
      MaxTokens = 1024,
      Messages = [new() { Role = Role.User, Content = "Hello!" }],
  });

  Console.WriteLine(
      string.Join("", response.Content
          .Select(block => block.Value)
          .OfType<TextBlock>()
          .Select(textBlock => textBlock.Text)));
  ```

  ```go Go
  package main

  import (
  	"context"
  	"fmt"

  	"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
  	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
  	"github.com/anthropics/anthropic-sdk-go"
  	"github.com/anthropics/anthropic-sdk-go/foundry"
  )

  func main() {
  	credential, err := azidentity.NewDefaultAzureCredential(nil)
  	if err != nil {
  		panic(err)
  	}

  	tokenProvider := func(ctx context.Context) (string, error) {
  		token, err := credential.GetToken(ctx, policy.TokenRequestOptions{
  			Scopes: []string{foundry.EntraIDScope},
  		})
  		return token.Token, err
  	}

  	client, err := foundry.NewClient(foundry.ClientConfig{
  		Resource:             "example-resource", // your resource name
  		AzureADTokenProvider: tokenProvider,
  	})
  	if err != nil {
  		panic(err)
  	}

  	message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
  		Model:     "claude-opus-5-5",
  		MaxTokens: 1024,
  		Messages: []anthropic.MessageParam{
  			anthropic.NewUserMessage(anthropic.NewTextBlock("Hello!")),
  		},
  	})
  	if err != nil {
  		panic(err)
  	}
  	fmt.Println(message.Content)
  }
  ```

  ```java Java
  import com.anthropic.client.AnthropicClient;
  import com.anthropic.client.okhttp.AnthropicOkHttpClient;
  import com.anthropic.foundry.backends.FoundryBackend;
  import com.anthropic.models.messages.MessageCreateParams;
  import com.azure.identity.AuthenticationUtil;
  import com.azure.identity.DefaultAzureCredentialBuilder;
  import java.util.function.Supplier;

  void main() {
      Supplier<String> bearerTokenSupplier = AuthenticationUtil.getBearerTokenSupplier(
          new DefaultAzureCredentialBuilder().build(),
          "https://ai.azure.com/.default"
      );

      AnthropicClient client = AnthropicOkHttpClient.builder()
          .backend(FoundryBackend.builder()
              .bearerTokenSupplier(bearerTokenSupplier)
              .resource("example-resource")
              .build())
          .build();

      MessageCreateParams params = MessageCreateParams.builder()
          .model("claude-opus-5-5")
          .maxTokens(1024)
          .addUserMessage("Hello!")
          .build();

      client.messages().create(params).content().stream()
          .flatMap(block -> block.text().stream())
          .forEach(textBlock -> IO.println(textBlock.text()));
  }
  ```

  ```php PHP
  use Anthropic\Foundry;

  // Obtenha um token de acesso do Entra ID, por exemplo usando a Azure CLI:
  //   az account get-access-token --resource https://ai.azure.com \
  //     --query accessToken -o tsv
  $token = getenv('AZURE_ACCESS_TOKEN');

  $client = Foundry\Client::withCredentials(
      authToken: $token,
      baseUrl: 'https://example-resource.services.ai.azure.com/anthropic',
  );

  $message = $client->messages->create(
      maxTokens: 1024,
      messages: [
          ['role' => 'user', 'content' => 'Hello!']
      ],
      model: 'claude-opus-5-5',
  );
  echo array_find($message->content, fn ($block) => $block->type === 'text')->text;
  ```

  ```ruby Ruby
  # O SDK Ruby ainda não oferece suporte nativo ao Foundry. Este exemplo usa o
  # SDK Ruby padrão como alternativa, com um token estático do Entra ID: a renovação
  # automática de tokens não está incluída, então sua aplicação deve renovar os tokens
  # por conta própria (eles geralmente expiram após 1 hora). Passe as credenciais explicitamente:
  # sem elas, o cliente recorre às variáveis de ambiente ANTHROPIC_API_KEY ou
  # ANTHROPIC_AUTH_TOKEN. Para suporte completo ao Foundry, use
  # os SDKs de C#, Go, Java, PHP, Python ou TypeScript.
  require "anthropic"

  # Obtenha um token de acesso do Entra ID, por exemplo usando a Azure CLI:
  #   az account get-access-token --resource https://ai.azure.com \
  #     --query accessToken -o tsv
  client = Anthropic::Client.new(
    base_url: "https://example-resource.services.ai.azure.com/anthropic",
    auth_token: ENV.fetch("AZURE_ACCESS_TOKEN")
  )

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

  puts message.content.find { it.type == :text }.text
  ```
</CodeGroup>

## IDs de requisição de correlação

O Foundry inclui identificadores de requisição nos cabeçalhos de resposta HTTP para depuração e rastreamento. Ao entrar em contato com o suporte, forneça os valores de `request-id` e `apim-request-id` (Azure API Management) para ajudar as equipes a localizar e investigar rapidamente sua requisição nos sistemas da Anthropic e do Azure.

## Suporte a recursos

O Claude no Microsoft Foundry oferece suporte à maioria dos recursos do Claude. Você pode encontrar todos os recursos atualmente suportados na [Visão geral dos recursos](https://platform.claude.com/docs/pt-BR/build-with-claude/overview).

### Janela de contexto

Claude Fable 5.1, Claude Fable 5, Claude Opus 5.5, Claude Opus 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5.5, Claude Sonnet 5, Claude Sonnet 4.6 e Claude Haiku 5.5 têm uma [janela de contexto de 1M de tokens](https://platform.claude.com/docs/pt-BR/build-with-claude/context-windows) no Microsoft Foundry. Outros modelos Claude, incluindo o Claude Sonnet 4.5 (descontinuado), têm uma janela de contexto de 200 mil tokens.

### Recursos do Claude não suportados para o Claude no Microsoft Foundry

* Admin API
* Ferramenta Advisor
* Claude Managed Agents
* Compliance API
* Models API
* Message Batches API
* Fallback do lado do servidor (o [parâmetro `fallbacks`](https://platform.claude.com/docs/pt-BR/build-with-claude/refusals-and-fallback#server-side-fallback); use o [padrão de fallback do lado do cliente](https://platform.claude.com/docs/pt-BR/build-with-claude/refusals-and-fallback#client-side-fallback) em vez disso)
* Conjuntos de ferramentas de [uso do computador](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/computer-use-tool) e de [uso do navegador](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/browser-use-tool) (`computer_toolset_20260801` e `browser_toolset_20260801` não estão disponíveis atualmente no Microsoft Foundry; as versões beta da ferramenta de uso do computador continuam disponíveis para os modelos listados em [Versões anteriores da ferramenta](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/computer-use-tool#earlier-tool-versions))

### Recursos adicionais não suportados quando hospedado no Azure

Os seguintes recursos estão disponíveis para implantações hospedadas na Anthropic, mas não são suportados para implantações hospedadas no Azure:

* [Execução de código](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/code-execution-tool)
* Versões das ferramentas de [busca na web](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/web-search-tool) e [web fetch](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/web-fetch-tool) posteriores a `web_search_20250305` e `web_fetch_20250910`. As implantações hospedadas no Azure suportam apenas essas versões básicas, portanto a filtragem dinâmica, a inclusão de resposta e o bypass de cache não estão disponíveis.
* [Agent Skills](https://platform.claude.com/docs/pt-BR/agents-and-tools/agent-skills/overview)
* [Chamada programática de ferramentas](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/programmatic-tool-calling)
* [Files API](https://platform.claude.com/docs/pt-BR/build-with-claude/files)

Requisições que usam esses recursos em uma implantação hospedada no Azure retornam um erro `400 Bad Request` intencionalmente. O Claude Code detecta implantações hospedadas no Azure e adapta automaticamente seu conjunto de recursos.

## Respostas da API

As respostas da API do Claude no Microsoft Foundry seguem o [formato de resposta padrão da Claude API](https://platform.claude.com/docs/pt-BR/api/messages/create). Isso inclui o objeto `usage` nos corpos de resposta, que fornece informações detalhadas sobre o consumo de tokens das suas requisições. O objeto `usage` é consistente em todas as plataformas (Claude API, Amazon Bedrock, Claude Platform na AWS, Foundry e Google Cloud).

Para detalhes sobre cabeçalhos de resposta específicos do Foundry, consulte [IDs de requisição de correlação](https://platform.claude.com/docs/pt-BR/build-with-claude/claude-in-microsoft-foundry#correlation-request-ids).

## IDs de modelo da API e implantações

Os termos de ciclo de vida ("Deprecated" (Descontinuado), "Retired" (Desativado)) são definidos em [Descontinuações de modelos](https://platform.claude.com/docs/pt-BR/about-claude/model-deprecations). O Microsoft Foundry segue o cronograma de ciclo de vida da Claude API.

Os seguintes modelos Claude estão disponíveis por meio do Foundry:

| Model                                                                                                    | Default deployment name | Hosted on Azure | Hosted on Anthropic |
| :------------------------------------------------------------------------------------------------------- | :---------------------- | :-------------: | :-----------------: |
| Claude Fable 5.1                                                                                         | `claude-fable-5-1`      |                 |          ✓          |
| Claude Mythos 5.1 ([limited availability](https://support.claude.com/en/articles/14604842))              | `claude-mythos-5-1`     |                 |          ✓          |
| Claude Fable 5                                                                                           | `claude-fable-5`        |                 |          ✓          |
| Claude Mythos 5 ([limited availability](https://support.claude.com/en/articles/14604842))                | `claude-mythos-5`       |                 |          ✓          |
| Claude Opus 5.5                                                                                          | `claude-opus-5-5`       |        ✓        |          ✓          |
| Claude Opus 5                                                                                            | `claude-opus-5`         |        ✓        |          ✓          |
| Claude Opus 4.8                                                                                          | `claude-opus-4-8`       |        ✓        |          ✓          |
| Claude Opus 4.7                                                                                          | `claude-opus-4-7`       |                 |          ✓          |
| Claude Opus 4.6                                                                                          | `claude-opus-4-6`       |                 |          ✓          |
| Claude Opus 4.5                                                                                          | `claude-opus-4-5`       |                 |          ✓          |
| Claude Sonnet 5.5                                                                                        | `claude-sonnet-5-5`     |        ✓        |          ✓          |
| Claude Sonnet 5                                                                                          | `claude-sonnet-5`       |        ✓        |          ✓          |
| Claude Sonnet 4.6                                                                                        | `claude-sonnet-4-6`     |                 |          ✓          |
| Claude Sonnet 4.5 ([deprecated](https://platform.claude.com/docs/pt-BR/about-claude/model-deprecations)) | `claude-sonnet-4-5`     |                 |          ✓          |
| Claude Haiku 5.5                                                                                         | `claude-haiku-5-5`      |        ✓        |          ✓          |
| Claude Haiku 4.5                                                                                         | `claude-haiku-4-5`      |        ✓        |          ✓          |

Por padrão, os nomes de implantação correspondem aos IDs de modelo mostrados na tabela anterior. No entanto, você pode criar implantações personalizadas com nomes diferentes no portal do Foundry para gerenciar diferentes configurações, versões ou limites de taxa. Use o nome da implantação (não necessariamente o ID do modelo) nas suas requisições de API.

<Info>
  O [Claude Mythos Preview](https://anthropic.com/glasswing) é uma prévia de pesquisa disponível para clientes convidados no Microsoft Foundry.
</Info>

<Tip>
  Atualizando para um modelo Claude mais recente? No Claude Code, execute `/claude-api migrate` para aplicar trocas de ID de modelo e alterações de parâmetros incompatíveis em toda a sua base de código. A skill detecta qual plataforma de nuvem seu código tem como alvo e ajusta os formatos de ID de modelo e as alterações de recursos para essa plataforma. Consulte [Migrando para um modelo Claude mais recente](https://platform.claude.com/docs/pt-BR/agents-and-tools/agent-skills/claude-api-skill#migrating-to-a-newer-claude-model).
</Tip>

## Cobrança

O Claude no Microsoft Foundry é cobrado por meio do [Azure Marketplace](https://azuremarketplace.microsoft.com/). O uso é denominado em Claude Consumption Units (CCUs), medido por hora e faturado mensalmente de forma postecipada na sua fatura do Azure. As CCUs não são créditos pré-pagos. Não há saldo nem compromisso de CCUs.

Para o preço da CCU, a mecânica de conversão e as taxas de tokens por modelo, consulte [preços do Claude no Microsoft Foundry](https://platform.claude.com/docs/pt-BR/about-claude/pricing#claude-in-microsoft-foundry-pricing).

## Migrando entre opções de hospedagem

Para mover uma implantação existente de uma opção de hospedagem para a outra:

1. Crie uma nova implantação da outra versão de hospedagem do modelo (Hospedado no Azure ou Hospedado na Anthropic). Ela pode estar no mesmo recurso do Foundry ou em um novo.
2. Atualize sua aplicação para passar o novo nome de implantação no parâmetro `model`.
3. Exclua a implantação antiga depois que o tráfego tiver sido migrado.

Se a nova implantação estiver no mesmo recurso do Foundry, a URL do seu endpoint e a autenticação permanecem inalteradas. Se você criou um novo recurso, atualize o endpoint e as credenciais da sua aplicação para apontar para ele.

## Monitoramento e registro de logs

O Azure fornece monitoramento e registro de logs para o seu uso do Claude por meio de padrões padrão do Azure:

* **Azure Monitor:** Acompanhe o uso da API, a latência e as taxas de erro
* **Azure Log Analytics:** Consulte e analise logs de requisição/resposta
* **Cost Management:** Monitore e preveja os custos associados ao uso do Claude

A Anthropic recomenda registrar sua atividade em uma base contínua de pelo menos 30 dias para entender os padrões de uso e investigar possíveis problemas.

<Note>
  Os serviços de registro de logs do Azure são configurados dentro da sua assinatura do Azure. Habilitar o registro de logs não fornece à Microsoft ou à Anthropic acesso ao seu conteúdo além do necessário para cobrança e operação do serviço.
</Note>

## Solução de problemas

### Erros de autenticação

**Erro:** `401 Unauthorized` ou `Invalid API key`

* **Solução:** Verifique se sua chave de API está correta. Você pode encontrá-la no portal do Foundry na aba **Details** da sua implantação (em **Build** > **Models**).
* **Solução:** Se estiver usando o Microsoft Entra ID, certifique-se de que seu token de acesso é válido e não expirou. Os tokens normalmente expiram após 1 hora.

**Erro:** `403 Forbidden`

* **Solução:** Sua conta do Azure pode não ter as permissões necessárias. Certifique-se de ter a função RBAC do Azure apropriada atribuída (por exemplo, **Foundry User** (anteriormente Azure AI User) ou **Cognitive Services User**).

### Limitação de taxa

**Erro:** `429 Too Many Requests`

* **Solução:** Você excedeu seu "rate limit" (limite de taxa). Implemente backoff exponencial e lógica de repetição na sua aplicação.
* **Solução:** Considere solicitar aumentos de limite de taxa por meio do portal do Azure ou do suporte do Azure.

#### Cabeçalhos de limite de taxa

O Foundry não inclui os cabeçalhos padrão de limite de taxa da Anthropic (`anthropic-ratelimit-tokens-limit`, `anthropic-ratelimit-tokens-remaining`, `anthropic-ratelimit-tokens-reset`, `anthropic-ratelimit-input-tokens-limit`, `anthropic-ratelimit-input-tokens-remaining`, `anthropic-ratelimit-input-tokens-reset`, `anthropic-ratelimit-output-tokens-limit`, `anthropic-ratelimit-output-tokens-remaining` e `anthropic-ratelimit-output-tokens-reset`) nas respostas. Em vez disso, gerencie a limitação de taxa por meio das ferramentas de monitoramento do Azure.

### Erros de modelo e implantação

**Erro:** `Model not found` ou `Deployment not found`

* **Solução:** Verifique se você está usando o nome de implantação correto. Se você não criou uma implantação personalizada, use o ID de modelo padrão (por exemplo, claude-opus-5-5).
* **Solução:** Certifique-se de que o modelo/implantação está disponível na sua região do Azure.

**Erro:** `Invalid model parameter`

* **Solução:** O parâmetro model deve conter o nome da sua implantação, que pode ser personalizado no portal do Foundry. Verifique se a implantação existe e está configurada corretamente.

## Próximos passos

<CardGroup cols={2}>
  <Card title="Visão geral dos recursos" icon="stack" href="https://platform.claude.com/docs/pt-BR/build-with-claude/overview">
    Explore os recursos e capacidades avançados do Claude.
  </Card>

  <Card title="Preços" icon="chart" href="https://platform.claude.com/docs/pt-BR/about-claude/pricing#claude-in-microsoft-foundry-pricing">
    Saiba mais sobre a estrutura de preços da Anthropic para modelos e recursos.
  </Card>

  <Card title="Descontinuações de modelos" icon="arrow-clockwise" href="https://platform.claude.com/docs/pt-BR/about-claude/model-deprecations">
    À medida que modelos mais seguros e capazes são lançados, a Anthropic desativa regularmente os mais antigos. Veja todas as descontinuações da API, juntamente com as substituições recomendadas.
  </Card>
</CardGroup>

## Recursos adicionais

<CardGroup cols={2}>
  <Card title="Catálogo de modelos do Foundry" icon="grid" href="https://ai.azure.com/catalog/publishers/anthropic">
    Navegue pelos modelos da Anthropic no catálogo do Foundry.
  </Card>

  <Card title="Preços do Azure AI Foundry" icon="calculator" href="https://azure.microsoft.com/en-us/pricing/details/ai-foundry/#pricing">
    Veja os detalhes de preços da Microsoft para o Azure AI Foundry.
  </Card>

  <Card title="Preços dos modelos" icon="table" href="https://platform.claude.com/docs/pt-BR/about-claude/pricing#model-pricing">
    Veja os detalhes de preços por modelo da Anthropic.
  </Card>

  <Card title="Portal do Azure" icon="cloud" href="https://portal.azure.com/">
    Gerencie seus recursos do Azure.
  </Card>
</CardGroup>
