草庐IT

node.js - AWS S3 node.js SDK 上传文件和文件夹权限

我正在使用aws-sdk包将文件上传到S3:fs.readFile(sourceFile,function(err,data){if(err){throwerr;}s3.client.putObject({Bucket:bucketName,Key:'Folder/image.jpg',Body:data},function(res){console.log('Successfullyuploadedfile.');})});我需要使上传的文件可以通过云端下载,如果我猜对了,我需要设置文件的权限:每个人都打开/下载,Folder2应该公开(通过菜单MakePublic)。所以2个问题:

node.js - 如何确定对象是否存在 AWS S3 Node.JS sdk

我需要使用AWS开发工具包检查文件是否存在。这是我正在做的事情:varparams={Bucket:config.get('s3bucket'),Key:path};s3.getSignedUrl('getObject',params,callback);它可以工作,但问题是当对象不存在时,回调(带有参数err和url)不会返回错误,当我尝试访问URL时,它会显示“NoSuchObject”。当对象不存在时,这个getSignedUrl方法不应该返回错误对象吗?如何确定对象是否存在?我真的需要调用返回的URL吗? 最佳答案 在创建签

javascript - 如何从 Node.js 中的 S3 getObject 获得响应?

在一个Node.js项目中,我试图从S3取回数据。当我使用getSignedURL时,一切正常:aws.getSignedUrl('getObject',params,function(err,url){console.log(url);});我的参数是:varparams={Bucket:"test-aws-imagery",Key:"TILES/Level4/A3_B3_C2/A5_B67_C59_Tiles.par"如果我将URL输出到控制台并将其粘贴到Web浏览器中,它会下载我需要的文件。但是,如果我尝试使用getObject我会得到各种奇怪的行为。我相信我只是使用不正确。这是

node.js - 使用 Node fs 从 aws s3 存储桶读取文件

我正在尝试使用读取awss3存储桶中的文件fs.readFile(file,function(err,contents){varmyLines=contents.Body.toString().split('\n')})我已经能够使用Nodeaws-sdk下载和上传文件,但我不知道如何简单地读取它并解析其内容。这是我如何从s3读取文件的示例:vars3=newAWS.S3();varparams={Bucket:'myBucket',Key:'myKey.csv'}vars3file=s3.getObject(params) 最佳答案

javascript - 通过 Node.js 将 base64 编码的图像上传到 Amazon S3

昨天我做了一个深夜编码session并创建了一个小型node.js/JS(实际上是CoffeeScript,但CoffeeScript只是JavaScript,所以可以说是JS)应用程序。目标是什么:客户端(通过socket.io)向服务器发送一个Canvasdatauri(png)服务器将图片上传到amazons3第1步完成。服务器现在有一个字符串aladata:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt...我的问题是:我接下来要如何“流式传输”/将这些数据上传到AmazonS3并在那里创建实际图像?诺克斯ht

amazon-web-services - Docker 挂载 S3 容器

在docker主机中安装S3容器的最佳做法是什么?有没有办法透明地做到这一点?还是我需要使用VOLUME指令将卷挂载到主机驱动器,然后使用CRON手动将文件备份到S3? 最佳答案 根据您想要完成的内容有不同的方法,但这是我使用s3fs-fuse的方法我创建了一个基于ubuntu的docker镜像包括一些有用的依赖项(根据我的要求)安装awscli安装s3fs-fuse在目录中挂载s3DockerfileFROMubuntu:18.04##SomeutilitiesRUNapt-getupdate-y&&\apt-getinstall

amazon-web-services - Dockerfile 从 amazon s3 或其他需要凭据的来源复制文件

我正在尝试构建Docker镜像,我需要将一些文件从S3复制到镜像。在我正在使用的Dockerfile中:DockerfileFROMlibrary/ubuntu:16.04ENVLANG=C.UTF-8LC_ALL=C.UTF-8#CopyfilesfromS3insidedockerRUNawss3COPYs3://filepath_on_s3/tmp/但是,aws需要AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。我知道我可以使用ARG传递它们。但是,在构建时将它们传递给镜像是不是一个坏主意?如何在不将key存储在镜像中的情况下实现此目的?

Docker:将 `/uploads` 目录绑定(bind)到 Amazon S3 存储

我想将我的php站点从虚拟机迁移到docker容器。我的网站将所有上传的文件保存到uploads目录。现在我想将所有文件传输到S3存储并将进一步上传的内容也保存到AmazonS3。但我不想重写php文件uploader类。是否可以在Docker中创建符号链接(symboliclink)文件夹或虚拟文件夹,以便uploads/**路径上的所有写入和读取都“重定向”到S3存储。Docker支持S3StorageDriver但我是docker新手,不知道应该如何将文件夹映射到dockerfile中的s3存储。我没有找到其他示例。感谢您的帮助。更新:请参阅Tarunanswer.如果您还知道托

python - 使用boto从S3逐行读取文件?

我在S3中有一个csv文件,我正在尝试读取标题行以获取大小(这些文件是由我们的用户创建的,因此它们几乎可以是任何大小)。有没有办法使用boto做到这一点?我想也许我可以使用pythonBufferedReader,但我不知道如何从S3键打开流。任何建议都会很棒。谢谢! 最佳答案 这是一个实际逐行流式传输数据的解决方案:fromioimportTextIOWrapperfromgzipimportGzipFile...#getStreamingBodyfrombotocore.responseresponse=s3.get_objec

python - 在 Heroku 上使用 Boto 时,无法连接到名称中带有句点的 S3 存储桶

我们在尝试使用Boto连接到S3存储桶时遇到证书错误。奇怪的是,只有在Heroku上运行时访问名称中带有句点的存储桶时才会出现这种情况。fromboto.s3.connectionimportS3Connectionconn=S3Connection({our_s3_key},{our_s3_secret})bucket=conn.get_bucket('ourcompany.images')引发以下错误:CertificateError:hostname'ourcompany.images.s3.amazonaws.com'doesn'tmatcheitherof'*.s3.amaz