我正在尝试通过ec2实例访问我的s3存储桶。我遵循AWS在线教程。
(Mac)我已经设置了一个ec2实例。创建了存储桶,并将某些文件从本地同步到存储桶。使用fullS3access为ec2实例创建了一个IAM角色。然后ssh到ec2实例。列出s3存储桶时,可以看到要访问的存储桶。但是我无法使用cd访问存储桶。在实例中,本教程使用“ cd s3-demo”行,但我不明白他从何处获得此名称,其含义以及在我的情况下的含义。
[Mac]$ aws s3 sync 'folder_name' s3://'bucket_name'/'folder_name'
[Mac]$ ssh -i /Users/../''.pem ec2-user@'public_DNS'
[ec2-user@'public_DNS' ~]$ aws s3 ls
[out]: 'name of the bucket I created'
[ec2-user@'public_DNS' ~]$ cd 'name of the bucket'
[out]: -bash: cd: 'name of the bucket': No such file or directory
Online course: AWS Cloud Practitioner Essentials (Second Edition)
答案 0 :(得分:0)
这不是S3的工作方式,您需要使用awscli命令为每个请求(PUT,GET等)进行API调用。 以下是一些文档的开头: https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html
要以自己的方式访问它,需要将存储桶安装到系统中,然后可以像系统目录一样对其进行访问。 为此,可以使用s3fs: https://github.com/s3fs-fuse/s3fs-fuse
答案 1 :(得分:0)
Amazon S3是对象存储系统。旨在通过API调用进行访问。
虽然有一些实用程序将S3作为驱动器进行仿真,但使用此类接口进行生产可能会遇到困难。 (在幕后,它就像您一样对S3进行API调用。)
相反,我建议您使用AWS Command-Line Interface (CLI)(它是一个为您进行API调用的简单Python程序),或者使用AWS SDK作为您的首选编程语言与Amazon S3进行通信