Ibm cloud 如何在Bluemix中使用存储服务?

Ibm cloud 如何在Bluemix中使用存储服务?,ibm-cloud,object-storage,Ibm Cloud,Object Storage,我试图在Bluemix上插入一些存储数据,我搜索了许多wiki页面,但无法得出如何继续的结论。那么,有谁能告诉我如何通过任何语言代码(Java,Node.js)将图像和文件存储在Bluemix的存储器中呢。Bluemix中的存储服务是在Softlayer中运行的OpenStack Swift。查看本页()了解Swift上的文档 这是一个页面,列出了一些Swift的客户。 在应用程序中存储文件时,您可以使用多种选项。它们都不包括在应用程序容器文件系统中执行此操作,因为文件空间是短暂的,并且在每次创

我试图在Bluemix上插入一些存储数据,我搜索了许多wiki页面,但无法得出如何继续的结论。那么,有谁能告诉我如何通过任何语言代码(Java,Node.js)将图像和文件存储在Bluemix的存储器中呢。Bluemix中的存储服务是在Softlayer中运行的OpenStack Swift。查看本页()了解Swift上的文档

这是一个页面,列出了一些Swift的客户。

在应用程序中存储文件时,您可以使用多种选项。它们都不包括在应用程序容器文件系统中执行此操作,因为文件空间是短暂的,并且在每次创建应用程序的新实例时,都会从水滴中重新创建文件空间


您可以使用MongoLab、Cloudant、对象存储和Redis等服务来存储所有类型的blob数据

请注意,正如其他人所建议的,有许多用于存储对象数据的服务。转到Bluemix目录[1],并在左侧空白处选择“数据管理”。这些服务中的每一项都应该有足够的文档来帮助您入门,包括许多示例应用程序和教程。只需单击服务互动程序,然后单击“查看文档”按钮即可找到相关文档


[1]

假设您正在使用Bluemix编写云铸造应用程序,另一个选项是
sshfs
。在应用程序启动时,您可以使用sshfs创建到作为本地目录装载的远程服务器的连接。例如,您可以创建一个
/data
目录,该目录指向远程SSH服务器,并为您的应用程序提供持久存储位置


这里解释了该策略的工作原理,并展示了它用于在Cloud Foundry应用程序中托管Wordpress博客。

当我搜索时,有一个名为Object Storage service的服务,也是由IBM创建的。但是,当时我在Bluemix目录中看不到它。我想,他们已经归还了它,并将在将来发布新的服务。

请注意,bluemix中的pobject store现在与S3兼容。例如,您可以使用Boto或boto3(对于python人员),它将100%工作于API兼容。 请参见此处的一些示例:

此脚本帮助您递归列出所有存储桶中的所有对象:

import boto3
endpoint = 'https://s3-api.us-geo.objectstorage.softlayer.net'
s3 = boto3.resource('s3', endpoint_url=endpoint)
for bucket in s3.buckets.all():
    print(bucket.name)
    for obj in bucket.objects.all():
        print("  - %s") % obj.key
如果要指定凭据,请执行以下操作:

import boto3
endpoint = 'https://s3-api.us-geo.objectstorage.softlayer.net'
s3 = boto3.resource('s3', endpoint_url=endpoint, aws_access_key_id=YouRACCessKeyGeneratedOnYouBlueMixDAShBoard, aws_secret_access_key=TheSecretKeyThatCOmesWithYourAccessKey, use_ssl=True)

for bucket in s3.buckets.all():
    print(bucket.name)
    for obj in bucket.objects.all():
        print("  - %s") % obj.key
如果要在新存储桶中创建“hello.txt”文件:

import boto3
endpoint = 'https://s3-api.us-geo.objectstorage.softlayer.net'
s3 = boto3.resource('s3', endpoint_url=endpoint, aws_access_key_id=YouRACCessKeyGeneratedOnYouBlueMixDAShBoard, aws_secret_access_key=TheSecretKeyThatCOmesWithYourAccessKey, use_ssl=True)
my_bucket=s3.create_bucket('my-new-bucket')
s3.Object(my_bucket, 'hello.txt').put(Body=b"I'm a test file")
如果要上载新存储桶中的文件:

import boto3
endpoint = 'https://s3-api.us-geo.objectstorage.softlayer.net'
s3 = boto3.resource('s3', endpoint_url=endpoint, aws_access_key_id=YouRACCessKeyGeneratedOnYouBlueMixDAShBoard, aws_secret_access_key=TheSecretKeyThatCOmesWithYourAccessKey, use_ssl=True)
my_bucket=s3.create_bucket('my-new-bucket')
timestampstr = str (timestamp)
s3.Bucket(my_bucket).upload_file(<location of yourfile>,<your file name>, ExtraArgs={ "ACL": "public-read", "Metadata": {"METADATA1": "resultat" ,"METADATA2": "1000","gid": "blabala000", "timestamp": timestampstr },},)
导入boto3
端点https://s3-api.us-geo.objectstorage.softlayer.net'
s3=boto3.resource('s3',endpoint\u url=endpoint,aws\u access\u key\u id=YourAccessKeyGeneratedOnyYouBlueMixDashboard,aws\u secret\u access\u key=TheCreetKeyThathYourAccessKey,use\u ssl=True)
my_bucket=s3.创建_bucket('my-new-bucket'))
timestampstr=str(时间戳)
s3.Bucket(my_Bucket).上传_文件(,,ExtraArgs={“ACL”:“public read”,“Metadata”:{“METADATA1”:“resultat”,“METADATA2”:“1000”,“gid”:“blabala000”,“timestamp”:timestampstr},},)

您使用的是什么语言?正在重新登录。。。其中一个答案能解决你的问题吗?如果不是,您将遇到什么问题?