Amazon web services CodePipeline-为什么当用作源代码时,必须在S3 bucket上启用版本控制?

Amazon web services CodePipeline-为什么当用作源代码时,必须在S3 bucket上启用版本控制?,amazon-web-services,amazon-s3,aws-codepipeline,Amazon Web Services,Amazon S3,Aws Codepipeline,我使用S3 bucket作为代码管道中的源代码提供程序。如果S3存储桶上未启用版本控制,则会抛出错误。我的问题是为什么必须在源bucket上启用版本控制?当S3是源时,工件总是相同的对象键,对象相同键的新版本是导致管道触发的原因 CodePipeline使用etag来理解到目前为止执行管道的流程,记住CodePipeline可以同时执行多个执行,因此它需要有一种方法来识别工件的哪个版本与哪个执行相关联 如果您使用的是VCS版本控制系统,如CodeCommit或GitHub与CodePipelin

我使用S3 bucket作为代码管道中的源代码提供程序。如果S3存储桶上未启用版本控制,则会抛出错误。我的问题是为什么必须在源bucket上启用版本控制?

当S3是源时,工件总是相同的对象键,对象相同键的新版本是导致管道触发的原因

CodePipeline使用etag来理解到目前为止执行管道的流程,记住CodePipeline可以同时执行多个执行,因此它需要有一种方法来识别工件的哪个版本与哪个执行相关联


如果您使用的是VCS版本控制系统,如CodeCommit或GitHub与CodePipeline,它将使用提交ID来标识此项。

当S3是源时,工件始终是相同的对象密钥,对象相同密钥的新版本是导致管道触发的原因

CodePipeline使用etag来理解到目前为止执行管道的流程,记住CodePipeline可以同时执行多个执行,因此它需要有一种方法来识别工件的哪个版本与哪个执行相关联


如果您使用的VCS版本控制系统(如CodeCommit或GitHub)带有CodePipeline,它将使用提交ID来标识此问题。

在我标记此问题之前,只想重新确认它,以便代码管道可以执行并发执行,对吗?我想这可能是没有它的原因,不可能执行此功能:在我标记此回答之前,只想重新确认它,以便代码管道可以执行并发执行,对吗?我猜这就是原因,因为没有它,就不可能执行此功能: