本文介绍OSS返回404错误的原因和解决方案。

KeyNotFound

  • 错误消息:The specified parameter KMS keyId is not found.
  • 问题原因:未找到指定的CMK。
  • 解决方案:确认已开通KMS服务并填写正确的CMK ID,CMK ID示例值为9468da86-3509-4f8d-a61e-6eab1eac****。详情请参见设置服务器端加密

AliasNotFound

  • 错误消息:The specified Alias is not found.
  • 问题原因:未找到指定的CMK别名。
  • 解决方案:确认已开通KMS服务并填写正确的CMK别名。CMK别名必须以alias开头,例如alias/example

NoSuchServerSideEncryptionRule

  • 错误消息:The server side encryption configuration was not found.
  • 问题原因:目标Bucket尚未开启服务器端加密。
  • 解决方案:请为目标Bucket开启服务器端加密。详情请参见服务器端加密

NoSuchWebsiteConfiguration

  • 错误消息:The specified bucket does not have a website configuration.
  • 问题原因:目标Bucket未配置静态网站托管。
  • 解决方案:请为目标Bucket配置静态托管。详情请参见静态网站托管介绍

NoSuchBucketObjectTagging

  • 错误消息:The specified bucket does not have a object tagging.
  • 问题原因:此Bucket中的Object均未设置标签。
  • 解决方案:请设置对象标签。对象标签使用一组键值对(Key-Value)标记对象,对象标签规则如下:
    • 单个Object最多可设置10个标签,Key不可重复。
    • 每个Key长度不超过128字符,每个Value长度不超过256字符。
    • Key和Value区分大小写。
    • 标签合法字符集包括大小写字母、数字、空格和以下符号:

      +‑=._:/

      通过HTTP Header的方式设置标签且标签中包含任意字符时,您需要对标签的Key和Value做URL编码。

NoSuchCORSConfiguration

  • 错误消息:The CORS Configuration does not exist.
  • 问题原因:未配置跨域资源共享CORS规则。
  • 解决方案:如果您想要允许或者拒绝相应的跨域请求,请为目标Bucket配置CORS规则。详情请参见设置跨域资源共享

NoSuchWORMConfiguration

  • 错误消息:The WORM Configuration does not exist.

    问题原因:未配置合规保留策略。

    解决方案:如果您希望以“不可删除、不可篡改”方式保存和使用数据,建议设置合规保留策略。具体操作,请参见设置合规保留策略

  • 错误消息:The specified WORM ID does not exist.

    问题原因:指定的策略ID不存在。

    解决方案:在锁定合规保留策略或延长保留周期操作中需要指定正确的策略ID,您可以通过GetBucketWorm接口获取策略ID。

SymlinkTargetNotExist

  • 错误消息:The symlink target object does not exist.
  • 问题原因:
    • Object命名不符合规范。
    • 软链接指向的Object不存在。
  • 解决方案:
    • 检查并确保Object命名符合规范。

      Object命名规范如下:

      • 不是以正斜线(/)或者反斜线(\)开头。
      • 使用UTF-8编码。
      • 长度必须在1~1023字符之间。
    • 如果目标Object为软链接,则确保软链接指向的Object已存在。

NoSuchUser

  • 错误消息:User not found.
  • 问题原因:该用户不存在。
  • 解决方案:请检查阿里云账号是否被注销。

NoSuchRegion

  • 错误消息:NoSuchRegion
  • 问题原因:该Region不存在。
  • 解决方案:有关OSS已开通Region的详情,请参见访问域名和数据中心

NoSuchLifecycle

  • 错误消息:No Row found in Lifecycle Table.
  • 问题原因:Bucket未配置生命周期规则(Lifecycle)。
  • 解决方案:如果您需要定期将Object转储为低频访问、归档存储或冷归档存储类型,或删除过期的Object和碎片,从而节省存储费用,请配置生命周期规则。具体操作,请参见设置生命周期规则

NoSuchInventory

  • 错误消息:No Row found in Inventory Table.
  • 问题原因:Bucket未配置清单规则。
  • 解决方案:如果您需要获取存储空间(Bucket)中指定文件(Object)的数量、大小、存储类型、加密状态等信息,请配置清单规则。具体操作,请参见PutBucketInventory

NoSuchBucket

  • 错误消息:The specified bucket does not exist.
  • 问题原因:Bucket命名不符合规范。
  • 解决方案:检查并确保Bucket命名符合规范。
    Bucket命名规范如下:
    • 只包含小写字母、数字和短划线(-)。
    • 以小写字母或者数字开头和结尾。
    • 长度必须在3~63字符之间。

NoSuchKey

  • 错误消息:The specified key does not exist.
  • 问题原因:
    • Object命名不符合规范。
    • 触发生命周期管理规则,Object被删除。
    • Object被其他具有合法权限的用户通过OSS控制台、OSS客户端或API等方式删除了。
    • 目标Bucket与其他Bucket存在跨区域复制关系,其他Bucket中执行的删除操作被同步到目标Bucket中,此时Object也会被删除。
  • 解决方案:
    • 确保请求的Object命名符合规范。Object名称不能以正斜线(/)或者反斜线(\)开头,需使用UTF-8编码,且长度必须在1~1023字符之间。
    • 检查OSS设置的生命周期规则,确认请求的Object未触发删除规则。详情请参见设置生命周期规则
    • 确认其他具有合法权限的用户未删除请求的Object。
    • 检查Bucket配置的跨区域复制规则,确认请求的Object未被删除。详情请参见设置跨区域复制

NoSuchUpload

  • 错误消息:The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.
  • 问题原因:
    • 上传成功后未收到OSS返回的requestId,即实际未上传成功。
    • 分片上传或者断点续传时,部分分片上传成功,但最终未完成上传。
  • 解决方案:
    • 如果是上传Object资源后访问404,确认上传后收到返回的requestId。
    • 如果是分片上传或断点续传,以调用CompleteMultipartUpload接口返回的HTTP状态码200以及requestId为准。详情请参见InitiateMultipartUpload

NoSuchVersion

  • 错误消息:The specified version does not exist.
  • 问题原因:指定的Object版本不存在。
  • 解决方案:列举、下载或删除指定版本Object时需指定版本ID,您可以通过GetBucketVersions(ListObjectVersions)获取Object的所有版本ID。

NoSuchLiveChannel

  • 错误消息:The specified live channel does not exist.
  • 问题原因:指定的LiveChannel不存在。
  • 解决方案:OSS推流上传视频时,需要创建一个LiveChannel,并获取对应的推流地址。详情请参见RTMP推流上传

NoSuchBucketPolicy

  • 错误消息:The specified bucket policy does not exist.
  • 问题原因:请求的Bucket没有配置授权策略(Policy)。
  • 解决方案:如果您需要授权其他用户访问您的OSS资源,建议配置Bucket Policy。具体操作,请参见通过Bucket Policy授权用户访问指定资源

NoSuchReplicationConfiguration

  • 错误消息:The bucket you specified does not have replication configuration.
  • 问题原因:此Bucket未配置跨区域复制规则。
  • 解决方案:如果您需要将源Bucket中Object的改动(新建、覆盖、删除等操作)自动、异步(近实时)复制到目标Bucket中,以实现跨区域容灾或数据复制等需求,建议配置跨区域复制规则。具体操作,请参见设置跨区域复制

NoSuchReplicationRule

  • 错误消息:The BucketReplicationRule you specified does not exist.
  • 问题原因:指定的跨区域复制规则不存在。
  • 解决方案:获取某个Bucket的跨区域复制进度或者或删除Bucket的复制配置时需指定复制规则ID,您可以通过GetBucketReplication获取目标Bucket的复制规则ID。

NoSuchTransferAccelerationConfiguration

  • 错误消息:The bucket you specified does not have transfer acceleration configuration.
  • 问题原因:指定的Bucket未开启传输加速。
  • 解决方案:如果您需要远距离数据传输加速、加速上传和下载GB或TB级大文件以及非静态、非热点数据下载加速等场景,请开启传输加速服务。详情请参见传输加速

NoSuchChannel

  • 错误消息:No Such Image Channel.
  • 问题原因:该图片频道不存在。
  • 解决方案:图片频道是老版图片服务手册中的概念,老版图片功能不再更新。推荐使用新版图片处理指南,详情请参见简介

NoSuchStyle

  • 错误消息:No Such Image Style.
  • 问题原因:该图片样式不存在。
  • 解决方案:如果您需要在一个样式(Style)中包含多个图片处理参数,建议您创建样式,以便快速实现复杂的图片处理操作。详情请参见图片样式

NoSuchCacheControlConfiguration

  • 错误消息:The bucket you specified does not have cache control configuration.
  • 问题原因:该Bucket未配置缓存控制策略。
  • 解决方案:如果您需要实现不同的缓存控制策略,请在HTTP请求和响应中使用cache-control通用消息头。OSS支持在PutObjectAppendObjectGetObject等API接口中指定cache-control