本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在操作之间共享构件和文件
构件是工作流程操作的输出,通常由文件夹或文件存档组成。构件之所以重要,是因为它们允许您在操作之间共享文件和信息。
例如,您可能有一个生成sam-template.yml
文件的生成操作,但您希望部署操作使用该文件。在这种情况下,您将使用构件来允许生成操作与部署操作共享sam-template.yml
文件。代码可能看起来像这样:
Actions:
BuildAction:
Identifier: aws/build@v1
Steps:
- Run: sam package --output-template-file sam-template.yml
Outputs:
Artifacts:
- Name: MYARTIFACT
Files:
- sam-template.yml
DeployAction:
Identifier: aws/cfn-deploy@v1
Inputs:
Artifacts:
- MYARTIFACT
Configuration:
template: sam-template.yml
在前面的代码中,生成操作 (BuildAction
) 生成一个sam-template.yml
文件,然后将其添加到名为的输出构件中MYARTIFACT
。随后的部署操作 (DeployAction
) 指定MYARTIFACT
为输入,允许其访问该sam-template.yml
文件。
我能否在不将工件指定为输出和输入的情况下共享它们?
是的,你可以在动作之间共享工件,而无需在操作YAML代码的Outputs
和Inputs
部分中指定它们。为此,必须开启计算共享。有关计算共享以及如何在开启计算共享时指定构件的更多信息,请参阅跨操作共享计算。
注意
尽管计算共享功能允许您通过消除对Outputs
和Inputs
部分的需求来简化工作流程的YAML代码,但该功能存在一些局限性,在开启该功能之前,您应该注意这些局限性。有关这些限制的信息,请参阅计算共享的注意事项。
我可以在工作流程之间共享构件吗?
不可以,您不能在不同的工作流程之间共享构件;但是,您可以在同一工作流程中的操作之间共享构件。