

# 将线束导出到代码
<a name="harness-export"></a>

将线束导出到代码采用托管线束配置，并使用 Strands 框架生成等效代理作为可编辑的 Python 源代码。生成的代理是普通的 AgentCore 运行时代理：您拥有代码，可以自由修改它，并像任何其他代理一样部署它。生成的代理反映了该工具的模型、工具、技能、内存、执行限制和文件系统挂载。

## 何时使用导出
<a name="_when_to_use_export"></a>

当您有可用的安全带并且想要：时，请使用导出：
+  **超出线束配置允许的**范围进行自定义-添加自定义工具逻辑、更改代理循环 middleware/hooks、注入或集成线束未公开的库
+  **拥有代码** ——从声明式配置移动到由你控制、查看和版本控制的源代码，就像应用程序的其余部分一样。
+  **完成原型** ——从安全带快速开始，然后在准备投资人工维护的代理时出口。

如果安全带配置已经可以满足您的所有需求，则无需导出——继续将其作为安全带运行。

## 今天支持什么
<a name="_what_is_supported_today"></a>
+  **框架** ——Strands，Claude Agents SDK 等其他框架即将推出
+  **语言**-仅限 Python
+  **构建类型**- CodeZip （默认）和容器

利用生成的代理中携带的功能：
+ 模型提供者和配置（Bedrock、OpenAI、Gemini ——包括模型 ID 和 API 密钥引用）
+ 工具-远程 MCP 工具、网关、内联函数工具、 AgentCore 浏览器、 AgentCore 代码解释器、内置工具`shell`和`file_operations`工具
+ 内存
+ 执行限制
+ 会话截断
+ 技能（路径、S3、Git）
+ VPC 线束的文件系统挂载（会话存储、EFS、S3）
+ 授权方配置

## CLI 使用情况
<a name="_cli_usage"></a>

### 命令语法
<a name="_command_syntax"></a>

**Example**  

```
agentcore export harness --arn <arn> [options]
```

### 选项
<a name="_options"></a>


| 标记 | 说明 | 默认 | 
| --- | --- | --- | 
|  `--arn <arn>`  | 要导出的线束的 ARN（导出在当前 CLI 项目之外创建的线束时使用） |  `arn`或`name`必填项 | 
|  `--name <name>`  | 要导出的线束的名称（导出在同一 CLI 项目中创建的线束时使用） |  `arn`或`name`必填项 | 
|  `--target-agent-name <name>`  | 生成的运行时代理的名称 |  `<harnessName>Agent`  | 
|  `--build <type>`  | 版本类型：`CodeZip`或 `Container`  |  `CodeZip`  | 
|  `--json`  | 以 JSON 格式输出结果 | False | 

### 示例
<a name="_examples"></a>

使用默认值进行基本导出：

**Example**  

```
# Export harness with ARN - generates MyHarnessAgent using CodeZip
agentcore export harness --arn arn:aws:bedrock-agentcore:us-east-1:123456789012:harness/MyHarness
# Export harness created within CLI project - generates MyHarnessAgent using CodeZip
agentcore export harness --name MyHarness
# Export with a custom agent name
agentcore export harness --name MyHarness --target-agent-name MyProductionAgent
# Export as a Container build (generates Dockerfile)
agentcore export harness --name MyHarness --build Container
```
`agentcore export harness`不运行`--name`以启动交互式导出向导。  

1. 如果项目有多个线束，请选择要导出的线束。（使用单个安全带，向导会跳过此步骤。）  
![选择要导出的线束](http://docs.aws.amazon.com/zh_cn/bedrock-agentcore/latest/devguide/images/tui/harness-export-01-select.png)

1. 输入生成的运行时代理的名称，或接受默认名称`<harness>Agent`。  
![命名生成的运行时代理](http://docs.aws.amazon.com/zh_cn/bedrock-agentcore/latest/devguide/images/tui/harness-export-02-name.png)

1. 选择构建类型：**CodeZip**（将 Python 源代码打包为 zip，默认）或**容器**（通过 ECR 构建 Docker 镜像和 CodeBuild）。  
![选择构建类型](http://docs.aws.amazon.com/zh_cn/bedrock-agentcore/latest/devguide/images/tui/harness-export-03-build.png)

1. 查看导出配置并确认。  
![查看并确认导出](http://docs.aws.amazon.com/zh_cn/bedrock-agentcore/latest/devguide/images/tui/harness-export-04-confirm.png)
导出后，进行查看`EXPORT_NOTES.md`，然后运行`agentcore deploy`以部署生成的代理。

### 导出后
<a name="_after_export"></a>

使用 AgentCore CLI 部署生成的运行时代理。

**Example**  

```
agentcore deploy
```

导出的代理是作为普通运行时添加的，因此它会与 AgentCore CLI 项目的其余部分一起部署。

## 出口\_ NOTES.md
<a name="_export_notes_md"></a>

每次导出后，`EXPORT_NOTES.md`都会写出需要手动跟进的物品。Export 会将注释写到代理目录中的 EXPORT\_NOTES.md ，列出每个项目、需要注意的原因以及要做什么。在部署NOTES.md 之前，请务必阅读导出\_。

## 部署选项
<a name="_deployment_options"></a>

导出后，您可以将代理部署到多个托管环境：
+  **AgentCore 运行时（托管）**-`agentcore deploy` 用于在运行时中托管， AgentCore 运行时会自动管理基础架构、扩展和凭据配置。
+  **Self-hosted**-将生成的 Python 代理部署到任何支持 Python 3.12\+ 版本的地方：
  +  AWS 服务：Lambda、、EC2 ECS/Fargate
  + Kubernetes 集群
  + On-premise 服务器
  + 任何容器化环境