小编Ara*_*nde的帖子

AWS Lambda 重命名函数

我错误地为 AWS Lambda 函数指定了错误的名称。现在,我想改变它的名字。我从给定的 stackoverflow 问题中发现,最好的方法是创建一个新函数并将完全相同的代码复制到其中。 是否可以重命名 AWS Lambda 函数?

我正在考虑这样做,但我只是担心数据丢失。由于我的 lambda 目前有 2 个 SNS 触发器,它不断接收数据。所以,如果我停止这个 lambda 并创建一个新的,我会在那段时间丢失一些数据。此外,如果我在删除前一个之前启动新的 lambda,我会在我的数据存储中两次输入一些条目。那么,有什么方法可以用来完成这项工作吗?

rename amazon-web-services aws-lambda

5
推荐指数
1
解决办法
4105
查看次数

几小时延迟调用lambda函数

我想弄清楚什么是5小时后调用aws lambda函数的最佳方法.我有另一个lambda函数可以发出多个检索作业来从aws冰川中取出物品,我需要一个解决方案,一旦它们被检索,就会对每个物品运行另一个lambda函数,大约5个小时.我正在考虑使用sns但是想知道是否还有其他方法.任何输入都表示赞赏.

aws-lambda

5
推荐指数
2
解决办法
3797
查看次数

基于“或”条件的 AWS SNS 消息过滤

SNS 消息过滤页面上有一个 AND/OR 逻辑的例子如下

AND 逻辑:通过使用多个属性名称(键)来应用 AND 逻辑。例如,政策:

{
    "customer_interests": ["rugby"],
    "price_usd": [{"numeric":[">", 100]}]
}
Run Code Online (Sandbox Code Playgroud)

OR 逻辑:通过为属性名称分配多个值来应用 OR 逻辑。例如,策略属性:

"customer_interests": ["rugby", "football", "baseball"]
Run Code Online (Sandbox Code Playgroud)

但是,我们如何为多个属性名称(键)应用“或”逻辑

例如,如果我想更改第一个示例,政策是什么

(customer_interests="rugby" AND price_usd > 100)

(customer_interests="rugby" 或 price_usd > 100)

filter amazon-web-services amazon-sns

5
推荐指数
1
解决办法
1825
查看次数

EC2 与 Elastic Beanstalk 与 Lambda

我有简单的 API,连接到数据库,调用 FB API 等。什么是最好的服务方式。

1) 我首先从 EC2 开始。
好:够便宜。我可以控制一切
坏处:漫长的设置过程。需要控制一切。自己设置监控工具等。请记住很多。

2)接下来我将NodeJS移至EB并将DB移至RDS。
好:只需提交代码,其他所有事情都由服务处理
坏:负载均衡器 + 多实例 + RDS 成本很高。

3)Lambda,考虑迁移到Lambda + API Gateway 设置 看起来很容易实现,监控和支持 不知道要花多少钱。我知道里面有很多配置。

您有什么建议最适合简单的 API 吗?我还考虑只将图片生成移动到 Lambda,并在 EB 上保留简单的 API,如 AUTH、GET 用户等。

amazon-ec2 amazon-web-services node.js amazon-elastic-beanstalk aws-lambda

5
推荐指数
1
解决办法
2540
查看次数

Amazon SES - 未验证电子邮件地址错误 - 已启用生产访问权限

我使用phpmailer发送带有来自Amazon SES凭据的SMTP邮件.
我得到以下错误.
我在SES上的生产访问已启用.

SMTP -> FROM SERVER:220 email-smtp.amazonaws.com ESMTP SimpleEmailService-376766033 
SMTP -> FROM SERVER: 250-email-smtp.amazonaws.com 250-8BITMIME 250-SIZE 10485760 250-AUTH PLAIN LOGIN 250 Ok 
SMTP -> FROM SERVER:250 Ok 
SMTP -> FROM SERVER:250 Ok 
SMTP -> FROM SERVER:354 End data with . 
SMTP -> FROM SERVER:554 Message rejected: Email address is not verified. 
SMTP -> ERROR: DATA not accepted from server: 554 Message rejected: Email address is not verified. 
SMTP Error: Data not accepted. Mailer Error: SMTP Error: Data not …
Run Code Online (Sandbox Code Playgroud)

phpmailer amazon-web-services amazon-ses

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

亚马逊 SES 软退回

当发生软退回事件时,SES 会重试发送电子邮件多长时间。亚马逊 SES 电子邮件中显示“Amazon SES 重试发送电子邮件一段时间”,但没有指定具体时间。

amazon-web-services amazon-ses

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

将 AutoscalingGroup 的 EC2 实例动态添加/删除到 AWS Dashboard Metric Widget

我正在尝试创建一个仪表板,并希望有一个小部件来显示自动缩放中所有EC2 实例的 CPUUtilization 图表。每当通过自动扩展规则添加新实例时,仪表板小部件应自动包含新 EC2 实例的图表,并且当实例被删除时,它应删除该实例的图表。

当我选择自动缩放组作为指标时,它仅在图表中显示一行,尽管该自动缩放组中有 4 个实例。

那可能吗?如果是,我做错了什么?

amazon-ec2 amazon-web-services amazon-cloudwatch amazon-cloudwatch-metrics

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

收到的SQS消息无序

我在python中使用boto3客户端.我正在将消息推送到sqs但是以错误的顺序接收它们.我可以看出他们的发送时间是正确的.

队列创建如下:

boto_session = boto3.Session(region_name=..,aws_access_key_id=..,                                      aws_secret_access_key=...)
sqs_client = boto_session.resource('sqs', endpoint_url=endpoint_url)
sqs_client.create_queue(QueueName=...)
Run Code Online (Sandbox Code Playgroud)

推送消息的代码:

boto_session = boto3.Session(region_name=..,aws_access_key_id=..,aws_secret_access_key=...)
sqs_client = boto_session.resource('sqs', endpoint_url=endpoint_url)
queue = sqs_client.get_queue_by_name(QueueName=stream_name)

i = 0
while i < 10:
    print 'b ' + str(i)
    queue.send_message(MessageBody=raw_data.push(json.dumps(dict(id=i)))
    sleep(2)
    i += 1
Run Code Online (Sandbox Code Playgroud)

和轮询消息的代码:

sqs_resource = boto_session.resource('sqs', endpoint_url=endpoint_url)
queue = sqs_resource.get_queue_by_name(QueueName=queue_name)

while True:
   messages = queue.receive_messages(MaxNumberOfMessages=1,VisibilityTimeout=10,WaitTimeSeconds=5)
   for m in messages:
         print  m.data
         queue.delete_messages(
                Entries=[
                    {
                        'Id': m.message_id,
                        'ReceiptHandle': m.receipt_handle
                    }
                ]
            )
Run Code Online (Sandbox Code Playgroud)

我运行了创建队列代码,然后我推送了消息,然后运行了一个进程来使用消息,如图所示.

我清楚地看到消息是随机排序的.

在sqs中有解决方案吗?或者我应该更换队列?

amazon-sqs amazon-web-services

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

通过 API 中的 Dynamodb 代理服务发布新记录时出现 SerializationException

我正进入(状态

"__type": "com.amazon.coral.service#SerializationException"
Run Code Online (Sandbox Code Playgroud)

作为邮递员和 API Gateway 测试控制台中的回复

尝试使用 API 代理服务将记录直接发布到 dynamodb。我指的是这篇 AWS 文章 - https://aws.amazon.com/blogs/compute/using-amazon-api-gateway-as-a-proxy-for -动态数据库/

这是我的映射

{ 
    "TableName": "TableNameGoesHere",
    "Item": {
    "id" : "$context.requestId"
    "eventName" : "$input.path('$.eventName')",
    "timestamp" : $input.path('$.timestamp'),
    "answers": "$util.parseJson($input.path('$.answers'))"
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:我按照要求做了......并且它起作用了,但是现在如果我尝试添加一个 JSON 对象数组,它会给我上述相同的错误 - 这就是我现在想要做的。请帮忙 - 在谷歌上也找不到任何东西

#set($inputRoot = $input.path('$'))
{ 
    "TableName": "Answer",
    "Item": {
    "id": {
            "S": "$context.requestId"
            },
    "eventName": {
            "S": "$input.path('$.eventName')"
            },
    "timestamp" : {
            "N": "$input.path('$.timestamp')"
            },
    "answers": {
            "S": "$input.path('$.answers')"
            },
    "Line": {
    "S" : "[
#foreach($elem in $inputRoot.Line)
    { …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-api-gateway

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

来自 SQS 的消息去抖动

我需要构建一个瘦服务,其工作是:

通过 HTTP post 向客户端发送更新通知 webhook,通知他们作业已更新。

ID 为 XYZ 的作业由 10 - 1000 个较小的部分组成,我们需要更新它们的状态。1000 个零件的作业,可能需要 2 分钟我们只想每 10 秒左右更新一次(因此我们将发送此更新 webhook 12 次)。

我计划通过 SQS 对来自工作单元的更新消息进行排队,然后出队,执行去抖动并发送 webhook。我的问题是,我不知道如何对特定标识符 XYZ 执行去抖动。

有没有人有任何想法或经验可以分享?如何进行去抖动?

amazon-sqs amazon-web-services debounce

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