AWS Data Pipeline 不再向新客户提供。的现有客户 AWS Data Pipeline 可以继续照常使用该服务。了解更多
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
查看管道日志
管道创建中支持管道级别的日志记录,其方法是在控制台中指定 Amazon S3 位置,或者使用开发工具包/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 日志) 将遵循上述管道日志记录结构。
要查看给定管道运行的日志,请执行以下操作:
通过调用
query-objects
获取确切的对象 ID 来检索ObjectId
。例如: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
。使用 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 取消正在运行的对象,或者重新运行失败的对象或将正在运行的对象标记为已完成。
首先,使用 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>