

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

# Amazon CodePipeline 调用操作参考
<a name="action-reference-PipelineInvoke"></a>

您可以使用 CodePipeline invoke 操作来简化触发下游管道执行以及在管道之间传递管道变量和源版本的过程。

**注意**  
此操作仅支持 V2 类型管道。

**Topics**
+ [操作类型](#action-reference-PipelineInvoke-type)
+ [配置参数](#action-reference-PipelineInvoke-parameters)
+ [输入构件](#action-reference-PipelineInvoke-input)
+ [输出构件](#action-reference-PipelineInvoke-output)
+ [CodePipeline 调用操作的服务角色策略权限](#action-reference-PipelineInvoke-permissions-action)
+ [操作声明](#action-reference-PipelineInvoke-example)
+ [另请参阅](#action-reference-PipelineInvoke-links)

## 操作类型
<a name="action-reference-PipelineInvoke-type"></a>
+ 类别：`Invoke`
+ 拥有者：`AWS`
+ 提供方：`CodePipeline`
+ 版本：`1`

## 配置参数
<a name="action-reference-PipelineInvoke-parameters"></a>

**PipelineName**  
是否必需：是  
运行后将启动当前目标管道的管道的名称。您必须已创建一个调用管道。当名为 `s3-pipeline-test`（调用）的管道开始执行时，该操作将启动 `my-s3-pipeline`（目标）管道。

**SourceRevisions**  
必需：否  
当调用管道启动目标管道时，您希望目标管道使用的源修订。例如，S3 源操作提供输出变量，例如 S3 版本 ID 和对象密钥。您可以指定调用管道时要使用的修订值。  
对于 CLI，您可以将源修订指定为序列化的 JSON 字符串。有关使用源版本覆盖的更多信息，请参阅 *CodePipeline API 指南[SourceRevisionOverride](https://docs.amazonaws.cn/codepipeline/latest/APIReference/API_SourceRevisionOverride.html)*中的。  
映射使用下方示例中所示的字符串格式。  

```
[{"actionName":"Source","revisionType":"S3_OBJECT_VERSION_ID","revision
Value":"zq8mjNEXAMPLE"}]
```

**变量**  
必需：否  
您希望操作支持的变量的名称和值。  
对于 CLI，您可以将变量指定为序列化的 JSON 字符串。有关使用管道变量的更多信息，请参阅 *CodePipeline API 指南[PipelineVariable](https://docs.amazonaws.cn/codepipeline/latest/APIReference/API_PipelineVariable.html)*中的。  
映射使用下方示例中所示的字符串格式。  

```
[{"name":"VAR1","value":"VALUE1"}]
```

下图显示了添加到控制台中管道的操作示例。

![\[具有 S3 源和包含管道调用操作的构建阶段的管道\]](http://docs.amazonaws.cn/codepipeline/latest/userguide/images/example-pipeline-invoke-run.png)


下图显示了操作的**编辑**页面示例。在以下示例中，名为 `s3-pipeline-test` 的管道为控制台配置了如下所示的管道调用操作。当名为 `s3-pipeline-test` 的管道完成执行后，该操作将启动 `my-s3-pipeline` 管道。该示例显示了使用指定修订值为 `zq8mjNYEexample` 的 S3\$1OBJECT\$1VERSION\$1ID 源覆盖的源修订覆盖。

![\[包含管道调用操作的新管道的编辑操作页面\]](http://docs.amazonaws.cn/codepipeline/latest/userguide/images/example-pipeline-invoke-edit.png)


## 输入构件
<a name="action-reference-PipelineInvoke-input"></a>
+ **构件数：**`0`
+ **描述：**输入构件不适用于此操作类型。

## 输出构件
<a name="action-reference-PipelineInvoke-output"></a>
+ **构件数：**`0`
+ **描述：**输出构件不适用于此操作类型。

## CodePipeline 调用操作的服务角色策略权限
<a name="action-reference-PipelineInvoke-permissions-action"></a>

 CodePipeline 运行操作时， CodePipeline 服务角色策略需要权限，该`codepipeline:StartPipelineExecution`权限的范围适当地缩小到管道资源 ARN，以便以最小的权限保持访问权限。

```
 {
            "Sid": "StatementForPipelineInvokeAction",
            "Effect": "Allow",
            "Action": "codepipeline:StartPipelineExecution",
            "Resource": [
                "arn:aws:codepipeline:{{region}}:{{AccountId}}:{{pipelineName}}"
            ]
        }
```

## 操作声明
<a name="action-reference-PipelineInvoke-example"></a>

------
#### [ YAML ]

```
name: Invoke-pipeline
actionTypeId:
  category: Invoke
  owner: AWS
  provider: CodePipeline
  version: '1'
runOrder: 2
configuration:
  PipelineName: my-s3-pipeline
  SourceRevisions: '[{"actionName":"Source","revisionType":"S3_OBJECT_VERSION_ID","revision
Value":"zq8mjNEXAMPLE"}]'
  Variables: '[{"name":"VAR1","value":"VALUE1"}]'
```

------
#### [ JSON ]

```
{
    "name": "Invoke-pipeline",
    "actionTypeId": {
        "category": "Invoke",
        "owner": "AWS",
        "provider": "CodePipeline",
        "version": "1"
    },
    "runOrder": 2,
    "configuration": {
        "PipelineName": "my-s3-pipeline",
        "SourceRevisions": "[{\"actionName\":\"Source\",\"revisionType\":\"S3_OBJECT_VERSION_ID\",\"revisionValue\":\"zq8mjNEXAMPLE"}]",
        "Variables": "[{\"name\":\"VAR1\",\"value\":\"VALUE1\"}]"
    }
},
```

------

## 另请参阅
<a name="action-reference-PipelineInvoke-links"></a>

下列相关资源在您使用此操作的过程中会有所帮助。
+  [使用源修订覆盖启动管道](pipelines-trigger-source-overrides.md)— 本节介绍手动或通过 EventBridge 事件输入转换器启动带有源代码版本的管道。