

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Workspaces （與 Anthropic 相容）
<a name="workspaces"></a>

Amazon Bedrock Workspaces 使用`bedrock-mantle`端點上的 Anthropic 相容訊息 API，為您的生成式 AI 工作負載提供應用程式層級隔離。Workspaces 可讓您分割 AI 應用程式，以進行成本追蹤、可觀測性和存取控制。

**注意**  
Workspaces 只能與`bedrock-mantle`端點上支援 Messages API 的模型搭配使用。若要查看哪些模型支援 Messages API，請參閱 [Amazon Bedrock 支援的 APIs](apis.md)。  
如果您使用的是 OpenAI 相容 APIs（回應 API、聊天完成），請[專案 (OpenAI 相容）](projects.md)改用 。

## 什麼是工作區？
<a name="workspaces-what-is"></a>

工作區是邏輯界限，用於在使用 Anthropic Messages API 時隔離 Amazon Bedrock 內的應用程式、環境或實驗等工作負載。工作區的基礎資源與 相同 [專案 (OpenAI 相容）](projects.md) — 它們是使用專案 API 進行管理，並提供相同的功能：
+ **存取隔離**：控制誰可以使用 [Amazon Bedrock 專案的 IAM 政策](security-iam-projects.md)存取特定工作區資源
+ **成本監控**：使用 [AWS 標籤](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html)和 [AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html) 追蹤工作區層級的支出
+ 可**觀測性**：追蹤每個工作區的用量指標和模式，以進行監控和最佳化。

工作區可讓您在生產環境中管理多個生成式 AI 工作負載，而無需建立單獨的 AWS 帳戶或組織，從而降低操作複雜性，同時保持安全和控管。

每個 AWS 帳戶都有一個預設工作區 （專案），其中所有推論請求都已關聯。您可以使用專案 API 建立其他工作區，並使用 `anthropic-workspace`標頭在訊息 API 請求中參考它們。

## 何時使用工作區
<a name="workspaces-when-to-use"></a>

當您需要以下項目時，應使用工作區：
+ **依業務結構組織**：根據您的組織分類管理 Amazon Bedrock 用量，例如業務單位、團隊、應用程式或成本中心
+ **準確追蹤成本**：監控並配置 AI 支出給特定團隊、專案或環境
+ **強制執行存取政策**：套用精細的 IAM 許可，以控制誰可以存取特定 AI 工作負載
+ **擴展生產工作負載**：執行多個具有明確操作界限和監控的生產應用程式

## 工作區與專案
<a name="workspaces-vs-projects"></a>

Workspaces 和 [專案 (OpenAI 相容）](projects.md)是相同的基礎資源，兩者都是透過 Projects API 管理。差別在於您在推論請求中參考它們的方式，取決於您使用的 API：


| 功能 | 工作區 | 專案 | 
| --- | --- | --- | 
| 支援的 API | 人類訊息 API | OpenAI 相容 APIs （回應、聊天完成） | 
| Endpoint | bedrock-mantle.{region}.api.aws/anthropic/v1/messages | bedrock-mantle.{region}.api.aws/v1 | 
| 標頭 | anthropic-workspace: {project-id} | OpenAI-Project: {project-id} | 
| 管理 API | 專案 API | 專案 API | 
| 存取控制 | 在 IAM 政策中將 投影為資源 | 在 IAM 政策中將 投影為資源 | 
| 成本追蹤 | AWS 專案上的標籤 | AWS 專案上的標籤 | 

## Workspaces 入門
<a name="workspaces-getting-started"></a>

本節會逐步引導您建立工作區、將其與訊息 API 請求建立關聯，以及驗證您的設定。

### 先決條件
<a name="workspaces-prerequisites"></a>

開始前，請確保您具備以下條件：
+ 具有 Amazon Bedrock 存取權 AWS 的帳戶
+ 建立和管理 Amazon Bedrock 專案的 IAM 許可
+ Amazon Bedrock 身分驗證的 [API 金鑰](api-keys.md) 
+ 存取 Claude 模型 （請參閱 [請求存取模型](model-access.md))

### 步驟 1：設定您的環境
<a name="workspaces-setup-environment"></a>

使用 Amazon Bedrock 登入資料設定您的環境變數：

```
export BEDROCK_API_KEY="<your-bedrock-key>"
export BEDROCK_REGION="us-east-1"
```

### 步驟 2：建立工作區
<a name="workspaces-create"></a>

工作區是使用 Projects API 建立。使用名稱和標籤建立工作區 （專案） 以進行成本監控：

```
curl -X POST "https://bedrock-mantle.$BEDROCK_REGION.api.aws/v1/organization/projects" \
  -H "Authorization: Bearer $BEDROCK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Claude Chatbot Production",
    "tags": {
      "Application": "CustomerChatbot",
      "Environment": "Production",
      "Team": "NLPEngineering",
      "CostCenter": "41250"
    }
  }'
```

回應：

```
{
  "arn": "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123def456",
  "created_at": 1772135628,
  "id": "proj_abc123def456",
  "name": "Claude Chatbot Production",
  "object": "organization.project",
  "status": "active",
  "tags": {
    "Application": "CustomerChatbot",
    "Environment": "Production",
    "Team": "NLPEngineering",
    "CostCenter": "41250"
  }
}
```

請注意 `id` 欄位 — 這是您在 `anthropic-workspace` 標頭中傳遞的值。

### 步驟 3：將請求與工作區建立關聯
<a name="workspaces-associate-requests"></a>

若要將 Messages API 請求與工作區建立關聯，請包含具有專案 ID 的 `anthropic-workspace` 標頭：

------
#### [ curl ]

```
curl -X POST "https://bedrock-mantle.$BEDROCK_REGION.api.aws/anthropic/v1/messages" \
  -H "x-api-key: $BEDROCK_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-workspace: proj_abc123def456" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic.claude-sonnet-4-6-v1",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Hello, how can you help me today?"}
    ]
  }'
```

------
#### [ Python (Anthropic SDK) ]

```
import anthropic

client = anthropic.Anthropic(
    base_url=f"https://bedrock-mantle.{region}.api.aws/anthropic",
    api_key=bedrock_api_key,
)

response = client.messages.create(
    model="anthropic.claude-sonnet-4-6-v1",
    max_tokens=1024,
    extra_headers={"anthropic-workspace": "proj_abc123def456"},
    messages=[
        {"role": "user", "content": "Hello, how can you help me today?"}
    ]
)

print(response.content[0].text)
```

------

使用相同工作區 ID 提出的所有推論請求會分組在一起，以啟用每個工作區的成本追蹤、存取控制和可觀測性。

### 步驟 4：驗證工作區設定
<a name="workspaces-verify"></a>

列出所有工作區 （專案），以確認您的工作區已成功建立：

```
curl -X GET "https://bedrock-mantle.$BEDROCK_REGION.api.aws/v1/organization/projects" \
  -H "Authorization: Bearer $BEDROCK_API_KEY"
```

## 管理工作區
<a name="workspaces-managing"></a>

由於工作區是透過 Projects API 管理，因此所有專案管理操作都適用。如需以下詳細資訊[使用 專案](projects.md#projects-working-with)，請參閱 ：
+ **列出工作區**：擷取您帳戶中的所有工作區
+ **擷取詳細資訊**：取得特定工作區的相關資訊
+ **更新工作區**：修改工作區名稱或標籤
+ **管理標籤**：新增或移除成本分配的標籤
+ **封存工作區**：封存不再使用的工作區

## 最佳實務
<a name="workspaces-best-practices"></a>

### 建議的工作區結構
<a name="workspaces-recommended-structure"></a>

**每個應用程式一個工作區**：為每個不同的應用程式或服務建立個別工作區。

```
├── Claude-Chatbot-Production
├── Claude-Chatbot-Staging
├── Claude-Chatbot-Development
├── Claude-Summarizer-Production
└── Claude-Summarizer-Development
```
+ **個別環境**：針對開發、預備和生產環境使用不同的工作區。
+ **實驗隔離**：為實驗和proof-of-concepts建立專用工作區。

### 工作區生命週期管理
<a name="workspaces-lifecycle-management"></a>
+ **提早建立工作區**：在部署應用程式之前設定工作區
+ **使用一致的命名**：遵循組織命名慣例
+ **成本分配標籤**：一律包含成本中心和團隊標籤
+ **定期稽核**：定期檢閱和封存未使用的工作區
+ **監控用量**：追蹤工作區指標以識別最佳化機會