小编Max*_*val的帖子

从 S3 上传 AWS Lambda 和 zip

这个功能的好处我不清楚(我没有找到任何好的文档):

  1. 如果您对许多 lambda 函数重复使用相同的 zip 文件,因为您只上传 1 次并且只将 S3 链接 URL 提供给每个 lambda 函数,它会更快吗?
  2. 如果您使用 S3 链接,当您重新上传 zip 文件时,所有 lambda 函数是否会自动更新为最新代码,这意味着 S3 上的 zip 文件是否是每次调用 lambda 函数时使用的“参考”?

谢谢你。

编辑:
有人问我“你为什么要为多个 Lambda 函数使用相同的代码?” 因为我将 AWS Lambda 与 AWS API Gateway 一起使用,所以我有 1 个项目,其中包含所有处理程序,这些处理程序是我的 RESTful API 的实际“端点”。

编辑 #2:我确认在 S3 上上传 zip 文件的修改版本不会改变现有的 lambda 函数结果。

如果 AWS 人员阅读了此消息,那么拥有一种批量更新功能会很棒,该功能可以通过一次单击在 S3 上使用 1 个 zip 文件更新一组选定的 lambda 函数(甚至是“自动更新”功能,可以检测何时文件已更新;-))
假设您在 1 个项目中有 50 个处理程序,然后您修改了影响所有这些处理程序的全局内容,目前您必须检查所有 lambda 函数并手动更新 zip 文件...

amazon-web-services aws-lambda

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

以编程方式设置AWS区域

我使用aws-java-sdk版本1.11.104。根据AWS凭证doc,默认区域为us-east-1,但是当我创建客户端时未手动设置区域时,如下所示:

AWSCredentialsProvider awsCredentialsProvider =
    new AWSStaticCredentialsProvider(new BasicAWSCredentials(awsAccessKey, awsSecretKey));
AmazonS3 s3Client = 
    AmazonS3ClientBuilder.standard().withCredentials(awsCredentialsProvider).build();
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

com.amazonaws.SdkClientException:
   Unable to find a region via the region provider chain.
   Must provide an explicit region in the builder or setup environment to supply a region.
Run Code Online (Sandbox Code Playgroud)
  1. 为什么不使用默认区域?

    我试图在上面的代码之前添加以下内容,但仍然无法正常工作。

    System.setProperty(SDKGlobalConfiguration.AWS_REGION_ENV_VAR, "us-east-1");
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如何以编程方式设置AWS区域?(我想在运行时为项目的所有类设置它)。

谢谢。

编辑:

我知道我可以.withRegion()在客户端的生成器上使用,但是我期望使用默认区域,或者是通过默认区域提供程序链从环境变量中选择的区域。

java amazon-web-services aws-sdk

6
推荐指数
2
解决办法
7856
查看次数

Camel 不检索 SQS 消息属性

这是路线:

from("aws-sqs://myQueue?accessKey=RAW(xxx)&secretKey=RAW(yyy)&deleteAfterRead=false")
.log("Attributes: ${header.CamelAwsSqsAttributes}")
.process(new Processor() {
    @Override
    public void process(Exchange exchange) throws Exception {
        Map<String, String> messageAttributes = (Map<String, String>) exchange.getIn().getHeader("CamelAwsSqsAttributes");
        ...
    }
});
Run Code Online (Sandbox Code Playgroud)

.log()示出了空的映射,以及如果我打印为messageAttributes从处理器。

我也尝试使用标题"CamelAwsSqsMessageAttributes"而不是"CamelAwsSqsAttributes"但仍然没有。

不过,我从AWS控制台看到了属性。
顺便说一下,我得到了消息正文,我使用了 Camel 2.15

apache-camel amazon-sqs

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

jQuery Mobile + backbone.js:返回时的页面转换

在我的骨干路由器的初始化功能中我有

$(document).on('click', '.back', function(e) {
    e.preventDefault();
    window.history.back();
});
Run Code Online (Sandbox Code Playgroud)

我定义了我的后退按钮

<a data-rel="back" class="back">Back</a>
Run Code Online (Sandbox Code Playgroud)

事情是我想在我回去时改变过渡和方向(反向=真),目前它使用默认值.

顺便说一下,主干负责创建页面和路由,我只使用JQ Mobile用于UI(你可以看到我如何在那里更改页面:jQuery Mobile + backbone.js:navbar问题).

谢谢.

jquery-mobile backbone.js

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