---
title: Microsoft FoundryのClaude
url: https://platform.claude.com/docs/ja/build-with-claude/claude-in-microsoft-foundry
description: Azureネイティブのエンドポイントと認証を使用して、Microsoft Foundry経由でClaudeモデルにアクセスします。
---

このガイドでは、AnthropicのクライアントSDKのいずれか、または直接のHTTPリクエストを使用して、Microsoft FoundryのClaudeをセットアップし、API呼び出しを行う方法を説明します。Microsoft FoundryでClaudeにアクセスする場合、Claudeの使用料はAzure Marketplaceで請求されます。Claude Fable 5.1、Claude Opus 5.5、Claude Opus 5、Claude Opus 4.8、Claude Sonnet 5.5、Claude Sonnet 5、Claude Haiku 5.5などのClaudeモデルや、[100万トークンの「context window」（コンテキストウィンドウ）](https://platform.claude.com/docs/ja/build-with-claude/context-windows)などの機能を利用しながら、Azureサブスクリプションを通じてコストを管理できます。

Claudeは、FoundryリソースのGlobal StandardおよびUS Data Zone Standardのデプロイメントタイプで利用でき、Azure Marketplaceを通じてClaude Consumption Unitsで請求されます。詳細については、[Microsoft FoundryのClaudeの料金](https://platform.claude.com/docs/ja/about-claude/pricing#claude-in-microsoft-foundry-pricing)を参照してください。

## ホスティングオプション

Microsoft FoundryのClaudeモデルは、2つのホスティングオプションで利用できます。ホスティングオプションはデプロイメントを構成する際に選択します。

|            | Hosted on Azure                          | Hosted on Anthropic                                                                                                                                                       |
| ---------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 推論の実行場所    | Azureインフラストラクチャ上で稼働する、Anthropicが運用するサービス | Anthropicインフラストラクチャ上で稼働する、Anthropicが運用するサービス                                                                                                                              |
| モデルの提供状況   | Opus、Sonnet、Haikuファミリーの最新モデル             | Microsoft Foundryで利用可能なすべてのClaudeモデル                                                                                                                                      |
| デプロイメントタイプ | Global Standard、US Data Zone Standard    | Global Standard                                                                                                                                                           |
| 推奨される用途    | ほとんどのワークロード                              | [Azureでまだホストされていない機能やモデルへのアクセス](https://platform.claude.com/docs/ja/build-with-claude/claude-in-microsoft-foundry#additional-features-not-supported-when-hosted-on-azure) |

Claude Sonnet 5.5はGlobal Standardデプロイメントのみをサポートしています。

<Note>
  AnthropicはMicrosoftの独立した処理者として機能します。Microsoft Foundryを通じてClaudeを使用するお客様には、Anthropicのデータ使用条件が適用されます。Azureでホストされるデプロイメントの場合、プロンプトと補完はAzure内に留まります。使用状況のメタデータと、Anthropicの安全システムによってフラグが付けられたコンテンツのみがAnthropicに送信されます。Anthropicは引き続き、安全性とデータに関するコミットメントを提供します。
</Note>

## 前提条件

始める前に、以下を準備してください。

* 有効なAzureサブスクリプション
* [Foundryポータル](https://ai.azure.com/)へのアクセス
* [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli)のインストール（Entra IDのcURLの例では必須、それ以外では任意）
* リソースの使用を許可するAzure RBACロール（**Foundry User**（旧Azure AI User）や**Cognitive Services User**など）

## SDKのインストール

Anthropicの[クライアントSDK](https://platform.claude.com/docs/ja/cli-sdks-libraries/overview)は、プラットフォーム固有のパッケージまたはクライアントクラスを通じてFoundryをサポートしています。このページの例では、cURLとant CLIを使用したリクエストも示しています。CLIをセットアップするには、[CLIクイックスタート](https://platform.claude.com/docs/ja/cli-sdks-libraries/cli/quickstart)を参照してください。

<Note>
  Foundryは、C#、Go、Java、PHP、Python、TypeScriptのSDKでサポートされています。Foundryは現在、Ruby SDKでは利用できません。
</Note>

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

    # Entra ID 認証を使用する場合は、Azure Identity ライブラリもインストールしてください
    pip install azure-identity
    ```
  </Tab>

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

    # Entra ID 認証を使用する場合は、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

    # Entra ID 認証を使用する場合は、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")

        // Entra ID 認証を使用する場合は、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
    # Ruby SDK はまだ Foundry をネイティブにサポートしていません（回避策として標準の
    # Ruby SDK を使用する方法は Authentication の例を参照してください）
    # Gemfile
    gem "anthropic"
    ```
  </Tab>
</Tabs>

## プロビジョニング

Foundryは2階層の構造を使用します。**リソース**にはセキュリティと請求の構成が含まれ、**デプロイメント**はAPIを通じて呼び出すモデルインスタンスです。まずFoundryリソースを作成し、次にその中に1つ以上のClaudeデプロイメントを作成します。

### Foundryリソースのプロビジョニング

Azureでサービスを使用および管理するために必要なFoundryリソースを作成します。[Foundryリソース](https://learn.microsoft.com/en-us/azure/ai-services/multi-service-resource?pivots=azportal#create-a-new-azure-ai-foundry-resource)を作成するには、こちらの手順に従ってください。または、Foundryリソースの作成を伴う[Foundryプロジェクト](https://learn.microsoft.com/en-us/azure/foundry/how-to/create-projects)の作成から始めることもできます。

リソースをプロビジョニングするには：

1. [Foundryポータル](https://ai.azure.com/)に移動します。
2. 新しいFoundryリソースを作成するか、既存のリソースを選択します。
3. Azure発行のAPIキー、またはロールベースのアクセス制御のためのEntra ID（旧Azure Active Directory）を使用してアクセス管理を構成します。
4. 必要に応じて、リソースへのネットワークアクセスを制限するために、リソースをプライベートネットワーク（Azure Virtual Network）の一部として構成します。
5. リソース名をメモします。これはAPIエンドポイントで`{resource}`として使用します（例：`https://{resource}.services.ai.azure.com/anthropic/v1/*`）。

### Foundryデプロイメントの作成

リソースを作成したら、Claudeモデルをデプロイして、API呼び出しで利用できるようにします。以下の手順は、新しいFoundryポータル（**New Foundry**トグルがオン）について説明しています。

1. Foundryポータルにサインインします。ポータルのホームページで、右上のナビゲーションにある**Discover**を選択し、左ペインの**Models**を選択してモデルカタログを開きます。

2. Claudeモデル（例：claude-opus-5）を検索して選択します。各モデルは、サポートするホスティングオプションの数に関係なく、カタログに1回だけ表示されます。

3. モデルカードで**Deploy**を選択し、**Custom settings**を選択してデプロイメント設定ペインを開きます。代わりに**Default settings**を選択した場合、両方のホスティングオプションで利用可能なモデルについては、デプロイメントは自動的にHosted on Azureとして構成されます。

4. 最初のClaudeデプロイメントでは、Azure Marketplaceの利用規約を確認し、業種を選択して、**Agree and Proceed**を選択して規約に同意し、Azure Marketplaceのオファーをサブスクライブします。

5. デプロイメントを構成します。

   * **Deployment name:** デフォルトはモデルIDですが、カスタマイズできます（例：`my-claude-deployment`）。デプロイメント名は作成後に変更できません。
   * **Region scope:** Globalを選択するか、Azureでホストされるモデルの場合はData Zoneを選択します。Data Zoneを選択するとUS Data Zone Standardデプロイメントが作成され、推論が米国内に留まります。これはClaude APIで[`inference_geo: "us"`](https://platform.claude.com/docs/ja/manage-claude/data-residency#inference-geo)を設定することと同等です。Claude Sonnet 5.5の場合は、Globalを選択してください。
   * **Model version:** **Model version settings**を展開し、**Model version**ドロップダウンメニューからバージョンを選択します。各[ホスティングオプション](https://platform.claude.com/docs/ja/build-with-claude/claude-in-microsoft-foundry#hosting-options)は個別のモデルバージョンとして一覧表示され、ホスティングオプションのラベルが付いています（例：Hosted on Anthropicはバージョン1、Hosted on Azureはバージョン2）。

6. **Deploy**を選択し、プロビジョニングが完了するまで待ちます。

7. デプロイが完了したら、右上のナビゲーションで**Build**を選択し、左ペインの**Models**を選択して、デプロイメントを開きます。**Details**タブには、**Target URI**（エンドポイントURL）と**Key**（APIキー）が表示されます。

**New Foundry**トグルがオフの場合は、クラシックポータルのレイアウトになっています。その場合は、左ペインの**Model catalog**を開いてモデルを検索・デプロイし、**Models + endpoints**（**My assets**の下）を開いてデプロイメントとそのエンドポイントの詳細を確認します。

<Note>
  選択したデプロイメント名は、APIリクエストの`model`パラメータに渡す値になります。同じモデルに異なる名前で複数のデプロイメントを作成して、個別の構成や「rate limit」（レート制限）を管理できます。
</Note>

## 認証

Microsoft FoundryのClaudeは、APIキーとEntra IDトークンの2つの認証方法をサポートしています。どちらの方法も、`https://{resource}.services.ai.azure.com/anthropic/v1/*`形式のAzureホストのエンドポイントを使用します。

### APIキー認証

Foundry Claudeリソースをプロビジョニングした後、FoundryポータルからAPIキーを取得できます。

1. Foundryポータルで、右上のナビゲーションにある**Build**を選択し、左ペインの**Models**を選択します。
2. Claudeデプロイメントを開き、**Details**タブを選択します。
3. **Key**の値をコピーします（エンドポイントの**Target URI**も控えておきます）。
4. リクエストで`api-key`または`x-api-key`ヘッダーのいずれかを使用するか、SDKに渡します。

SDKのFoundryクライアントには、APIキーと、リソース名またはベースURLのいずれかが必要です。以下の環境変数が定義されている場合は、それらから自動的に読み取ります。

* `ANTHROPIC_FOUNDRY_API_KEY` - APIキー
* `ANTHROPIC_FOUNDRY_RESOURCE` - リソース名（例：`example-resource`）
* `ANTHROPIC_FOUNDRY_BASE_URL` - リソース名の代替：完全なベースURL（例：`https://example-resource.services.ai.azure.com/anthropic/`）。C# SDKはこの変数を読み取りません。常にリソース名からベースURLを構築します。

<Note>
  `resource`パラメータと`base_url`パラメータは相互に排他的です。リソース名（SDKはこれを使用してURLを`https://{resource}.services.ai.azure.com/anthropic/`として構築します）か、完全なベースURLのいずれかを直接指定してください。
</Note>

**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 は ANTHROPIC_API_KEY を読み取り、x-api-key として送信します。Foundry はこれを受け付けます
  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;

  // C# クライアントは常にリソース名からベース URL を構築します。
  // 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() {
      // 必要な環境変数: 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
  # Ruby SDK はまだ Foundry をネイティブにサポートしていません。この例では
  # 回避策として標準の Ruby SDK を使用します。認証情報は明示的に渡してください。渡さない場合、
  # クライアントは ANTHROPIC_API_KEY または
  # ANTHROPIC_AUTH_TOKEN 環境変数にフォールバックし、Claude API の
  # 認証情報を Foundry エンドポイントに送信する可能性があります。Foundry が
  # サポートしていない機能は、クライアント側ではなくサーバー側で失敗します。Foundry を
  # 完全にサポートするには、C#、Go、Java、PHP、Python、または TypeScript の SDK を使用してください。
  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>
  APIキーは安全に保管してください。バージョン管理にコミットしたり、公開したりしないでください。APIキーにアクセスできる人は誰でも、Foundryリソースを通じてClaudeにリクエストを送信できます。
</Warning>

### Microsoft Entra認証

Entra ID認証を使用すると、Azure RBACでアクセスを管理し、組織のID管理と統合し、APIキーを手動で扱う必要がなくなります。Entra IDトークンを使用するには：

1. Foundryリソースで[Microsoft Entra ID認証](https://learn.microsoft.com/en-us/azure/ai-foundry/model-inference/how-to/configure-entra-id)を有効にします。
2. Entra IDからアクセストークンを取得します。
3. `Authorization: Bearer {TOKEN}`ヘッダーでトークンを使用します。

**Entra IDを使用した例：**

<CodeGroup>
  ```bash cURL
  # Microsoft Entra ID トークンを取得します
  ACCESS_TOKEN=$(az account get-access-token --resource https://ai.azure.com --query accessToken -o tsv)

  # トークンを使用してリクエストを送信します。{resource} はご自身のリソース名に置き換えてください
  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
  # ant CLI は --auth-token で bearer トークンを送信できますが、設定済みの
  # ANTHROPIC_API_KEY 環境変数がそれより優先されるため（CLI は
  # コンソールに通知を表示するだけです）、リクエストが誤った認証情報で
  # 認証される可能性があります。Entra ID フローでは、代わりに cURL の例または
  # SDK の例のいずれかを使用してください。
  ```

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

  # トークンプロバイダーパターンを使用して Microsoft Entra ID トークンを取得します
  token_provider = get_bearer_token_provider(
      DefaultAzureCredential(), "https://ai.azure.com/.default"
  )

  # Entra ID 認証を使用してクライアントを作成します
  client = AnthropicFoundry(
      resource="example-resource",  # your resource name
      azure_ad_token_provider=token_provider,  # Use token provider for Entra ID auth
  )

  # リクエストを送信します
  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";

  // トークンプロバイダーパターンを使用して Entra ID トークンを取得します
  const credential = new DefaultAzureCredential();
  const tokenProvider = getBearerTokenProvider(credential, "https://ai.azure.com/.default");

  // Entra ID 認証でクライアントを作成します
  const client = new AnthropicFoundry({
    resource: "example-resource", // your resource name
    azureADTokenProvider: tokenProvider // Use token provider for Entra ID auth
  });

  // リクエストを送信します
  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;

  // Entra ID のアクセストークンを取得します。たとえば 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
  # Ruby SDKはまだFoundryをネイティブにサポートしていません。この例では回避策として
  # 標準のRuby SDKを静的なEntra IDトークンとともに使用します。トークンの自動
  # 更新は組み込まれていないため、アプリケーション側でトークンを更新する必要があります
  # （通常1時間で期限切れになります）。認証情報は明示的に渡してください。
  # 渡さない場合、クライアントはANTHROPIC_API_KEYまたは
  # ANTHROPIC_AUTH_TOKEN環境変数にフォールバックします。Foundryを完全にサポートするには、
  # C#、Go、Java、PHP、Python、またはTypeScriptのSDKを使用してください。
  require "anthropic"

  # Entra IDアクセストークンを取得します（例：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>

## 相関リクエストID

Foundryは、デバッグとトレースのためにHTTPレスポンスヘッダーにリクエスト識別子を含めます。サポートに問い合わせる際は、`request-id`と`apim-request-id`（Azure API Management）の両方の値を提供してください。これにより、チームがAnthropicとAzureの両方のシステムにわたってリクエストを迅速に特定し、調査できるようになります。

## 機能サポート

Microsoft FoundryのClaudeは、ほとんどのClaude機能をサポートしています。現在サポートされているすべての機能は、[機能概要](https://platform.claude.com/docs/ja/build-with-claude/overview)で確認できます。

### コンテキストウィンドウ

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、Claude Haiku 5.5は、Microsoft Foundryで[100万トークンのコンテキストウィンドウ](https://platform.claude.com/docs/ja/build-with-claude/context-windows)を備えています。Claude Sonnet 4.5（非推奨）を含むその他のClaudeモデルは、20万トークンのコンテキストウィンドウを備えています。

### Microsoft FoundryのClaudeでサポートされていないClaude機能

* Admin API
* Advisorツール
* Claude Managed Agents
* Compliance API
* Models API
* Message Batches API
* サーバーサイドフォールバック（[`fallbacks`パラメータ](https://platform.claude.com/docs/ja/build-with-claude/refusals-and-fallback#server-side-fallback)。代わりに[クライアントサイドフォールバックパターン](https://platform.claude.com/docs/ja/build-with-claude/refusals-and-fallback#client-side-fallback)を使用してください）
* [コンピュータ使用](https://platform.claude.com/docs/ja/agents-and-tools/tool-use/computer-use-tool)および[ブラウザ使用](https://platform.claude.com/docs/ja/agents-and-tools/tool-use/browser-use-tool)のツールセット（`computer_toolset_20260801`と`browser_toolset_20260801`は現在Microsoft Foundryでは利用できません。ベータ版のコンピュータ使用ツールのバージョンは、[以前のツールバージョン](https://platform.claude.com/docs/ja/agents-and-tools/tool-use/computer-use-tool#earlier-tool-versions)に記載されているモデルで引き続き利用できます）

### Azureでホストされる場合にサポートされない追加機能

以下の機能は、Anthropicでホストされるデプロイメントでは利用可能ですが、Azureでホストされるデプロイメントではサポートされていません。

* [コード実行](https://platform.claude.com/docs/ja/agents-and-tools/tool-use/code-execution-tool)
* `web_search_20250305`および`web_fetch_20250910`より後の[ウェブ検索](https://platform.claude.com/docs/ja/agents-and-tools/tool-use/web-search-tool)および[ウェブフェッチ](https://platform.claude.com/docs/ja/agents-and-tools/tool-use/web-fetch-tool)ツールのバージョン。Azureでホストされるデプロイメントはこれらの基本バージョンのみをサポートするため、動的フィルタリング、レスポンスの包含、キャッシュバイパスは利用できません。
* [Agent Skills](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/overview)
* [プログラムによるツール呼び出し](https://platform.claude.com/docs/ja/agents-and-tools/tool-use/programmatic-tool-calling)
* [Files API](https://platform.claude.com/docs/ja/build-with-claude/files)

Azureでホストされるデプロイメントに対してこれらの機能を使用するリクエストは、設計上`400 Bad Request`エラーを返します。Claude CodeはAzureでホストされるデプロイメントを検出し、機能セットを自動的に適応させます。

## APIレスポンス

Microsoft FoundryのClaudeからのAPIレスポンスは、標準の[Claude APIレスポンス形式](https://platform.claude.com/docs/ja/api/messages/create)に従います。これには、リクエストの詳細なトークン消費情報を提供するレスポンスボディ内の`usage`オブジェクトが含まれます。`usage`オブジェクトは、すべてのプラットフォーム（Claude API、Amazon Bedrock、Claude Platform on AWS、Foundry、Google Cloud）で一貫しています。

Foundry固有のレスポンスヘッダーの詳細については、[相関リクエストID](https://platform.claude.com/docs/ja/build-with-claude/claude-in-microsoft-foundry#correlation-request-ids)を参照してください。

## APIモデルIDとデプロイメント

ライフサイクル用語（非推奨、廃止済み）は[モデルの非推奨](https://platform.claude.com/docs/ja/about-claude/model-deprecations)で定義されています。Microsoft FoundryはClaude APIのライフサイクルスケジュールに従います。

以下のClaudeモデルが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/ja/about-claude/model-deprecations)) | `claude-sonnet-4-5`     |                 |          ✓          |
| Claude Haiku 5.5                                                                                      | `claude-haiku-5-5`      |        ✓        |          ✓          |
| Claude Haiku 4.5                                                                                      | `claude-haiku-4-5`      |        ✓        |          ✓          |

デフォルトでは、デプロイメント名は上記の表に示されているモデルIDと一致します。ただし、Foundryポータルで異なる名前のカスタムデプロイメントを作成して、異なる構成、バージョン、またはレート制限を管理できます。APIリクエストでは、デプロイメント名（必ずしもモデルIDではありません）を使用してください。

<Info>
  [Claude Mythos Preview](https://anthropic.com/glasswing)は、Microsoft Foundryで招待されたお客様が利用できるリサーチプレビューです。
</Info>

<Tip>
  新しいClaudeモデルにアップグレードしますか？Claude Codeで `/claude-api migrate` を実行すると、コードベース全体にモデルIDの置き換えと互換性のないパラメータ変更を適用できます。このスキルは、コードが対象としているクラウドプラットフォームを検出し、そのプラットフォームに合わせてモデルIDの形式と機能の変更を調整します。[新しいClaudeモデルへの移行](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/claude-api-skill#migrating-to-a-newer-claude-model)を参照してください。
</Tip>

## 請求

Microsoft FoundryのClaudeは、[Azure Marketplace](https://azuremarketplace.microsoft.com/)を通じて請求されます。使用量はClaude Consumption Units（CCU）で表され、1時間ごとに計測され、Azureの請求書で毎月後払いで請求されます。CCUはプリペイドクレジットではありません。CCUの残高やコミットメントはありません。

CCUの価格、換算の仕組み、モデルごとのトークンレートについては、[Microsoft FoundryのClaudeの料金](https://platform.claude.com/docs/ja/about-claude/pricing#claude-in-microsoft-foundry-pricing)を参照してください。

## ホスティングオプション間の移行

既存のデプロイメントを一方のホスティングオプションからもう一方に移行するには：

1. モデルのもう一方のホスティングバージョン（AzureでホストまたはAnthropicでホスト）の新しいデプロイメントを作成します。これは同じFoundryリソース内でも、新しいリソース内でもかまいません。
2. `model`パラメータに新しいデプロイメント名を渡すようにアプリケーションを更新します。
3. トラフィックが移行したら、古いデプロイメントを削除します。

新しいデプロイメントが同じFoundryリソース内にある場合、エンドポイントURLと認証は変更されません。新しいリソースを作成した場合は、アプリケーションのエンドポイントと認証情報をそのリソースを指すように更新してください。

## モニタリングとロギング

Azureは、標準的なAzureのパターンを通じてClaudeの使用状況のモニタリングとロギングを提供します。

* **Azure Monitor：** APIの使用状況、レイテンシ、エラー率を追跡
* **Azure Log Analytics：** リクエスト/レスポンスログのクエリと分析
* **Cost Management：** Claudeの使用に関連するコストの監視と予測

Anthropicは、使用パターンを把握し、潜在的な問題を調査するために、少なくとも30日間のローリングベースでアクティビティをログに記録することを推奨します。

<Note>
  AzureのロギングサービスはAzureサブスクリプション内で構成されます。ロギングを有効にしても、請求とサービス運用に必要な範囲を超えて、MicrosoftまたはAnthropicがお客様のコンテンツにアクセスできるようになることはありません。
</Note>

## トラブルシューティング

### 認証エラー

**エラー：** `401 Unauthorized`または`Invalid API key`

* **解決策：** APIキーが正しいことを確認してください。Foundryポータルのデプロイメントの**Details**タブ（**Build** > **Models**の下）で確認できます。
* **解決策：** Microsoft Entra IDを使用している場合は、アクセストークンが有効で期限切れになっていないことを確認してください。トークンは通常1時間後に期限切れになります。

**エラー：** `403 Forbidden`

* **解決策：** Azureアカウントに必要な権限がない可能性があります。適切なAzure RBACロール（例：**Foundry User**（旧Azure AI User）または**Cognitive Services User**）が割り当てられていることを確認してください。

### レート制限

**エラー：** `429 Too Many Requests`

* **解決策：** レート制限を超えています。アプリケーションに指数バックオフとリトライロジックを実装してください。
* **解決策：** AzureポータルまたはAzureサポートを通じてレート制限の引き上げをリクエストすることを検討してください。

#### レート制限ヘッダー

Foundryは、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`、`anthropic-ratelimit-output-tokens-reset`）をレスポンスに含めません。代わりにAzureのモニタリングツールを通じてレート制限を管理してください。

### モデルとデプロイメントのエラー

**エラー：** `Model not found`または`Deployment not found`

* **解決策：** 正しいデプロイメント名を使用していることを確認してください。カスタムデプロイメントを作成していない場合は、デフォルトのモデルID（例：claude-opus-5）を使用してください。
* **解決策：** モデル/デプロイメントがお使いのAzureリージョンで利用可能であることを確認してください。

**エラー：** `Invalid model parameter`

* **解決策：** modelパラメータにはデプロイメント名を含める必要があります。デプロイメント名はFoundryポータルでカスタマイズできます。デプロイメントが存在し、正しく構成されていることを確認してください。

## 次のステップ

<CardGroup cols={2}>
  <Card title="機能概要" icon="stack" href="https://platform.claude.com/docs/ja/build-with-claude/overview">
    Claudeの高度な機能と能力を探索します。
  </Card>

  <Card title="料金" icon="chart" href="https://platform.claude.com/docs/ja/about-claude/pricing#claude-in-microsoft-foundry-pricing">
    モデルと機能に関するAnthropicの料金体系について学びます。
  </Card>

  <Card title="モデルの非推奨" icon="arrow-clockwise" href="https://platform.claude.com/docs/ja/about-claude/model-deprecations">
    より安全で高性能なモデルがリリースされるにつれ、Anthropicは定期的に古いモデルを廃止します。すべてのAPIの非推奨と推奨される代替モデルをご覧ください。
  </Card>
</CardGroup>

## 追加リソース

<CardGroup cols={2}>
  <Card title="Foundryモデルカタログ" icon="grid" href="https://ai.azure.com/catalog/publishers/anthropic">
    FoundryカタログでAnthropicのモデルを閲覧します。
  </Card>

  <Card title="Azure AI Foundryの料金" icon="calculator" href="https://azure.microsoft.com/en-us/pricing/details/ai-foundry/#pricing">
    Azure AI Foundryに関するMicrosoftの料金詳細を表示します。
  </Card>

  <Card title="モデルの料金" icon="table" href="https://platform.claude.com/docs/ja/about-claude/pricing#model-pricing">
    Anthropicのモデルごとの料金詳細を表示します。
  </Card>

  <Card title="Azureポータル" icon="cloud" href="https://portal.azure.com/">
    Azureリソースを管理します。
  </Card>
</CardGroup>
