Amazon S3 - AWS CodePipeline

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon S3

新しいオブジェクトが、設定されたバケットとオブジェクトキーにアップロードされたときに、パイプラインをトリガーします。

注記

ソースバケットを作成するときは、バケットでバージョニングを有効にしてください。既存の Amazon S3 バケットを使用する場合は、「」を参照してください。バージョニングの使用を使用して、既存のバケットでバージョニングを有効にします。

コンソールを使用してパイプラインを作成または編集すると、CodePipeline は S3 ソースバケットで変更が生じた場合に、パイプラインを開始する CloudWatch イベントルールを作成します。

Amazon S3 アクションを使用してパイプラインを接続する前に、Amazon S3 ソースバケットを作成し、ソースファイルを 1 つの ZIP ファイルとしてアップロードしておく必要があります。

注記

Amazon S3 がパイプラインのソースプロバイダーである場合、ソースファイルを 1 つの .zip に圧縮し、その .zip をソースバケットにアップロードすることができます。解凍されたファイルを 1 つアップロードすることもできます。ただし、.zip ファイルを想定するダウンストリームアクションは失敗します。

アクションの種類

  • カテゴリ: Source

  • 所有者: AWS

  • プロバイダー:S3

  • バージョン:1

設定パラメータ

S3 バケット

必須 はい

ソースの変更が検出される Amazon S3 バケットの名前。

S3ObjectKey

必須 はい

ソースの変更が検出される Amazon S3 オブジェクトキーの名前。

PollForSourceChanges

必須 いいえ

PollForSourceChangesCodePipeline が、ソースの変更について Amazon S3 ソースバケットをポーリングするかどうかを制御します。代わりに、CloudWatch イベントと CloudTrail を使用してソースの変更を検出することをお勧めします。CloudWatch イベントの設定の詳細については、「」を参照してください。プッシュイベント用にパイプラインを更新する (Amazon S3 ソース) (CLI)またはプッシュイベント用にパイプラインを更新する (Amazon S3 ソース) (AWS CloudFormationテンプレート)

重要

CloudWatch イベントを設定する場合は、PollForSourceChangesfalseを使用して、パイプラインの重複実行を回避できます。

このパラメータの有効な値:

  • true: 設定されている場合、CodePipeline はソースの変更についてソースの場所をポーリングします。

    注記

    省略するとPollForSourceChangesに設定されている場合、CodePipeline は、ソースの変更についてデフォルトでソースの場所をポーリングします。この動作は、PollForSourceChanges が含まれており、true に設定されている場合と同じです。

  • false: 設定されている場合、CodePipeline はソースの変更についてソースの場所をポーリングしません。ソースの変更を検出する CloudWatch イベントルールを設定する場合は、この設定を使用します。

入力アーティファクト

  • アーティファクトの数: 0

  • 説明: 入力アーティファクトは、このアクションタイプには適用されません。

出力アーティファクト

  • アーティファクトの数: 1

  • 説明: パイプラインに接続するように設定されたソースバケットで使用可能なアーティファクトを提供します。バケットから生成されたアーティファクトは、Amazon S3 アクションの出力アーティファクトです。Amazon S3 オブジェクトメタデータ(ETag とバージョン ID)が、トリガーされたパイプライン実行のソースリビジョンとして、CodePipeline に表示されます。

出力変数

このアクションを設定すると、パイプライン内のダウンストリームアクションのアクション設定によって参照できる変数が生成されます。このアクションは、アクションに名前空間がない場合でも、出力変数として表示できる変数を生成します。名前空間を使用してアクションを設定し、これらの変数をダウンストリームアクションの設定で使用できるようにします。

CodePipeline の変数の詳細については、Variables

ETag

パイプラインをトリガーしたソース変更に関連するオブジェクトのエンティティタグ。ETag は、オブジェクトの MD5 ハッシュです。ETag は、オブジェクトのコンテンツに加えた変更のみを反映し、メタデータに加えた変更は反映しません。

VersionId

パイプラインをトリガーしたソース変更に関連するオブジェクトのバージョンのバージョン ID。

アクションの宣言 (S3 の例)

YAML
Name: Source Actions: - RunOrder: 1 OutputArtifacts: - Name: SourceArtifact ActionTypeId: Provider: S3 Owner: AWS Version: '1' Category: Source Region: us-west-2 Name: Source Configuration: S3Bucket: my-bucket-oregon S3ObjectKey: my-application.zip PollForSourceChanges: 'false' InputArtifacts: []
JSON
{ "Name": "Source", "Actions": [ { "RunOrder": 1, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "ActionTypeId": { "Provider": "S3", "Owner": "AWS", "Version": "1", "Category": "Source" }, "Region": "us-west-2", "Name": "Source", "Configuration": { "S3Bucket": "my-bucket-oregon", "S3ObjectKey": "my-application.zip", "PollForSourceChanges": "false" }, "InputArtifacts": [] } ] },

このアクションを利用する際に役立つ関連リソースは以下の通りです。

  • チュートリアル: シンプルなパイプラインを作成する (S3 バケット)— このチュートリアルでは、サンプルアプリケーション仕様ファイル、サンプル CodeDeploy アプリケーションおよびデプロイグループを提供します。このチュートリアルを参照して、Amazon EC2 インスタンスにデプロイする Amazon S3 ソースを含むパイプラインを作成します。