我正在使用在Bluemix上运行Flask的Python应用程序.我知道如何使用swiftclient模块的对象存储来创建容器并在其中保存文件,但是如何转储其中包含的joblib或pickle文件?如何在我的Python程序中加载它?
这是存储简单文本文件的代码.
import swiftclient
app = Flask(__name__)
CORS(app)
cloudant_service = json.loads(os.environ['VCAP_SERVICES'])['Object-Storage'][0]
objectstorage_creds = cloudant_service['credentials']
if objectstorage_creds:
auth_url = objectstorage_creds['auth_url'] + '/v3' #authorization URL
password = objectstorage_creds['password'] #password
project_id = objectstorage_creds['projectId'] #project id
user_id = objectstorage_creds['userId'] #user id
region_name = objectstorage_creds['region'] #region name
def predict_joblib():
print('satart')
conn = swiftclient.Connection(key=password,authurl=auth_url,auth_version='3',os_options={"project_id": project_id,"user_id": user_id,"region_name": region_name})
container_name = 'new-container'
# File name for testing
file_name = 'requirment.txt'
# Create a new container
conn.put_container(container_name)
print ("nContainer %s created successfully." % container_name)
# List your containers
print …
Run Code Online (Sandbox Code Playgroud) 我正在学习如何在Flask中处理文件上传。从这里开始,我使用pdf文件上传并阅读了其中的内容。这发生在client.py文件中。
现在我想将文件从客户端传递到本地运行的服务器。当我使用request.file时,它将作为FileStorage Object获取。因此,在不保存或提供文件路径的情况下,我想从客户端上传文件并将其传递给服务器以进行进一步处理。
class mainSessRunning():
def proces(input):
...
...
return result
run = mainSessRunning()
@app.route('/input', methods=['POST'])
def input():
input_file = request.files['file']
...(extract file from filestorage object "input_file")...
result = run.process(file) ## process is user defined function
return (result)
Run Code Online (Sandbox Code Playgroud)
在这里,我想通过process()
功能将传入文件发送到本地运行的服务器。我该怎么做呢?我遇到相同的问题,但找不到任何东西
我想使用文件夹或容器路径删除所有文件和文件夹,而不列出其中的所有文件。是否可以?
我目前正在开发一个网站,其中应该向其用户提供大约4000万份文档和图像.我需要建议哪种方法最适合存储符合这些要求的内容.
我做了一些研究,发现了以下解决方案;
该网站使用PHP开发,Couchbase Community Edition用作数据库.
我真的很感激任何输入.
谢谢.
操作系统是Ubuntu 16.04
Python版本是3
使用 PIP 安装 AWS CLI
AWS CLI 版本是aws-cli/1.16.309 Python/3.6.9 Linux/4.20.17-042017-generic botocore/1.13.45
我正确设置了 HMAC 信用并在命令行中键入以下内容:
ncheaz@thinkburger:~/Projects/drupal-interact$ aws --endpoint-url 'https://control.cloud-object-storage.cloud.ibm.com/v2/endpoints' s3 ls
An HTTP Client raised and unhandled exception: __init__() got an unexpected keyword argument 'ssl_context'
Run Code Online (Sandbox Code Playgroud) 我想将许多照片上传到Bluemix Object Storage服务,然后将其显示在Web应用程序中.现在,对对象存储容器中的照片的GET请求需要和auth令牌.有没有什么办法可以创建一个公共URL到对象,不需要GET请求的身份验证令牌?
我看到有一个选项可以创建对象的临时URL,但我不希望URL是临时的,我希望它永远存在.是创建长期临时URL的唯一选择吗?
如果您希望将S3与流行的Cyberduck应用程序一起使用,则必须使用来自Swisscom Application Cloud的自定义连接配置文件.您可以在此处找到此配置文件以供下载
使用签名版本AWS2进行身份验证需要使用AWS2 Riak云存储EMC Elastic Cloud Storage的已知提供程序的不完整列表
我想从前端直接通过后端将文件上传到 Google Storage 存储桶中,而不是先将其完全保存在服务器的内存中。我添加了一个类似于Google 文档中的示例的端点,它可以工作。但是,我不确定这是否会先将整个文件保存到内存中,因为这可能会导致上传较大文件时出现问题。
如果它首先将文件保存到内存中,我该如何更改代码以便将上传内容直接流式传输到 Google Storage。类似问题的答案并没有澄清我的问题。
谢谢
func Upload(c *gin.Context) {
file, _, _ := c.Request.FormFile("image")
ctx := context.Background()
client, err := storage.NewClient(ctx)
if err != nil {
fmt.Printf("Failed to create client with error: %v", err)
return
}
bucket := client.Bucket("test-bucket")
w := bucket.Object("testfile").NewWriter(ctx)
w.ContentType = "image/jpeg"
io.Copy(w, file)
w.Close()
}
Run Code Online (Sandbox Code Playgroud) 我正在将 svg 文件上传到本地 minio 服务器(在 docker 中运行)。
const uploadedFile = await client.putObject(bucketName, filename, readStream);
Run Code Online (Sandbox Code Playgroud)
然后我生成一个公共 URL,例如http://localhost:9000/link-identifiers/example.svg
,我可以从那里公开下载文件
如果我想在浏览器中显示它<img src={picUrl}>
,则图像根本不会渲染。
我在浏览器中得到这些响应标头:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 124775
Content-Security-Policy: block-all-mixed-content
Content-Type: application/octet-stream
ETag: "109be6a37b9091e50651b3cbbe6bed3a"
Last-Modified: Wed, 02 Sep 2020 06:44:28 GMT
Server: MinIO/RELEASE.2020-08-07T01-23-07Z
Vary: Origin
X-Amz-Request-Id: 1630E4E87DF71408
X-Xss-Protection: 1; mode=block
Date: Wed, 02 Sep 2020 06:52:34 GMT
Run Code Online (Sandbox Code Playgroud)
为了使图像渲染,我需要对 minio 服务器进行任何额外的配置吗?如果我能够下载它们并且它们非常好(在查看它们时),它们是否也应该能够在浏览器中呈现?
当前存储桶的权限设置为public
:
mc policy set public myminio/link-identifiers
Run Code Online (Sandbox Code Playgroud) 我尝试区分已知的存储类型文件存储、块存储和对象存储,但我在一个问题上停留了几个小时:
最后,在任何类型的存储上,数据都以位块的形式存储在驱动器上,不是吗?
“文件存储”与“基于文件/文件夹的、分层组织的块存储上的存储/表示”不一样吗?
在我看来,术语“文件存储”和“对象存储”更多的是关于组织和管理数据的概念,而块存储更多的是关于最终存储数据的底层实现?
有人可以启发我吗
filesystems storage file-storage object-storage block-storage
object-storage ×10
file-upload ×2
ibm-cloud ×2
python ×2
api ×1
blob ×1
browser ×1
cyberduck ×1
file-storage ×1
filesystems ×1
flask ×1
glusterfs ×1
go ×1
gridfs ×1
minio ×1
openstack ×1
pickle ×1
python-2.7 ×1
storage ×1
swisscomdev ×1
upload ×1