帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 对象存储
  4. 服务支持
  5. 错误码
  6. EC错误码
  7. 07-CALLBACK
  8. 0007-00000105

0007-00000105

  • 07-CALLBACK
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

问题描述

回调参数callback-var解析与callbackBody赋值出错。

问题原因

您发送的请求中存在用于上传回调的Callback参数和callback-var参数,但是解析callback-var中提供的用户变量,并为Callback参数中的callbackBody赋值时出现错误,导致接口报错。

callbackBody指的是发起回调时请求body的值,例如key=${object}&etag=${etag}&my_var=${x:my_var},支持OSS系统变量、自定义变量和常量。其中自定义变量的支持方式在PutObject和CompleteMultipart中是通过callback-var来传递,在PostObject中则是将各个变量通过表单域来传递。比如上面例子中my_var=${x:my_var}指的就是用callback-var中的自定义变量x:my_var填充callbackBody中的my_var。

问题示例

比如您的请求中callback-var参数解码后如下所示:

{
  "x:var1":"value1",
  "x:var2":"value2"
}

同时请求中Callback参数解码后如下所示:

{
  "callbackUrl":"https://oss-calllback.com/index.html",
  "callbackBody":"size=${size}&my_var=$x:my_var}"
}

上面的Callback参数的callbackBody字段中,第二个键值对my_var=$x:my_var}有误,因为$符号后面少了一个{符号,因此会导致接口报错。

解决方案

请确保请求中callback-var参数是经过Base64编码的合法的JSON字符串,而且其中每一项都是字符串映射到字符串的键值对;并确保Callback参数中的callbackBody字段格式正确无误。您可以参考Callback文档构造请求。此外,您可以通过请求返回的ErrorMessage得到错误原因,比如上面的例子会得到如下的错误信息:

<?xml version="1.0" encoding="UTF-8"?>
<Error>
  	<Code>InvalidArgument</Code>
  	<Message>Left brace must be adjacent to dollar sign.</Message>
  	<RequestId>63F2302A7CF84230346C6D0D</RequestId>
  	<HostId>dinary.oss-cn-hangzhou.aliyuncs.com</HostId>
  	<ArgumentName>ReplaceKeyPrefix</ArgumentName>
  	<ArgumentValue>size=${size}&amp;my_var=$x:my_var}</ArgumentValue>
  	<EC>0007-00000105</EC>
</Error>

其中Message字段说明$符号后面应该紧跟着一个{,您可以根据此类错误信息进行调整。

相关文档

  • 关于上传回调的基本原理和使用方法,请参见上传回调与Callback。

  • 关于上传回调中的常见错误及错误排查,请参见上传回调错误及排除。

  • 关于基于Post Policy的使用规则在服务端通过各语言SDK代码完成签名,并且设置上传回调,然后通过表单直传数据到OSS的具体操作,请参见服务端签名直传并设置上传回调概述。

  • 关于搭建基于OSS的移动应用数据直传服务并设置上传回调的具体操作,请参见快速搭建移动应用上传回调服务。

相关文章

0007-00000001 2025-04-21 16:57

问题描述 请求中用于回调的Callback参数长度超出限制。 问题原因 您发送的请求中用于上传回调的Callback参数过长,导致接口报错。Callback参数即URL中的callback参数,或是请求头中的x-oss-callback字段,或是Post请求中名为callback的表单域。该参数是由

0007-00000002 2025-04-21 16:57

问题描述 请求中用于回调的Callback参数不是合法的Base64编码。 问题原因 您发送的请求中用于上传回调的Callback参数Base64解码出错,导致接口报错。Callback参数即URL中的callback参数,或是请求头中的x-oss-callback字段,或是Post请求中名为cal

0007-00000003 2025-04-21 16:57

问题描述 请求回调参数callback解码后不是合法的JSON格式。 问题原因 您发送的请求中用于上传回调的Callback参数Base64解码后不是合法的JSON结构,导致接口报错。Callback参数即URL中的callback参数,或是请求头中的x-oss-callback字段,或是Post请

0007-00000004 2025-04-21 16:57

问题描述 请求回调参数Callback中的callbackUrl部分不合法。 问题原因 您发送的请求中用于上传回调的Callback参数Base64解码后会得到一个JSON结构,如果其中callbackUrl部分不是合法的URL,就会导致接口报错。 callbackUrl参数表示的是文件上传成功后,

0007-00000005 2025-04-21 16:57

问题描述 请求回调参数Callback中的callbackUrl参数包含的URL数量过多。 问题原因 您发送的请求中用于上传回调的Callback参数Base64解码后会得到一个JSON结构,如果其中callbackUrl部分包含的URL数量过多,就会导致接口报错。 callbackUrl参数表示的

0007-00000007 2025-04-21 16:57

问题描述 请求回调参数Callback中的callbackUrl中存在无法解析出对应IP的URL。 问题原因 您发送的请求中用于上传回调的Callback参数Base64解码后会得到一个JSON结构,如果其中callbackUrl内的URL如果无法解析出相应的IP地址,或解析出来如果不是正常可访问的

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1