草庐IT

S3NativeFileSystem

全部标签

python - 带有 Amazon S3 的 django-storages - 防止覆盖

我注意到django-storages(或者可能是Django的存储API本身)会覆盖同名文件。这对我来说是个问题,因为我的网站允许用户上传,所以我需要确保文件永远不会被覆盖。理想情况下,我希望能够从View级别将文件名传递到存储后端,但我正在努力寻找一种优雅的方式来执行此操作。如果在某处有一个开关,我可以做类似overwrite=False的事情,并让后端提供自己的替代名称,我会同样高兴。 最佳答案 如果您使用的是s3boto后端而不是django-storages中的旧s3后端,那么您可以使用AWS_S3_FILE_OVERWR

python - Django - 从亚马逊 S3 中删除文件

我遇到一个问题,即从管理员删除对象不会删除与其关联的文件。经过一番研究,我决定在模型中实现post_delete。出于某种原因,我无法让s3删除文件,即使在搜索了大量指南和片段之后,也许这里有人知道。我使用django1.5和boto。这是我的模型代码:fromdjango.dbimportmodelsfromdjango.contrib.auth.modelsimportUserfromfileservice.formatCheckerimportContentTypeRestrictedFileFieldfromsouth.modelsinspectorimportadd_intr

python - 如何在 Python 中高效地将小文件上传到 Amazon S3

最近,我需要实现一个程序,以尽快将驻留在AmazonEC2中的文件上传到Python中的S3。文件大小为30KB。我尝试了一些解决方案,使用多线程、多处理、协程。以下是我在AmazonEC2上的性能测试结果。3600(文件量)*30K(文件大小)~~105M(总计)--->**5.5s[4process+100coroutine]**10s[200coroutine]14s[10threads]代码如下所示用于多线程defmput(i,client,files):forfinfiles:ifhash(f)%NTHREAD==i:put(client,os.path.join(DATA_

python - Boto s3 获取元数据

尝试获取我在s3存储桶中的所有项目上设置的元数据。可以在屏幕截图中看到,下面是我正在使用的代码。两个get_metadata调用返回None。任何想法的boto.Version'2.5.2'amazon_connection=S3Connection(ec2_key,ec2_secret)bucket=amazon_connection.get_bucket('test')forkeyinbucket.list():print"Key%s"%(key)printkey.get_metadata("company")printkey.get_metadata("x-amz-meta-co

python - 如何使用 boto 和 python 从存储桶中删除 s3 版本

当我尝试使用以下行删除存储桶时:conn=boto.connect_s3(AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY)printconn.delete_Bucket('BucketNameHere').message它告诉我我尝试删除的存储桶不为空。桶中没有key。但它确实有版本。如何删除版本?我可以使用bucket.list_versions()查看版本列表Java在其s3连接上有一个deleteVersion方法。我在这里找到了代码:http://bytecoded.blogspot.com/2011/01/recursive-delete-ut

python - 博托 [SSL : CERTIFICATE_VERIFY_FAILED] certificate verify failed while connecting to S3

我正在尝试使用boto连接到S3,但它似乎失败了。我尝试了一些解决方法,但它们似乎不起作用。谁能帮我解决这个问题。下面是代码。importbotoifnotboto.config.has_section('Credentials'):boto.config.add_section('Credentials')boto.config.set('Credentials','aws_access_key_id',AWS_KEY)boto.config.set('Credentials','aws_secret_access_key',AWS_SECRET_KEY)ifnotboto.conf

python - Boto3 S3,按上次修改对桶进行排序

我需要使用Boto3从S3中获取项目列表,但我希望它以相反的顺序返回默认排序顺序(降序),而不是返回它。我知道你可以通过awscli做到这一点:awss3apilist-objects--bucketmybucketfoo--query"reverse(sort_by(Contents,&LastModified))"它可以通过UI控制台实现(不确定这是在客户端还是服务器端完成)我似乎看不出如何在Boto3中执行此操作。我目前正在获取所有文件,然后进行排序...但这似乎有些过分,尤其是当我只关心10个左右的最新文件时。过滤器系统似乎只接受s3的前缀,没有其他。

单片机开发---ESP32-S3模块上手

背景介绍想起来之前做的半成品单片机游戏机,又想继续做一个,不过之前那个单片机驱动屏幕速率太低,已经无法改进了。所以这次斥巨资购买了一款顶配的ESP32S开发板,做个简单的游戏机,没问题。完整介绍链接这花花绿绿的介绍,看着让人甚是喜欢呢。开发环境搭建参考乐鑫官网的方式,我选择了windows开发环境Windows平台工具链的标准设置安装完成会有两个图标,按照推荐选择了cmd方式双击运行随便选择一个工作目录,将范例的代码拷贝过来,就可以进行编译烧录了。HelloWorld必须先用helloworld热热身拷贝工程范例工程都在esp-idf\examples\下面E:\esp32_new_tools

python - 使用 python、boto3 在 Amazon S3 中创建目录

我知道S3存储桶实际上没有目录,因为存储是平坦的。但是可以使用python/boto3以编程方式创建目录,但我不知道如何。我在一部纪录片中看到了这一点:“尽管S3存储是扁平的:存储桶包含key,但S3允许您通过在key中使用分隔符在存储桶上强加目录树结构。例如,如果你将一个键命名为'a/b/f',并使用'/'作为分隔符,那么S3会认为'a'是一个目录,'b'是'a'的子目录,“f”是“b”中的一个文件。”我可以通过以下方式在S3存储桶中创建文件:self.client.put_object(Bucket=bucketname,Key=filename)但我不知道如何创建目录。

python - 仅当远程文件比本地副本更新时,如何使用 boto 从 S3 下载文件?

我正在尝试使用boto从S3下载文件,但前提是该文件的本地副本早于远程文件。我正在使用header“If-Modified-Since”和下面的代码:#!/usr/bin/pythonimportosimportdatetimeimportbotofromboto.s3.keyimportKeybucket_name='my-bucket'conn=boto.connect_s3()bucket=conn.get_bucket(bucket_name)defdownload(bucket,filename):key=Key(bucket,filename)headers={}ifos.