如何在Bluemix中的对象存储服务中访问容器中的文件?

时间:2016-09-24 18:10:07

标签: ibm-cloud object-storage ibm-cloud-tools

  1. 如何通过Bluemix对​​象存储中的URL访问文件?
  2. 有没有办法让容器公开?
  3. 如何通过输入网址来访问对象存储中的文件 在浏览器中?
  4. 如何通过网址检索图片以在html中显示?

3 个答案:

答案 0 :(得分:1)

您可以使用swift命令行创建临时URL,以提供对象存储文件的公共访问。

首先,您必须设置swift CLI,您可以在此link上找到步骤。

为环境配置swift cli后,可以运行以下命令为文件创建临时URL:

swift stat

找到您的帐户字段(以AUTH _开头)

swift post -m "Temp-URL-Key:<key>"

设置密钥

 swift stat

验证是否已创建密钥

swift tempurl GET <seconds> <path> <key>

创建临时网址

然后,您可以通过以下网址访问该文件:

https://<access point>/<API version>/AUTH_<project ID>/<container namespace>/<object namespace>

完整的详细信息可在对象存储文档here中找到。

答案 1 :(得分:1)

我在这里写了一条评论: Public URLs For Objects In Bluemix Object Storage Service BlueMix仍在使用swift,但S3 API是最可靠的。

所以回答你的问题:

How can I access files by url in Bluemix Object Storage?

上传图像后(例如),您必须使用可以访问图像并将其公开的工具(它将在对象的正确性中添加公共acl)。您可以使用Cloudberry示例或S3浏览器并使用功能&#34;公开&#34;。

Is there a way to make the container public?

您的contenair将以bluemix运行,但该服务可以创建公共URL。是

How can I access the file in Object Storage just by typing the url in the browser?

这是我在对象商店公开的图片示例: https://s3-api.dal-us-geo.objectstorage.softlayer.net/mourad-bucket-rasp-1/OBAMA.jpg 您可以在将acl添加到&#34; public read&#34;之后使用任何浏览器执行此操作。 (再次,如果您使用python和boto3 sdk,请在此处查看我的帖子:Public URLs For Objects In Bluemix Object Storage Service

How can I retrieve an image by url to display it in html?

有几种方法可以做到这一点,因为它现在有一个公共URL,ul的第一部分不会改变,只有你的对象的名字会改变,只需用变量调用你的URL(比如桶,名字等)。 )

完整的API参考已发布,且为Here

答案 2 :(得分:0)

最后,这些命令也节省了一天

首先使用swift并更改容器的访问控制

swift post container-name --read-acl ".r:*,.rlistings"

下一步使用Curl将Container配置为特定的Url以访问文件

curl -X GET " https://<access point>/<version>/AUTH_projectID/container-name" -H "X-Auth-Token:<auth token>"     -H "X-Container-Read: .r:*,.rlistings"

并且非常感谢Alex da Silva提供的帮助