小编Ara*_*nde的帖子

Amazon Sqs FIFO队列

我无法使用PHP SDK v2.7.16将消息发送到FIFO队列。

我收到一个异常:即使我传递了有效的MessageGroupId参数,“请求必须包含参数MessageGroupId” 。

 public function sendMessage($queueUrl,$messageBody)
 {
   $this->client->sendMessage(array(
   'QueueUrl'    => $queueUrl,
   'MessageBody' => $messageBody,
   'MessageGroupId'=>'messagegroupid1000',
   'MessageDeduplicationID'=>'messagededuplicationid1000'));
 }
Run Code Online (Sandbox Code Playgroud)

怎么了?

php amazon-sqs amazon-web-services aws-sdk

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

Amazon SQS 是否有任何服务级别协议 (SLA)?例如,它的正常运行时间

作为主题。我尝试从 RabbitMQ 迁移到 SQS。想知道是否有任何正常运行时间保证或类似保证。我所能发现的是,Amazon SQS 将消息存储在跨给定区域的所有可用区的分布式存储中。这是否意味着 SQS 与 AWS 区域一样可靠,或者大多数时候可靠性达到 99.9%(或更好)?

amazon-sqs amazon-web-services

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

使用来自 node.js 的 AWS SES 在邮件中上传 .jpg 图像附件

以下是来自https://github.com/andrewpuch/aws-ses-node-js-examples的代码, 其中有一个示例可以发送和通过电子邮件发送附件,

我修改了代码以从 aws s3 获取图像文件并将其与邮件作为附件一起发送,当我为文本文件执行此操作时,它运行良好,但是当我发送图像时,在邮件中我无法看到图像,因为它已损坏。

当我尝试使用苹果照片应用程序打开时,它显示缺少元数据,我还在邮件标题中添加了 Content-Transfer-Encoding: base64,当我在Content 中尝试使用 utf8、utf-8 和 UTF-8 时-Transfer-Encoding在标题中我从 aws 得到以下响应

{
  "message": "Unknown encoding: utf8",
  "code": "InvalidParameterValue",
  "time": "2017-03-14T08:42:43.571Z",
  "requestId": "2e220c33-0892-11e7-8a5a-1114bbc28c3e",
  "statusCode": 400,
  "retryable": false,
  "retryDelay": 29.798455792479217
}
Run Code Online (Sandbox Code Playgroud)

我修改后的代码用于发送带有邮件的图像附件,我什至尝试将缓冲区编码为 utf-8、base-64,在此上浪费了足够的时间,不知道为什么它已损坏,如果有人以前这样做过,请帮助我

// Require objects.
var express = require('express');
var app = express();
var aws = require('aws-sdk');

// Edit this with YOUR email address.
var email = "*******@gmail.com";

// Load your AWS credentials and try to instantiate the object.
aws.config.loadFromPath(__dirname …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services node.js amazon-ses

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

cloudfront 指向托管在 s3 上的旧版 React

我已将我的React应用程序部署到s3. 我正在使用 Cloudfront 来使用证书并s3 bucket通过HTTPS. 在努力设置完所有内容后,我设法设置了所有内容,现在运行良好。

现在我更新了我的项目,创建了一个新版本bundle.js,上传到s3.

我现在的问题是mydomain.com指向 V1bundle.js

所以我试图挖掘更多,这是我发现的:

  • mydomain.com 指向 V1
  • xxxxx.cloudfront.net 指向 V1
  • mydomain.com.s3-website-eu-west-1.amazonaws.com 指向 V2

所以我的猜测是出于某种原因,cloudfront指向 V1,但为什么呢?那里有一些缓存吗?

这是配置,以防万一:

  • Route53 Type A 指着 xxxxxx.cloudfront.net
  • cloudfront 域是 xxxxxx.cloudfront.net
  • cloudfront CNAMESmydomain.comwww.mydomain.com
  • cloudfront origin domain name and pathmydomain.com.s3-website-eu-west-1.amazonaws.com
  • s3 bucketmydomain.com

PS:只是为了仔细检查问题不仅来自bundle.js,我从存储桶中删除了背景图像,但不知何故,访问时仍然找到并使用它mydomain.com(因此显示V1)

amazon-s3 amazon-web-services amazon-cloudfront amazon-route53 reactjs

4
推荐指数
2
解决办法
1724
查看次数

AWS SQS 和 SES 之间是否可以组合使用?

我们计划将 AWS SES 与 SQS 结合使用。这个想法是将电子邮件内容推送到 SQS,然后 SES 获取队列项目并发送电子邮件。我们正在使用 PHP。我们只是希望在不影响网络服务器性能的情况下实现这一点。

amazon-sqs amazon-web-services

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

S3 cli包括不工作

好吧,我对aws cli非常困惑

我有一个S3桶:

s3://my-bucket
  directory/
    file1
    file2
  backup-logs-1234
  backup-logs-5678
Run Code Online (Sandbox Code Playgroud)

我已经验证了文件在s3桶中,我可以看到它们 aws s3 ls s3://my-bucket

我正在尝试删除文件夹中的所有备份日志(其中8000个).我已经尝试了我能想到的包含/排除的每种组合

1)由于某种原因aws s3 rm "s3://my-bucket/" --include "*backup-logs*" --dryrun试图删除s3://my-bucket/directory/

2)aws s3 rm "s3://my-bucket/" --exclude "*" --include "*backup-logs*" --dryrun没有看到任何要删除的文件

3)我也尝试了"备份"的不同子串(例如b,ba,back)

4)我也尝试添加递归(即使我不希望它),它发现所有文件directory/都符合模式,但没有一个顶层的文件

我确定我做的事情很愚蠢.在此先感谢您的帮助

amazon-s3 amazon-web-services aws-cli

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

外部呼叫上的Lambda函数超时

我有一个Lambda函数,我需要从中进行外部API调用.我已将Lambda函数添加到安全组,VPC和2个子网,它为我提供了以下文本:

启用VPC后,您的Lambda函数将失去默认的Internet访问权限.如果您的功能需要外部Internet访问,请确保您的安全组允许出站连接,并确保您的VPC具有NAT网关.

我进入VPC,创建一个NAT网关(我让AWS创建一个EIP),将它附加到我的lambda函数的一个子网上.

出于调试目的,我的安全组出站功能设置为所有流量/所有目的地(0.0.0.0/0).此VPC的网络ACL也设置为此(具有5个子网,包括具有NAT网关的子网):

100 | ALL Traffic | ALL | ALL | 0.0.0.0/0 | ALLOW
Run Code Online (Sandbox Code Playgroud)

具有相同2个子网的路由表位于VPC上,0.0.0.0/0路由设置为以NAT网关为目标.

VPC上还有一个带有3个其他子网的不同路由表,0.0.0.0/0路由设置为目标Internet网关.

两个路由表都具有相同的local目标IP(VPC的IP).

我得到的错误是:

{ Error: connect ETIMEDOUT x.x.x.x:443
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT',
syscall: 'connect',
address: 'x.x.x.x',
port: 443 }
Run Code Online (Sandbox Code Playgroud)

我正在运行的节点代码在我的桌面节点环境中工作,POST调用在postman中工作,所以我很确定这是我的AWS配置的问题.

我一直在使用这种情况作为资源:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html

amazon-web-services node.js amazon-vpc aws-lambda

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

想要将 WebRequest 的标头值从 API 网关传递到 SQS(作为令牌值或属性)

我在 WebHook 的特定标头中获得签名。我想在令牌主体或属性中将其传递给 SQS。我尝试过以下配置。它不起作用。请帮忙

详情如下:

AWS Service : Simple Queue Service (SQS) 
HTTP method :POST
Path override :Account/QueueName?Action=SendMessage
Execution role :arn:aws:iam::Acc#:role
Content Handling :Passthrough

Body Mapping Templates :
Content-Type : application/json

{
   "MessageBody" : {
       "payload": $input.json('$'),
       "x-api-key" : "$input.params('x-api-key')"
   }
}

Instead of MessageBody, I also tried with "body". 
Response I get :
{
   "Error": {
      "Code": "MissingParameter",
      "Message": "The request must contain the parameter MessageBody.",
      "Type": "Sender"
},
 "RequestId": "d5fc3acf-18dc-5379-9af2-6b4cc42358f3"
}
Run Code Online (Sandbox Code Playgroud)

我缺少什么?请帮忙。我几乎花了一整天的时间试图弄清楚。

提前致谢。

amazon-sqs amazon-web-services aws-api-gateway

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

从 cloudformation/boto3 访问 S3 Bucket 名称的方法?

我的团队想要在 cloudformation 模板中创建一个 S3 存储桶,而不为其分配存储桶名称(让 cloudformation 自行命名)。

从我的 lambda 函数将文件放入 S3 存储桶时,有没有办法让我获取 S3 存储桶的名称,而无需手动查看 AWS 控制台并检查创建的名称?

amazon-s3 aws-cloudformation boto3 aws-lambda

4
推荐指数
2
解决办法
6850
查看次数

EC2实例的PTR记录(无弹性ip)未传播

我根据本文在EC2实例上设置了PTR记录:https : //aws.amazon.com/premiumsupport/knowledge-center/route-53-reverse-dns/。但是,当我使用dig这样的工具测试rDNS时,其结果始终为我提供xxx.compute.amazonaws.com域。我已经等待了几次刷新时间,并多次执行了本文中的步骤,但是记录没有改变。我还为“ in-addr.arpa”托管区域设置了NS记录,以匹配我域的NS记录。

我的设置是:

Hosted zone 1: "domain.com." 
Hosted zone 1 A record: name "domain.com." value "1.2.3.4"
Hosted zone 2: "3.2.1.in-addr.arpa." 
Hosted zone 2 PTR record: name "4.3.2.1.in-addr.arpa." value "domain.com"
Run Code Online (Sandbox Code Playgroud)

我在这里想念什么吗?我还有其他步骤应该采取吗?或者您对如何进一步调试有任何建议?

好像outlook.com一直将我的邮件标记为垃圾邮件,因为rDNS不正确。

很感谢任何形式的帮助。

reverse-dns amazon-ec2 amazon-web-services amazon-route53

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