

AWS Data Pipeline 不再向新客户提供。的现有客户 AWS Data Pipeline 可以继续照常使用该服务。[了解详情](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 编辑管道
<a name="dp-manage-pipeline-modify-console"></a>

如果您需要更改管道之一的某个方面，可以更新其管道定义。在更改了正在运行的管道之后，您必须重新激活该管道以使更改生效。此外，您可以重新运行一个或多个管道组件。

**Topics**
+ [限制](#dp-edit-pipeline-limits)
+ [使用编辑管道 AWS CLI](#dp-edit-pipeline-aws-cli)

## 限制
<a name="dp-edit-pipeline-limits"></a>

在管道处于 `PENDING` 状态且未激活时，您不可以对它进行任何更改。激活管道之后，您可以编辑管道，但有以下限制。在您保存所做的更改，然后重新激活管道之后，更改会应用到管道对象的新运行。
+ 您无法删除对象
+ 您无法更改现有对象的计划周期
+ 您无法添加、删除或修改现有对象中的引用字段
+ 您无法在新对象的输出字段中引用现有对象
+ 您无法更改对象的计划开始日期 (改为使用特定日期和时间激活管道)

## 使用编辑管道 AWS CLI
<a name="dp-edit-pipeline-aws-cli"></a>

您可以使用命令行工具编辑管道。

首先，使用[get-pipeline-definition](https://docs.aws.amazon.com/cli/latest/reference/datapipeline/get-pipeline-definition.html)命令下载当前管道定义的副本。通过执行此操作，您可以确保修改的是最新的管道定义。以下示例将管道定义输出到标准输出 (stdout)。

```
aws datapipeline get-pipeline-definition --pipeline-id df-00627471SOVYZEXAMPLE
```

将管道定义保存到文件并根据需要进行编辑。使用[put-pipeline-definition](https://docs.aws.amazon.com/cli/latest/reference/datapipeline/put-pipeline-definition.html)命令更新您的管道定义。以下示例上传更新后的管道定义文件。

```
aws datapipeline put-pipeline-definition --pipeline-id df-00627471SOVYZEXAMPLE --pipeline-definition file://MyEmrPipelineDefinition.json
```

您可以使用 `get-pipeline-definition` 命令重新检索管道定义，确保更新成功。要激活管道，请使用以下 [activate-pipeline](https://docs.aws.amazon.com/cli/latest/reference/datapipeline/activate-pipeline.html) 命令：

```
aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE
```

如果愿意，您可以使用 `--start-timestamp` 选项，从特定的日期和时间激活管道，如下所示：

```
aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --start-timestamp YYYY-MM-DDTHH:MM:SSZ
```

要重新运行一个或多个管道组件，请使用 [set-status](https://docs.aws.amazon.com/cli/latest/reference/datapipeline/set-status.html) 命令。