标签: amazon-web-services

Amazon SimpleDB与Amazon DynamoDB

我对Amazon SimpleDB有一些基本的了解,但根据Amazon DynamoDB描述,它似乎几乎相同:NoSQL Key-value存储服务.

有人可以简单地解释它们之间的主要区别,并告诉在哪些情况下选择一个而不是另一个.

amazon-web-services nosql amazon-simpledb amazon-dynamodb

194
推荐指数
6
解决办法
6万
查看次数

Amazon S3 - HTTPS/SSL - 有可能吗?

我没有任何真实的答案或信息(或者它出现了),我看到了一些其他问题.

我在这里有一张图片:http:
//furniture.retailcatalog.us/products/2061/6262u9665.jpg

哪个重定向到:http:
//furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg

我需要它(https):https:
//furniture.retailcatalog.us/products/2061/6262u9665.jpg

所以我在retailcatalog.us上安装了一个通配符ssl(我们有其他子域名),但它没有用.我去检查
https://furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg

它无法正常工作,这意味着在Amazon S3网站上,https无效.

我该如何工作?

ssl https amazon-s3 amazon-web-services

174
推荐指数
4
解决办法
12万
查看次数

警告:未经保护的私人密钥文件!尝试SSH到Amazon EC2实例时

我正在努力在Amazon EC2实例上设置Panda.我昨晚设置了我的帐户和工具,使用SSH与我自己的个人实例进行交互没有任何问题,但是现在我没有被允许进入Panda的EC2实例. 熊猫入门

我收到以下错误:

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
Run Code Online (Sandbox Code Playgroud)

为了昨晚进入我的个人实例,我已经将我的密钥对chm编译为600,并且在长度上进行了实验,将权限设置为0甚至生成新的密钥字符串,但似乎没有任何工作.

任何帮助都将是一个很大的帮助!


嗯,好像除非在目录上将权限设置为777,ec2-run-instances脚本无法找到我的密钥文件.我是SSH的新手,所以我可能会忽略一些东西.

ssh amazon-ec2 chmod amazon-web-services

173
推荐指数
7
解决办法
16万
查看次数

AWS S3:您尝试访问的存储区必须使用指定的端点进行寻址

我正在尝试使用AWS-SDK-Core Ruby Gem删除上传的图像文件.

我有以下代码:

require 'aws-sdk-core'

def pull_picture(picture)
    Aws.config = {
        :access_key_id => ENV["AWS_ACCESS_KEY_ID"],
        :secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"],
        :region => 'us-west-2'
    }

    s3 = Aws::S3::Client.new

    test = s3.get_object(
        :bucket => ENV["AWS_S3_BUCKET"],
        :key => picture.image_url.split('/')[-2],   
    )
end
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

您尝试访问的存储区必须使用指定的端点进行寻址.请将以后的所有请求发送到此端点.

我知道该区域是正确的,因为如果我将其更改为us-east-1,则会出现以下错误:

指定的密钥不存在.

我在这做错了什么?

ruby ruby-on-rails amazon-s3 amazon-web-services

173
推荐指数
6
解决办法
10万
查看次数

Boto3,python以及如何处理错误

我只是选择python作为我的首选脚本语言,我试图找出如何使用boto3进行正确的错误处理.

我正在尝试创建一个IAM用户:

def create_user(username, iam_conn):
    try:
        user = iam_conn.create_user(UserName=username)
        return user
    except Exception as e:
        return e
Run Code Online (Sandbox Code Playgroud)

当对create_user的调用成功时,我得到一个整洁的对象,其中包含API调用的http状态代码和新创建的用户的数据.

例:

{'ResponseMetadata': 
      {'HTTPStatusCode': 200, 
       'RequestId': 'omitted'
      },
 u'User': {u'Arn': 'arn:aws:iam::omitted:user/omitted',
           u'CreateDate': datetime.datetime(2015, 10, 11, 17, 13, 5, 882000, tzinfo=tzutc()),
           u'Path': '/',
           u'UserId': 'omitted',
           u'UserName': 'omitted'
          }
}
Run Code Online (Sandbox Code Playgroud)

这非常有效.但是当这个失败时(比如用户已经存在),我只得到一个类型为botocore.exceptions.ClientError的对象,只有文本告诉我出了什么问题.

示例:ClientError('调用CreateUser操作时发生错误(EntityAlreadyExists):名称已省略的用户已存在.',)

这个(AFAIK)非常难以处理错误,因为我不能只打开生成的http状态代码(根据IAM的AWS API文档,用户已经存在409).这让我觉得我必须以错误的方式做事.最佳方式是boto3永远不会抛出异常,但juts总是返回一个反映API调用方式的对象.

任何人都可以在这个问题上启发我或指出我正确的方向吗?

非常感谢!

python boto amazon-web-services boto3

171
推荐指数
5
解决办法
13万
查看次数

如何在Amazon S3中重命名文件和文件夹?

是否有任何功能可以在Amazon S3中重命名文件和文件夹?任何相关的建议也欢迎.

amazon-s3 amazon-web-services

169
推荐指数
12
解决办法
15万
查看次数

S3 - Access-Control-Allow-Origin标头

有没有人设法添加Access-Control-Allow-Origin到响应标头?我需要的是这样的:

<img src="http://360assets.s3.amazonaws.com/tours/8b16734d-336c-48c7-95c4-3a93fa023a57/1_AU_COM_180212_Areitbahn_Hahnkoplift_Bergstation.tiles/l2_f_0101.jpg" />
Run Code Online (Sandbox Code Playgroud)

此get请求应包含在响应中,标题, Access-Control-Allow-Origin: *

我对存储桶的CORS设置如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)

正如您所料,没有Origin响应头.

amazon-s3 amazon-web-services http-headers cors

167
推荐指数
15
解决办法
16万
查看次数

AWS错误消息:当前正在对此资源进行冲突的条件操作

我间歇地得到这个错误.

我有一个使用java aws sdk的程序,并将数以千计的小文件加载到s3.我间歇地看到这个错误.

在互联网上快速搜索后找不到任何有用的答案.

请注意,调用程序是单线程的.底层的aws java sdk似乎确实使用了工作线程.

Status Code: 409, AWS Service: Amazon S3, AWS Request ID: 75E16E8DE2193CA6, AWS Error Code: OperationAborted, AWS Error Message: A conflicting conditional operation is currently in progress against this resource. Please try again., S3 Extended Request ID: 0uquw2YEoFamLldm+c/p412Lzd8jHJGFBDz3h7wN+/4I0f6hnGLkPMe+5LZazKnZ
    at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:552)
    at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:289)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2648)
    at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:578)
    at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:503)
Run Code Online (Sandbox Code Playgroud)

java amazon-s3 amazon-web-services

166
推荐指数
6
解决办法
6万
查看次数

DynamoDB与MongoDB NoSQL

我正在试图找出我可以用于未来项目的东西,我们计划在第一年每月存储大约50万条记录,并且可能在接下来的几年中存储更多这是一个垂直应用程序,所以没有必要使用这个数据库,这就是我决定选择noSQL数据存储的原因.

我想到的第一个选择是mongo db,因为它是一个非常成熟的产品,得到了社区的大力支持,但另一方面我们得到了一个全新的产品,提供最佳性能的托管服务,我将开发这个应用但没有维护计划(至少现在),所以我认为这将是一个巨大的优势,因为亚马逊提供了一种弹性的扩展方式.

我主要担心的是查询结构,我还没有看过dynamoDB查询功能,但由于是ak/v数据存储,我觉得这可能比mongo db更受限制.

如果有人有将项目从mongoDB迁移到DynamoDB的经验,那么任何建议都将完全受到赞赏.

mongodb amazon-web-services nosql amazon-dynamodb

161
推荐指数
8
解决办法
13万
查看次数

来自源的字体已被跨源资源共享策略阻止加载

我在几个Chrome浏览器上收到以下错误,但不是全部.目前还不确定问题是什么.

来自" https://ABCDEFG.cloudfront.net "的字体已被跨源资源共享策略阻止加载:请求的资源上没有"Access-Control-Allow-Origin"标头.因此,不允许来源" https://sub.domain.com "访问.

我在S3上有以下CORS配置

<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedHeader>*</AllowedHeader>
   <AllowedMethod>GET</AllowedMethod>
 </CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)

请求

Remote Address:1.2.3.4:443
Request URL:https://abcdefg.cloudfront.net/folder/path/icons-f10eba064933db447695cf85b06f7df3.woff
Request Method:GET
Status Code:200 OK
Request Headers
Accept:*/*
Accept-Encoding:gzip,deflate
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Host:abcdefg.cloudfront.net
Origin:https://sub.domain.com
Pragma:no-cache
Referer:https://abcdefg.cloudfront.net/folder/path/icons-e283e9c896b17f5fb5717f7c9f6b05eb.css
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36
Run Code Online (Sandbox Code Playgroud)

来自Cloudfront/S3的所有其他请求都能正常工作,包括JS文件.

amazon-s3 amazon-web-services cors amazon-cloudfront

153
推荐指数
6
解决办法
24万
查看次数