⑴ awss3图片有时候打不开
awss3图片打不开的解决方法为右键点网上邻居-属性-右键点本地连接-停用之后awss3图片就能打开了,然后再把网络打开,重启awss3也不会有此问题了。
⑵ aws cli打开马上就退出了是怎么回事
1. 只通过一条命令就可以删除指定的S3 bucket和其中的所有内容
有些时候,你可能需要关闭某个bucket并删除其储存的成百上千(或成千上万)个你不要的文件。如果你有删除大量存储在S3中内容的经历,那么你已经了解这是一个颇费时的操作。下面的命令将帮助你删除一个bucket,以及其储存的内容和目录:
aws s3 rb s3://bucket-name --force
2. 递归地复制PC中的一个目录以及其子文件到Amazon S3
如果你使用过S3控制台,在某一阶段,你可能会需要将PC中大量的文件复制到S3 bucket中。同样,这是一个体力活,需要耗费一定的时间,特别是你所需要复制的文件在一个多层目录下。下面的这条命令将简化这个操作,可以帮助你把PC的一个目录以及其下所有子文件夹复制到S3中的一个指定region。
aws s3 cp MyFolder s3://bucket-name -- recursive [--region us-west-2]
3. 查询所有可用ec2镜像的子集
下面这条命令将根据条件在所有可用的ec2镜像上做搜索,在这里,我们过滤出所有基于Ubuntu的镜像(这里假设终端使用的是Linux或者Mac)。
aws ec2 describe-images | grep ubuntu
注意:这个操作可能会需要数分钟来完成。
4. 在不同格式下列出用户
有些时候,取决于你选择的默认输出格式,当你调用一个长列表时(比如一个大的用户集),输出格式的可读性可能并不理想。使用下面这条命令,在不修改默认设置的情况下,将会输出一个更易于阅读的表格。
aws iam list-users --output table
5. 显示一个S3 bucket和其储存项目的大小
下面这条命令使用JSON输出来显示一个bucket的大小,以及其中储存项目的大小。在分析S3存储的使用情况时,你就可能用到这个命令。
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
6. 将指定S3 bucket转移到另一个位置
如果你想快速将一个S3 bucket移至别处,下面这条命令可能帮助你节约大量时间。
aws s3 sync s3://oldbucket s3://newbucket --source-region
us-west-1 --region us-west-2
7. 通过ARN列出用户
“jq”类似于针对JSON数据的sed命令——你可以使用它来分割、过滤、映射及转换结构化数据,类似sed、awk、grep等在non-JSON文本中的功能。
结合这个功能,我们再列出所有用户时可以只显示他们的ARN。
aws iam list-users --output json | jq -r .Users[].Arn
注意:默认情况下,系统可能并不会安装jq。在基于Debian的系统中(包括Ubuntu),使用sudo apt-get来安装jq。
8. 列出所有停止实例,及停止原因
这是JSON输出参数的另一种用法。这次将列出所有停止的实例,并且显示停止原因:
aws ec2 describe-instances --filters Name=instance-state-name,
Values=stopped --region eu-west-1 --output json |
jq -r .Reservations[].Instances[].StateReason.Message
9. 检测你的一个CloudFormation模板
如果你写了一个Cloud Formation Template,并需要在发布前对其进行验证,你可以使用如下命令在CLI中处理:
aws cloudformation validate-template --region
eu-west-1 --template-url
https://s3-eu-west-1.amazonaws.com/ca/ca.cftemplate
10. 另一种使用JSON给AWS CLI传递输入参数的方法
你可以给AWS CLI传递任何格式的输入参数。下面是一个例子:
aws iam put-user-policy --user-name AWS-Cli-Test --policy-name Power-Access --
policy-document '{ "Statement": [ { "Effect": "Allow", "NotAction": "iam:*", "Resource":
"*" } ] }
⑶ Kindle一直显示已排队是什么意思
从 Kindle 商店买了好多书,花了不少银子,有些一直下载不下来,总是显示‘已排队’,根本不能看。后来发现买书后不要返回本地书库主页,待状态栏提示下载完成后再退出在线商店,下载成功几率较大,不知是偶然情况还是何种原因。
私猜想,Kindle 的云端账户可能是同步在美国的 AWS 服务器上的,直接从商店下载则走的是国内服务器。从国内访问美国的 AWS(http://s3.aws.amazon.com/xxx.../ 等)一直是不稳定的,多数情况下无法访问,原因你懂的。
目前的唯一解决方法是进入亚马逊中国在线账户,从‘管理我的账户和设备’>‘我的内容’中将图书下载到电脑然后用USB 传输至 Kindle。
确实是网络(qiang)的问题。亲测连接到加了 VPN 的网络(需要路由器支持,有 mac 的话利用热点共享 VPN 连接也可以)上,下载畅通无阻。另外美国 s3 完全无法访问。
⑷ 【Minio】基于AWS S3协议搭建个人云存储服务
在2007年,GlusterFS演变为大型分布式存储方案后,任何配备合适硬件的公司,单位都可以利用个做分布式的流媒体,数据分析。在2011年,Red Hat收购了GlusterFS.
Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。Minio兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。
Minio 提供对象存储服务,兼容了 AWS S3 存储协议,用于非结构化的数据存。非结构化对象,比如图像,音、视频,日志文件,备份镜像…等等管理不方便,不定长,大小变化大、类型多,云端的访问复杂,minio就是来解决这种场景的。非结构化的文件从数KB到5TB都能很好的支持。开源并且用 Go 语言开发,有web操作界面,我们可以用它来搭建兼容S3协议的存储云服务。
Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。
官网: https://minio.io
那么,如何自己搭建一个私有的S3存储云服务呢?
官方的话是推荐用Docker来搞,我们先用普通的二进制文件来直接解决了!
######################################################################################
# mkdir /data/aws_s3
# wget https://dl.minio.io/server/minio/release/linux-amd64/minio
# mv minio /usr/local/bin/
# chmod 755 /usr/local/bin/minio
# minio server /data/aws_s3
#############################################################
Created minio configuration file successfully at /root/.minio
Endpoint: http://10.5.10.89:9000 http://127.0.0.1:9000 http://172.17.0.1:9000
AccessKey: U3XLU4IMXY3IDKHU268F
SecretKey: /
Region: us-east-1
SQS ARNs:
Browser Access:
http://10.5.10.89:9000 http://127.0.0.1:9000 http://172.17.0.1:9000
Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
################################################################
$ mc config host add myminio http://10.5.10.89:9000 U3XLU4IMXY3IDKHU268F /
Object API (Amazon S3 compatible):
Go: https://docs.minio.io/docs/golang-client-quickstart-guide
Java: https://docs.minio.io/docs/java-client-quickstart-guide
Python: https://docs.minio.io/docs/python-client-quickstart-guide
JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
Drive Capacity: 8.3 GiB Free, 9.1 GiB Total
##############################################################
我们就成功启动了minio的s3服务,默认端口9000,可以通过网页访问:
http://10.5.10.89:9000
http://127.0.0.1:9000
http://172.17.0.1:9000
注意 :第一次打开时候需要填写AccessKey和SecretKey才能进入,我们上面启动服务的时候,已经看到屏幕有输出:
AccessKey: U3XLU4IMXY3IDKHU268F
SecretKey:
把这两个Key填入,就能顺利进入,进入后展开页面如下:
这就是我们的S3云存储的管理页面了,看着是不是和七牛什么的提供云存储的产品页面挺像的,大家都是基于S3协议开发的!
上传个文件试试:
点击右下角的红色小加号按钮,弹出的菜单选择”create bucket”则会创建一个桶,输入名字”test”
点击刚才那个红色小加号按钮,这次选择”Upload file”上传文件,给这个桶上传了一个叫login.txt的文本文档
此时页面如下:
至此我们可以看到文件已经上传,要访问这个文件,可以点击文件右侧的三个点的按钮,选择分享就可以得到一个外链,在浏览器中访问这个外链就可以直接访问文件。
那么文件到底被存到哪里去了呢,我们启动命令中其实指定了工作路径/data/aws_s3/,所以到服务器这个目录下看看:
# ls /data/aws_s3/
test
# ls /data/aws_s3/test/
login.txt
桶名称test是一个目录,其下就有上传的login.txt文件。
如果想指定ip和端口,可以这样写:
# minio server /data/aws_s3 --address=0.0.0.0:9000
如果想让服务在后台运行:
# nohup minio server /data/aws_s3 --address=0.0.0.0:443 &
[1] 19882
// nohup: 忽略输入并把输出追加到启动命令的当前目录下的 "nohup.out"文件
minio可以用来搭建分布式存储系统 GlusterFS,这样就成了真正的云存储了,有时间再研究下把它从现在的单机测试,变成一朵存储云!
minio官网: https://minio.io
minio官方文档: https://docs.minio.io/docs/minio-docker-quickstart-guide
minio github主页: https://github.com/minio/minio
⑸ aws s3 python api访问速度为什么这么慢
登录aws中国,选择s3服务
可以创建一个bucket,也可以用create_bucket接口
使用boto3获取bucket列表
session = Session(aws_access_key_id=aws_key,
aws_secret_access_key=aws_secret, region_name='cn-north-1')
s3 = session.resource('s3')
for bucket in s3.buckets.all():
print('bucket name:%s'%bucket.name)
将本地文件传到s3的指定bucket中
data = open('nj.png', 'rb')
file_obj = s3.Bucket(bucket).put_object(Key=objkey, Body=data)
获取URL
down_url = client.generate_presigned_url(
'get_object', Params={'Bucket': bucket, 'Key': objkey},
ExpiresIn= 3600
)
⑹ amazon s3表读取
put一个key即可。
⑺ 如何在AWS S3存储段中设置CloudFront分布
AWS CloudFront是一个用户用于加速静态或动态内容发布的内容发布服务,这里所谓的静态或动态内容主要包括媒体(图像或视频)文件、HTML、Java脚本程序、CSS文件以及其它。
作者:文:Ofir Nachmani 译:滕晓龙来源:TechTarget中国|2015-03-09 10:12
收藏
分享
AWS CloudFront可配合一些其他的服务一起使用,其中就包括了EC2和S3。遵循以下步骤可从一个S3存储段中设置一个CloudFront分布。
AWS CloudFront是一个用户用于加速静态或动态内容发布的内容发布服务,这里所谓的静态或动态内容主要包括媒体(图像或视频)文件、HTML、Java脚本程序、CSS文件以及其它。它的简洁用户界面可以帮助管理员设置CloudFront发布。但是,这一过程并不只是指向和点击那么简单。下面,就让我们来看看CloudFront的工作原理以及应当如何来部署它。
在CloudFront中,每一片的内容都被组织成为具有独特URL并可从网络被访问的发布。该服务可从边缘加速节点数据中心发布这一内容;目前,AWS在全球部署着52个边缘加速节点数据中心以供内容缓存使用。
AWS CloudFront支持两种形式的发布:流形式与下载方式。当一名用户使用CloudFront URL来请求静态内容时,该服务就会根据发出请求的IP以及缓存这一内容的数据中心的位置来找到距离这个IP最近的边缘加速节点数据中心。这样一来,所有来自于相同位置的请求就会减少延迟时间。
CloudFront可配合多个AWS服务使用,其中包括了简单存储服务(S3)、弹性计算云(EC2)、弹性负载平衡(ELB)以及Route 53。CloudFront的主要功能包括:
支持动态内容(减少未来请求的延迟时间)
支持自定义域名
设备检测(移动设备和网络设备)
支持Post/PUT以及其它的HTTP协议
自定义错误响应
支持cookies、查询字符串以及其它
链接一个CloudFront发布至S3
为了从一个S3建立一个CloudFront网络发布,你将需要一个S3存储和一个可公开访问的对象(如图1)。
图1 S3存储段以及一个可公开访问的对象
然后,可遵循以下步骤:
1. 转至CloudFront并创建一个网络发布
图2 选择初始域名存储段
2. 在初始域名栏位,选择存储段名称,并在限制存储段访问中选择“No”。这样做可以限制只能从CloudFront访问对象,所以就没有人可以从S3访问这个存储段了(如图2)。
3. 使用以下参数配置缓存设置:
路径模式:默认。针对特定对象应用缓存处理。如果选择了默认值(*),它就会把所有请求发送到选中的存储段中。
浏览器协议策略:HTTP 和 HTTPS。如果用户想要求CloudFront允许浏览器使用HTTP或HTTPS协议来访问用户的网络内容。
允许的HTTP方法:GET,HEAD。选择用户希望这一缓存操作所允许的HTTP方法列表。
转发头文件:None。如果用户希望根据请求中发送的头文件来缓存内容,那么就可以使用它。理想情况下,保持“None”项是可以提高性能的。
对象缓存:使用初始缓存头文件。当你的初始服务器将增加一个缓存控制头文件以便于控制对象被保存在CloudFront缓存中多长时间时,可选择这一选项。
转发cookies:无。如果用户希望CloudFront在它发送给初始服务器的请求中囊括所有的用户cookies,那么就可以指定“None”。否则,可指定你希望包含在内的cookies。选择“None”,就可配置CloudFront不要发送cookies。
转发请求字符串:不。为了根据URL中的请求字符串获得不同版本的对象;设置“Yes”选项以便于在发送给初始服务器的请求URL中包含请求字符串。
限制浏览器访问:No。在理想情况下,选择“yes”以提高安全性。选择“no”可让每个人都能够查看内容。限制浏览器访问意味着要求使用者为安全访问而创建一个签名的URL(如图3)。
图3 限制浏览器访问
4. 接下来,是设定发布设置
价格类别:使用所有的边缘加速节点数据中心。这一操作可以让用户自行选择愿意为CloudFront服务支付的最高价格。
CNAMEs:空白。这一操作可以允许用户为对象使用URL而不是CloudFront分配的域名。因此,用户可以指定一个自定义URL,而不是CloudFront发布。
SSL证书:默认CloudFront。这一项可以让管理员上传他们自己的证书。用户还可以保留其它的选项作为默认值,并创建发布(如图4)。
图4默认的CloudFront设置。
一旦创建了发布,那么你将有一个CloudFront URL,例如:"http://d3ptzllcr53x1i.CloudFront.net"。然后,就可以使用这个URL来访问对象了。
⑻ 2019-07-04 AWS S3配置静态网站
OK, 假设我们已经有了AWS IAM账号,并且成功创建了一个存储桶。
几步简单设置就可以配置一个静态网站。
1、点击存储桶名称前面的复选框,会弹出一个属性框,选择 "Permissions"
2、在Properties页面,选择"Static website hosting", 输入inxex document的名称,这个名称随意,一般用inxex.html, 待会把同样名称的文件上传上去。
如果"Block public access (bucket settings)" 开启的话,把它关掉。 然后在permission页面下的"Access Control Lis" 页添加Public access, 添加列和读取权限即可。
3、记得刚才设置静态网站的时候,告诉你的Endpoint链接吗?这个就是网址了,在浏览器输入网址,显示出index.html的内容,整个设置就搞定了。
请参考亚马逊官方文档: http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/HostingWebsiteOnS3Setup.html
⑼ 怎样用linux命令行访问AmazonS3云存储
在Linux上安装s3cmd
在Ubuntu或者Debian上安装s3cm
$ sudo apt-get install s3cmd
在Fedora上安装s3cmd
$ sudo yum install s3cmd
在CentOS或者RHEL上安装s3cm
$ s3cmd put –acl-public 4.png s3://dev99 4.png -> s3://dev99/4.png [1 of 1] 30778 of 30778 100% in 8s 3.34 kB/s done
先从官方站点上下载rpm包,然后手工安装。64位CentOS或RHEL 6,用以下命令:
$ sudo rpm -ivh s3cmd-1.0.0-4.1.x86_64.rpm
配置s3cmd
第一次运行s3cmd需要运行下面的命令做配置:
$ s3cmd –configure
它将会问你一系列问题:
AWS S3的访问密钥和安全密钥
对AWS S3双向传输的加密密码和加密数据
为加密数据设定GPG程序的路径(例如,/usr/bin/gpg)
是否使用https协议
如果使用http代理,设定名字和端口
配置将以保存普通文本格式保存在 ~/.s3cfg.
s3cmd的基本用法
在你的账户中列出所有现有的bucket:
$ s3cmd ls 2011-05-28 22:30 s3://mybucket1 2011-05-29 00:14 s3://mybucket2
建立新的bucket:
$ s3cmd mb s3://dev99 Bucket ’s3://dev99/’ created
上传文件到现有的bucket:
$ s3cmd put 1.png 2.png 3.png s3://dev99 1.png -> s3://dev99/1.png [1 of 3] 26261 of 26261 100% in 5s 4.33 kB/s done 2.png -> s3://dev99/2.png [2 of 3] 201430 of 201430 100% in 2s 98.05 kB/s done 3.png -> s3://dev99/3.png [3 of 3] 46630 of 46630 100% in 0s 56.62 kB/s done
上传文件的默认访问权限是私有的(private),就是只有你自己可以访问,使用正确的访问和安全密码即可。
上传公开访问权限的文件到现有bucket:
$ s3cmd put --acl-public 4.png s3://dev99 4.png -> s3://dev99/4.png [1 of 1] 30778 of 30778 100% in 8s 3.34 kB/s done Public URL of the object is: http://dev99.s3.amazonaws.com/4.png
如果上传的文件授予公开访问权限,任何人在浏览器中都可以通过http://dev99.s3.amazonaws.com/4.png 访问。
查看一个现有bucket的内容:
$ s3cmd ls s3://dev99 2013-06-02 02:52 26261 s3://dev99/1.png 2013-06-02 02:52 201430 s3://dev99/2.png 2013-06-02 02:52 46630 s3://dev99/3.png 2013-06-02 02:56 30778 s3://dev99/4.png
下载现有bucket包含的文件(例如所有的.png文件):
$ s3cmd get s3://dev99/*.png s3://dev99/1.png -> ./1.png [1 of 4] 26261 of 26261 100% in 0s 39.39 kB/s done s3://dev99/2.png -> ./2.png [2 of 4] 201430 of 201430 100% in 7s 24.64 kB/s done s3://dev99/3.png -> ./3.png [3 of 4] 46630 of 46630 100% in 1s 39.34 kB/s done s3://dev99/4.png -> ./4.png [4 of 4] 30778 of 30778 100% in 0s 97.01 kB/s done
删除现有bucket中的文件:
$ s3cmd del s3://dev99/*.png File s3://dev99/1.png deleted File s3://dev99/2.png deleted File s3://dev99/3.png deleted File s3://dev99/4.png deleted
获取现有bucket的信息,包括存储位置和访问控制列表(ACL):
$ s3cmd info s3://dev99 s3://dev99/ (bucket): Location: us-east-1 ACL: dan.nanni: READ ACL: dan.nanni: WRITE ACL: dan.nanni: READ_ACP ACL: dan.nanni: WRITE_ACP
在上传到现有的bucket之前,加密文件:
$ s3cmd -e put encrypt.png s3://dev99 /tmp/tmpfile-pzT1zV3kLZlxDwqA0kwy -> s3://dev99/encrypt.png [1 of 1] 196890 of 196890 100% in 1s 99.51 kB/s done
当用s3cmd下载一个加密过的文件时,它会自动检测加密并在下载过程解密,因此下载和访问加密文件时,就像通常所做的一样:
$ s3cmd get s3://dev99/encrypt.png s3://dev99/encrypt.png -> ./encrypt.png [1 of 1] 196890 of 196890 100% in 1s 131.29 kB/s done
删除现有的bucket:
$ s3cmd rb s3://dev99 Bucket ’s3://dev99/’ removed
注意,你不能删除一个非空的bucket。
⑽ amazon s3的S3 数据加密方法
亚马逊S3 bucket和对象可以通过互联网访问。AWS安全控制用来保护其他的资源,比如安全群组和网络访问控制列表,但不保护S3中的数据。但是也有一些方法可以保护S3中的数据的机密性、完整性和可用性。
默认方式下,创建于亚马逊简单存储服务(S3)的对象只能够为创建它们的人访问。所有者可以授权其他人以粗粒度和细粒度的方式访问。比如一位所有者可以让数据集公开使用,每一个人都可以用这个对象的URL来访问。
或者所有者可以使用S3策略和身份及访问管理用户和群组,允许有限的用户集访问。S3策略也可以基于网络连接属性限制运行。如果你只希望企业网络的用户访问S3中的对象,指定所有的连接都从一个可信任的IP地址范围发出。其他地址尝试访问则会被拒绝。
如果你希望确保从S3下载下来的数据是加密的,拒绝访问任何不适SSL加密的连接。
还有一些方法可以用来在S3中实现加密。如果你使用AWS Key Management Service,就可以使用服务器端加密,允许亚马逊Web服务(AWS)管理加密密钥。为了管理你自己的密钥,你需要使用服务器端加密密钥,并且在企业内部保存。第三种选择是在将数据发送到AWS之前加密数据。在这种场景中,你要管理加密流程的所有方面。
对于在S3中保护数据而言,审计是一个重要的安全流程。存储管理员可以配置亚马逊S3 bucket来记录所有的请求特定bucket的细节。他们可以在其他的亚马逊S3 bucket中存储日志文件,并且用不同的访问控制授权来最小化干预。