阿里云OSS访问小记

OSS访问

OSS做为一种SAAS层应用,有开箱即用的特点。创建bucket,bucket名称要求在本region内唯一。

OSS权限配置

OSS权限首先设置ACL,然后基于RAM的子账号可以设置细颗粒度的Bucket授权策略。

  1. 设置ACL为公共读或者私有,不建议公共读写。此处设置公共读,私有写
  2. 根据规划创建RAM子账号及其AK和SK。AK和SK要保存好。
  3. 针对bucket设置整个bucket级别或者目录级或者文件级别的读写策略,授权对象为步骤2创建的RAM子账号。

在这里插入图片描述
根据测试,Bucket授权策略里面如果针对指定的目录级资源授予子账号读写权限,仍然会报错。

You have no right to access this object because of bucket acl
解决方案:
方案一:

在Bucket授权策略里面授权资源为整个Bucket

方案二:

在RAM里面的权限策略管理,针对用户创建权限策略

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "oss:*"
            ],
            "Resource": [
                "acs:oss:*:*:example-bucket/tmp/*"
            ]
        }
    ]
}

OSS客户端配置

  1. 下载并安装OSS客户端ossutil。
  • 具体参见https://help.aliyun.com/document_detail/120075.html?spm=a2c4g.11186623.2.3.449a63faw6x03d
  1. ossutil配置
./ossutil64 config
该命令创建将一个配置文件,在其中存储配置信息。

请输入配置文件名,文件名可以带路径(默认为:/root/.ossutilconfig,回车将使用默认配置文件。如果用户设置为其它文件,在使用命令时需要将--config-file选项设置为该文件):
未输入配置文件,将使用默认配置文件:/root/.ossutilconfig。

对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。
请输入语言(CH/EN,默认为:CH,该配置项将在此次config命令成功结束后生效):
请输入endpoint:(OSS的endpiont,不是bucket的域名,比如oss-cn-zhangjiakou-internal.aliyuncs.com)
请输入accessKeyID:(RAM子账号的AK)
请输入accessKeySecret:(RAM子账号的SK)
请输入stsToken:(可以忽略)

OSS客户端常见命令

  1. 列举文件目录
./ossutil64 ls oss://example-bucket/
./ossutil64 ls oss://example-bucket/tmp
./ossutil64 ls oss://example-bucket/tmp -a -s
  1. 上传文件
./ossutil64 cp examplefile.log oss://example-bucket/tmp
  • 详见:https://help.aliyun.com/document_detail/179388.html?spm=a2c4g.11186623.6.859.60f4738558sKtX
  1. 下载文件或目录
./ossutil64 cp oss://example-bucket/tmp/examplefile.log  ./
./ossutil64 cp -r oss://example-bucket/tmp/examplefile.log  ./

错误记录

  1. 当ossutil的config中endpoint配置了bucket域名,然后ls命令使用错误,报出如下错误。开始以为是AK/SK配置有误,后续发现是endpoint和ls命令参数有问题,错误提示有误导。
Error: oss: service returned error: StatusCode=403, ErrorCode=SignatureDoesNotMatch, ErrorMessage="The request signature we calculated does not match the signature you provided. Check your key and signing
 method.", RequestId=603A2957EC36B43130EBADCE
  1. 当ossutil的config中endpoint配置了bucket域名,运行如下命令报错。需要修改endpoint
./ossutil64 ls oss://example-bucket/
Error: oss: service returned error: StatusCode=400, ErrorCode=InvalidBucketName, ErrorMessage="The specified bucket is not valid.", RequestId=603A2A9621510937394D9584, Bucket=example-bucket, Object$
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 访问阿里云OSS(对象存储服务)图片失败可能有多种原因。 首先,可能是由于网络连接问题导致无法访问阿里云OSS。在网络连接不稳定、慢或中断的情况下,访问OSS图片会失败。此时,可以尝试检查网络连接,并确保网络状况良好。 其次,可能是由于OSS对象不存在或被意外删除导致无法访问。在请求访问OSS图片时,如果对象不存在,将返回错误信息。此时,可以检查对象的路径和名称是否正确,并确保对象未被删除。 另外,可能是由于访问权限限制导致无法访问OSS图片。阿里云OSS提供了丰富的权限控制机制,可以通过私有、公共读、公共读写等权限设置来控制对象的访问。如果没有正确的权限设置,可能无法正常访问OSS图片。此时,可以检查访问对象的权限设置,并确保拥有足够的访问权限。 最后,可能是由于错误的请求方式或参数导致无法访问OSS图片。在请求OSS图片时,需要正确地使用API接口、请求方法和参数。如果请求方式或参数错误,阿里云OSS将无法正确处理请求并返回相应的图片。此时,可以检查请求方式和参数是否正确,并参考阿里云OSS API文档进行调整。 综上所述,访问阿里云OSS图片失败可能是由于网络连接问题、对象不存在、访问权限限制或错误的请求方式或参数等原因导致的。可以根据具体情况检查相关因素,并采取相应的措施来解决问题。 ### 回答2: 访问阿里云OSS图片失败可能是由于多种原因引起的。 首先,可能是由于网络连接问题导致无法访问OSS图片。这可能是由于网络连接不稳定、网络信号弱或者代理服务器的问题。建议检查网络连接,确认网络正常后再次尝试访问。 其次,可能是由于OSS图片的地址设置错误导致无法访问。检查图片的URL地址是否正确,确认是否包含了正确的域名、桶名和图片路径。 此外,还可能是由于权限设置不正确导致无法访问。在阿里云OSS中,需要正确设置桶的访问权限以及图片的访问权限。确保桶的读取权限设置为公共读或者授权用户有访问权限,并且图片的权限也正确配置。 最后,还可能是由于阿里云OSS服务端故障导致无法访问。在这种情况下,建议联系阿里云客服或者开发者支持团队,寻求帮助并报告问题,他们将会及时处理并解决问题。 综上所述,访问阿里云OSS图片失败可能是由于网络连接问题、URL地址设置错误、权限设置不正确或者服务端故障等原因引起的。根据具体情况,可以逐步排查并解决问题。 ### 回答3: 当访问阿里云OSS图片失败时,可能有以下几个原因: 1. 链接错误:请确保访问阿里云OSS的链接地址正确,包括域名、路径等信息是否填写正确。 2. 访问权限限制:在阿里云OSS中,每个存储桶都有自己的访问权限设置。请确保您拥有访问该图片的权限。 3. 存储桶设置问题:您需要确认存储桶是否处于正常状态。可能是存储桶已被删除、权限设置有误等情况导致无法访问。 4. 图片不存在:如果您输入的图片路径错误或者该图片已被删除,将导致访问失败。 5. 网络问题:可能是网络连接不稳定或者网络延迟导致无法正常访问阿里云OSS。此时,您可以尝试刷新页面或者稍后再试。 6. 阿里云OSS服务端故障:可能是阿里云OSS服务端出现故障导致无法正常访问。此时,您可以联系阿里云技术支持反馈问题,等待解决。 总结起来,访问阿里云OSS图片失败可能是链接错误、访问权限限制、存储桶设置问题、图片不存在、网络问题或阿里云OSS服务端故障等原因导致的。如果您遇到该问题,可以逐一排查以上原因,找到具体原因后采取相应的解决措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值