小编Ara*_*nde的帖子

Amazon EBS,快照作为增量备份

我正在研究一种自动化机制,以便每天备份我们的EBS卷.

我非常了解创建新快照的步骤.显然,这一切都非常简单,你有一个可以快照的EBS卷,你可以随时恢复快照.精细.

但我关心的是快照的大小,我知道这些快照在S3中存储了压缩,我们将根据快照的大小来收费.如果我们拥有大量数据,那么我们每次备份的发票都会大幅增加.

但是,根据亚马逊的网页,这些快照是增量的.这解决了我的问题,因为每日备份只会上传自上次快照以来已更改的数据.但这引出了我的下一个问题:如果备份是增量备份而我们只上传修改后的数据,那么原始数据存储在哪里?(即显然无法逐步完成的第一个快照......)

不幸的是,我无法在整个亚马逊的文档中找到这些信息.

有没有人有快照及其账单的经验?

我很感激任何帮助,谢谢!

backup snapshot amazon-ec2 amazon-ebs amazon-web-services

22
推荐指数
1
解决办法
5840
查看次数

使用Amazon-SES发送附件

我正在寻找一个有效的C#示例,用于向Amazon-SES发送附件.

在阅读了Amazon-SES现在支持发送附件后,我正在搜索C#示例,但无法找到它.

.net c# amazon-web-services amazon-ses

21
推荐指数
4
解决办法
1万
查看次数

通过CLI为AWS DynamoDB put-item提供的无效类型(unicode v.dict)

我想通过命令行向DynamoDB表添加一个项目,但是我遇到了类型错误.

我想要添加的数据非常简单:

{
  "id": "1"
}
Run Code Online (Sandbox Code Playgroud)

我正在运行的命令同样简单:

aws dynamodb put-item --table-name my_table --item '{ "id": "1" }'
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Invalid type for parameter Item.id, value: 1, type: <type 'unicode'>, valid types: <type 'dict'>
Run Code Online (Sandbox Code Playgroud)

我来自JavaScript背景,所以我不熟悉dict类型.根据我从我读过的一些资料中理解,这是一个Python的东西?如何将我的数据更改为DynamoDB可以处理的内容?

amazon-web-services amazon-dynamodb aws-cli

18
推荐指数
1
解决办法
2万
查看次数

Lambda函数错误:EROFS:只读文件系统,打开'./tmp/test.zip'在完成请求之前退出流程

我从s3存储桶下载了一个zip文件,然后解压缩了zip文件,最后使用Node JS将一个文件上传到Lambda函数中的s3存储桶.但是我收到了错误

==>错误:EROFS:只读文件系统,打开'./tmp/test.zip'"在完成>请求之前退出流程"

exports.handler = function (callback) {

downloadZipFile(params, downloadPath, function (err) {
    if (err) {
        callback(err);
    } else {
        processZipFile(downloadPath, function (err) {
            if (err) {
                callback(err);
            } else {
                callback(null);
            }
        });

      }
  });

};

function downloadZipFile(params, downloadPath, callback) {

const file = fs.createWriteStream(downloadPath);

s3.getObject(params)
    .on('httpData', function (chunk) {

        file.write(chunk);
    })
    .on('success', function () {

        callback(null);
    })
    .on('error', function (err) {

        callback(err);
    })
    .on('complete', function () {

        file.end();
    })
    .send();
}

function processZipFile(filePath) {

const stats = fs.statSync(filePath) …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 node.js aws-lambda

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

然后回应继续使用AWS Lambda/API Gateway?

我目前有一个Web钩子,它正在调用AWS API Gateway - > AWS Lambda函数代理.我想让网络钩子更具响应性,并在继续处理Lambda时返回早期回复.

我继续从Lambda(Node v6.10)做了这个早期回复,但似乎没有提高响应能力.尽管已经有来自回调的响应,API网关是否在某种程度上等待Lambda完成执行?

另一个想法是从Lambda发布SNS通知并进行第二次Lambda侦听并继续处理,但如果有更简单的方法,则宁愿避免这种复杂化.

amazon-web-services aws-lambda aws-api-gateway

15
推荐指数
1
解决办法
3030
查看次数

可以在grails邮件插件中设置不同于地址的回复地址吗?

我正在使用Grails邮件插件通过Amazon SES发送电子邮件.Amazon SES强制要求验证'from'地址,这意味着我控制的域名,这很好,但我发送的大部分邮件都是代表系统中希望任何回复直接发送给他们的客户.鉴于此,我想将回复设置为与from不同,这是否可能在Grails邮件插件中?

所以电子邮件最终会成为

From: noreply@domainThatIControl.com
Reply-To:  customer@customersDomain.com
Subject: ...
Body: ...
Run Code Online (Sandbox Code Playgroud)

email grails amazon-web-services amazon-ses

14
推荐指数
1
解决办法
3481
查看次数

使PHP的mail()异步

我有PHP mail()使用ssmtp,它没有队列/假脱机,并且与AWS SES同步.

我听说我可以使用SwiftMail来提供一个假脱机,但是我无法像我目前那样找到一个简单的配方来使用它mail().

我希望用最少量的代码来提供异步邮件.我不在乎电子邮件是否发送失败,但是有一个日志会很好.

任何简单的提示或技巧?没有运行一个完整的邮件服务器?我在想sendmail包装器可能是答案,但我无法解决nohup.

php email asynchronous amazon-web-services amazon-ses

14
推荐指数
3
解决办法
1万
查看次数

Amazon SQS消息正文的用途

当您已经能够添加消息属性时,在SQS中使用消息体的目的是什么?

让我们举一个例子,我们想new-user在新用户注册时将消息推送到队列,我想这个消息会有一个属性userId,我看不到body这里的用法.

amazon-sqs amazon-web-services

14
推荐指数
2
解决办法
5454
查看次数

使用C#SMTP API时如何从SES获得响应

.Net SmtpClient的Send方法返回void.它只抛出两个异常,SmtpExceptionFailureToSendToRecipientsException(或类似的东西).

使用SES时,为了成功发送电子邮件,SES会发回带有消息ID的200 OK消息.需要跟踪此消息ID.

如何使用C#SMTP api执行此操作?

编辑:SMTP协议提到SMTP服务器发送的各种响应代码.我正在寻找一个SMTP库,向调用者公开"最终"响应代码.我已经知道SES HTTP API了.我暂时不打算使用它.

c# smtp amazon-web-services amazon-ses

13
推荐指数
1
解决办法
1736
查看次数

AWS S3 CLI CP文件并添加元数据

尝试将名为test.txt的本地文件复制到我的s3存储桶并将元数据添加到该文件中.

但它总是打印错误:

参数--metadata-directive:无效的选择,有效的选择是:COPY | 更换

是否可以使用cp命令执行此操作,因为我理解应该可以使用的文档. AWS CLI CP DOCS

这是我试过的命令:

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata x-amz-meta-cms-id:34533452

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata-directive COPY --metadata x-amz-meta-cms-id:34533452

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata-directive COPY --metadata '{"x-amz-meta-cms-id":"34533452"}'

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata '{"x-amz-meta-cms-id":"34533452"}'
Run Code Online (Sandbox Code Playgroud)

aws --version: aws-cli/1.9.7 Python/2.7.10 Darwin/16.1.0 botocore/1.3.7

操作系统:macOS Sierra版本10.12.1

编辑

值得一提的是,上传没有--metadata标志的文件可以正常工作.

嗯,我已经检查了我的cli版本的帮助,aws s3 cp help 结果它没有--metadata作为一个选项列出,因为上面给定链接的文档确实如此.

如果runnig旧版本的aws cli

Use aws s3api put-object
Run Code Online (Sandbox Code Playgroud)

如何将文件上传到存储桶并添加元数据:

aws s3api put-object --bucket a-bucket --key test.txt …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-cli

13
推荐指数
2
解决办法
1万
查看次数