

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

# Amazon S3 ソースアクションリファレンス
<a name="action-reference-S3"></a>

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

**注記**  
このリファレンストピックでは、CodePipeline の Amazon S3 ソースアクションについて説明します。ソース場所は、バージョニング用に設定された Amazon S3 バケットです。CodePipeline での Amazon S3 デプロイアクションのリファレンス情報については、「[Amazon S3 デプロイアクションリファレンス](action-reference-S3Deploy.md)」を参照してください。

Amazon S3 バケットを作成して、アプリケーションファイルのソース場所として使用できます。

**注記**  
ソースバケットを作成するときは、バケットでバージョニングを有効にしてください。既存の Amazon S3 バケットを使用する場合は、「[バージョニングの使用](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html)」を参照して、既存のバケットでバージョニングを有効にします。

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

**注記**  
Amazon ECR、Amazon S3、または CodeCommit ソースの場合、入力変換エントリを使用してソースオーバーライドを作成し、パイプラインイベントの EventBridge で `revisionValue` を使用することもできます。ここで、`revisionValue` はオブジェクトキー、コミット、またはイメージ ID のソースイベント変数から派生します。詳細については、[Amazon ECR ソースアクションと EventBridge リソース](create-cwe-ecr-source.md)、[イベントに対して有効にしたソースを使用して Amazon S3 ソースアクションに接続する](create-S3-source-events.md)、または [CodeCommit ソースアクションと EventBridge](triggering.md) の手順に含まれる入力変換エントリのオプション手順を参照してください。

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

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

**Topics**
+ [アクションタイプ](#action-reference-S3-type)
+ [設定パラメータ](#action-reference-S3-config)
+ [入力アーティファクト](#action-reference-S3-input)
+ [出力アーティファクト](#action-reference-S3-output)
+ [出力変数](#action-reference-S3-variables)
+ [サービスロールのアクセス許可: S3 ソースアクション](#edit-role-s3source)
+ [アクションの宣言](#action-reference-S3-example)
+ [関連情報](#action-reference-S3-links)

## アクションタイプ
<a name="action-reference-S3-type"></a>
+ カテゴリ:`Source`
+ 所有者: `AWS`
+ プロバイダー: `S3`
+ バージョン: `1`

## 設定パラメータ
<a name="action-reference-S3-config"></a>

**S3 バケット**  
必須: はい  
ソースの変更が検出される Amazon S3 バケットの名前。

**S3ObjectKey**  
必須: はい  
ソースの変更が検出される Amazon S3 オブジェクトキーの名前。

**AllowOverrideForS3ObjectKey**  
必須: いいえ  
`AllowOverrideForS3ObjectKey` は、`StartPipelineExecution` からのソースの上書きにより、ソースアクションに設定済みの `S3ObjectKey` を上書きできるかどうかを制御します。S3 オブジェクトキーを使用したソースの上書きの詳細については、「[ソースリビジョンオーバーライドでパイプラインを開始する](pipelines-trigger-source-overrides.md)」を参照してください。  
`AllowOverrideForS3ObjectKey` を省略すると、CodePipeline は、このパラメータを `false` に設定して、ソースアクションで S3 オブジェクトキーを上書きできないようにします。
このパラメータの有効な値:  
+ `true`: 設定すると、事前設定済みの S3 オブジェクトキーは、パイプラインの実行中にソースリビジョンの上書きによって上書きされる場合があります。
**注記**  
新しいパイプラインの実行開始時に、事前設定済みの S3 オブジェクトキーを上書きすることをすべての CodePipeline ユーザーに許可する場合は、`AllowOverrideForS3ObjectKey` を `true` に設定する必要があります。
+ `false`: 

  設定すると、CodePipeline は、ソースリビジョンの上書きを使用して S3 オブジェクトキーを上書きすることを許可しません。これは、このパラメータのデフォルト値でもあります。

**PollForSourceChanges**  
必須: いいえ  
`PollForSourceChanges` は、ソースの変更について CodePipeline が Amazon S3 ソースバケットをポーリングするかどうかを制御します。代わりに CloudWatch Events と CloudTrail を使用してソースの変更を検出することをお勧めします。CloudWatch Events の設定についての詳細は、「[S3 ソースと CloudTrail 証跡を使用してポーリングパイプラインを移行する (CLI)](update-change-detection.md#update-change-detection-cli-S3)」または「[S3 ソースと CloudTrail 証跡 (CloudFormation テンプレート) を使用してポーリングパイプラインを移行する](update-change-detection.md#update-change-detection-cfn-s3)」を参照してください。  
CloudWatch Events ルールを設定する場合、パイプラインの重複実行を避けるために `PollForSourceChanges` を `false` に設定する必要があります。
このパラメータの有効な値:  
+ `true`: 設定されている場合、CodePipeline はソースの変更についてソースの場所をポーリングします。
**注記**  
`PollForSourceChanges` を省略すると、 CodePipeline はソースの変更についてデフォルトでソースの場所をポーリングします。この動作は、`PollForSourceChanges` が含まれており、`true` に設定されている場合と同じです。
+ `false`: 設定されている場合、CodePipeline はソースの変更についてソースの場所をポーリングしません。CloudWatch Events ルールを設定してソース変更を検出する場合は、この設定を使用します。

## 入力アーティファクト
<a name="action-reference-S3-input"></a>
+ **アーティファクトの数:** `0`
+ **説明:** 入力アーティファクトは、このアクションタイプには適用されません。

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

## 出力変数
<a name="action-reference-S3-variables"></a>

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

CodePipeline における変数の詳細については、[変数リファレンス](reference-variables.md) を参照してください。

**BucketName**  
パイプラインをトリガーしたソース変更に関連する Amazon S3 バケットの名前。

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

**ObjectKey**  
パイプラインをトリガーしたソース変更に関連する Amazon S3 オブジェクトキーの名前。

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

## サービスロールのアクセス許可: S3 ソースアクション
<a name="edit-role-s3source"></a>

S3 ソースアクションをサポートするには、以下をポリシーステートメントに追加します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation",
        "s3:GetObjectTagging",
        "s3:GetObjectVersionTagging"
      ],
      "Resource": [
        "arn:aws:s3:::[[S3Bucket]]",
        "arn:aws:s3:::[[S3Bucket]]/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

------

## アクションの宣言
<a name="action-reference-S3-example"></a>

------
#### [ 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: amzn-s3-demo-source-bucket
      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": "amzn-s3-demo-source-bucket",
                "S3ObjectKey": "my-application.zip",
                "PollForSourceChanges": "false"
            },
            "InputArtifacts": []
        }
    ]
},
```

------

## 関連情報
<a name="action-reference-S3-links"></a>

このアクションを利用する際に役立つ関連リソースは以下の通りです。
+ [チュートリアル: シンプルなパイプラインを作成する (S3 バケット)](tutorials-simple-s3.md) - このチュートリアルでは、サンプルアプリケーション仕様ファイル、サンプル CodeDeploy アプリケーションおよびデプロイグループを提供します。このチュートリアルを参照して、Amazon EC 2 インスタンスにデプロイする Amazon S3 ソースを持つパイプラインを作成します。