开发者社区 问答 正文

智能媒体管理创建图片相关处理任务后如何查看执行结果?

智能媒体管理创建图片相关处理任务后如何查看执行结果?

展开
收起
真的很搞笑 2024-04-14 18:50:27 54 分享 版权
阿里云 AI 助理回答

在智能媒体管理中创建图片相关处理任务后,查看执行结果的方式有多种。以下是详细的操作步骤和方法:


1. 通过异步任务ID查询任务状态

图片相关处理任务(如盲水印解析、图片拼接等)通常为异步任务。任务创建成功后会返回一个TaskId,您可以使用该TaskId来查询任务的执行状态和结果。

操作步骤:

  1. 调用GetTask接口或ListTasks接口,传入TaskId以获取任务信息。

    • 请求参数
      • ProjectName:项目名称。
      • TaskId:任务ID。
    • 返回参数
      • Status:任务状态,可能值包括Pending(等待中)、Running(运行中)、Succeeded(成功)、Failed(失败)。
      • Message:任务错误信息(如果任务失败)。
      • Result:任务执行结果(如果任务成功)。
  2. 如果任务状态为Succeeded,则可以从返回结果中提取具体的处理结果数据。

注意:任务信息仅保存7天,超过7天将无法获取。


2. 使用消息通知服务获取任务结果

为了及时获取任务执行结果,可以配置消息通知服务(如MNS、RocketMQ或EventBridge),以便在任务完成后立即收到通知。

支持的消息通知方式:

  • MNS(消息服务)

    1. 在与智能媒体管理相同的地域下开通MNS服务,并配置订阅关系。
    2. 智能媒体管理会在任务完成后向MNS队列发送通知消息。
    3. 消息内容包含任务的TaskIdStatus以及执行结果。
  • RocketMQ

    1. 开通RocketMQ服务并创建实例、Topic和Group。
    2. 配置智能媒体管理向RocketMQ发送任务通知。
    3. 接收并解析通知消息以获取任务结果。
  • EventBridge(事件总线)

    1. 开通并接入EventBridge服务。
    2. 配置智能媒体管理向EventBridge发送任务事件。
    3. 通过EventBridge接收任务完成事件并提取结果。

重要提示:建议优先使用消息通知服务,避免因任务信息过期而无法获取结果。


3. 示例:获取盲水印解析任务结果

以下是一个具体示例,展示如何通过GetDecodeBlindWatermarkResult接口获取盲水印解析任务的结果。

请求参数:

{
  "ProjectName": "test-project",
  "TaskType": "DecodeBlindWatermark",
  "TaskId": "DecodeBlindWatermark-c09b0943-ed79-4983-8dbe-7a882574****"
}

返回结果:

{
  "RequestId": "93126E40-0296-4129-95E3-AFAC709372E5",
  "ProjectName": "test-project",
  "Status": "Succeeded",
  "Message": "Success",
  "Content": "阿里云版权所有"
}
  • 关键字段说明
    • Content:解析出的盲水印内容。
    • Status:任务状态,确保为Succeeded时才表示任务成功。

注意:如果任务失败,CodeMessage字段会提供错误原因,请根据提示排查问题。


4. 查看任务日志和诊断信息

如果任务执行失败,可以通过以下方式进一步排查问题: - 打印错误信息:在调用API时捕获异常,并打印error.messageerror.data.get("Recommend")。 - 诊断地址:部分错误信息会附带诊断链接,可访问链接查看详细问题分析。


5. 其他注意事项

  • 任务时效性:任务信息仅保存7天,建议及时获取结果或配置消息通知服务。
  • 权限管理:确保调用API的RAM用户具有足够的权限(如imm:GetTaskimm:ListTasks等)。
  • 异步任务机制:图片处理任务多为异步执行,客户端需通过轮询或消息通知获取最终结果。

通过以上方法,您可以高效地查看智能媒体管理中图片相关处理任务的执行结果。如果有进一步的问题,请参考官方文档或联系技术支持。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答