

AWS Data Pipeline は新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS Data Pipeline 引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

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

# パイプラインのログの表示
<a name="dp-viewing-logs"></a>

Amazon S3 の場所をコンソールで指定するか、SDK/CLI を使用してデフォルトオブジェクト内の `pipelineLogUri` で指定することによって、パイプライン作成時のログ記録がパイプラインレベルでサポートされます。その URI 内の各パイプラインのディレクトリ構造は次のようになります。

```
{{pipelineId}}
    -{{componentName}}
        -{{instanceId}}
            -{{attemptId}}
```

`df-00123456ABC7DEF8HIJK` というパイプラインのディレクトリ構造は次のようになります。

```
df-00123456ABC7DEF8HIJK
    -ActivityId_fXNzc
        -@ActivityId_fXNzc_2014-05-01T00:00:00
            -@ActivityId_fXNzc_2014-05-01T00:00:00_Attempt=1
```

`ShellCommandActivity` では、アクティビティに関連付けられた `stderr` および `stdout` のログは、各試行のディレクトリに保存されます。

`EmrCluster` などのリソースで `emrLogUri` が設定されている場合、その値が優先されます。それ以外の場合、リソース (そのリソースの TaskRunner ログを含む) には、上に示したパイプラインのログ記録構造が使用されます。

特定のパイプライン実行のログを表示するには

1. `query-objects` を呼び出して `ObjectId` を取得し、正確なオブジェクト ID を取得します。例えば、次のようになります。

   ```
   aws datapipeline query-objects --pipeline-id <pipeline-id> --sphere ATTEMPT --region ap-northeast-1
   ```

   `query-objects` はページ分割 CLI であり、指定された `pipeline-id` に対してさらに実行がある場合はページ分割トークンを返すことがあります。このトークンを使うと、期待するオブジェクトが見つかるまで、すべての試行を繰り返すことができます。例えば、返される ObjectId は、`@TableBackupActivity_2023-05-020T18:05:18_Attempt=1` のようになります。

1. ObjectId を使用して、以下を使用してログの場所を取得します。

   ```
   aws datapipeline describe-objects —pipeline-id <pipeline-id> --object-ids <object-id> --query "pipelineObjects[].fields[?key=='@logLocation'].stringValue"
   ```

**失敗したアクティビティのエラーメッセージ**  
エラーメッセージを取得するには、まず `query-objects` を使用して ObjectId を取得します。

失敗した ObjectId を取得したら、`describe-objects` CLI を使用して実際のエラーメッセージを取得します。

```
aws datapipeline describe-objects --region ap-northeast-1 --pipeline-id <pipeline-id> --object-ids <object-id> --query "pipelineObjects[].fields[?key=='errorMessage'].stringValue"
```

**オブジェクトをキャンセル、再実行、または終了としてマークする**  
`set-status` CLI を使用して、実行中のオブジェクトをキャンセルするか、失敗したオブジェクトを再実行するか、実行中のオブジェクトに Finished のマークを付けます。

まず、`query-objects` CLI を使用してオブジェクト ID を取得します。例えば、次のようになります。

```
aws datapipeline query-objects --pipeline-id <pipeline-id> --sphere INSTANCE --region ap-northeast-1
```

`set-status` CLI を使用して、目的のオブジェクトのステータスを変更します。例えば、次のようになります。

```
aws datapipeline set-status —pipeline-id <pipeline-id> --region ap-northeast-1 --status TRY_CANCEL --object-ids <object-id>
```