本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在操作之间共享构件和文件
构件是工作流操作的输出,通常由文件夹或文件存档组成。构件之所以重要,是因为它们让您可以在操作之间共享文件和信息。
例如,您可能有一个构建操作生成了 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 代码,但该功能存在一些局限性,您应在启用该功能之前了解这些局限性。有关这些限制的信息,请参阅计算共享注意事项。
我能否在工作流之间共享构件?
不可以,您不能在不同的工作流之间共享构件;但是,您可以在同一工作流中的操作之间共享构件。