草庐IT

java - 使用 AWS Java SDK 为现有 S3 对象设置过期 header

我正在更新AmazonS3存储桶中的现有对象以设置一些元数据。我想为每个对象设置HTTPExpiresheader,以便更好地处理HTTP/1.0客户端。我们正在使用AWSJavaSDK,它允许在不重新上传对象内容的情况下更改对象的元数据。我们使用CopyObjectRequest来做到这一点将对象复制到自身。ObjectMetadata类允许我们设置Cache-Control、Content-Type和其他几个header。但不是Expiresheader。我知道S3使用RESTAPI为PUT对象存储和提供Expiresheader。有没有办法从JavaSDK执行此操作?已更新以表明

java - AWS Lambda/Aws Batch 工作流程

我编写了一个lambda,它被s3存储桶触发以解压缩zip文件并处理其中的文本文档。由于lambda的内存限制,我需要将我的进程转移到AWS批处理之类的东西上。如果我错了请纠正我,但我的工作流程应该是这样的。workflow我相信我需要编写一个lambda来将s3存储桶的位置放在亚马逊SQS上,如果AWS批处理可以读取该位置并进行所有解压缩/数据处理,它们的内存更大。这是我当前的lambda,它接收由s3存储桶触发的事件,检查它是否是一个zip文件,然后将该s3key的名称推送到SQS。我应该告诉AWSbatch在我的lambda中开始读取队列吗?总的来说,我对AWS完全陌生,不确定从

java - AWS Lambda 上基于 GPU 的算法

我有一个执行一些数学运算的函数,需要一个16gb的GPU系统,但这个函数不会总是被触发,其余时间我的系统不会被使用。我开始了解AWSLambda。我可以在Lambda上运行基于GPU的算法吗?这样每当我需要GPU时,我都会将系统放在云端。我需要一些关于它的描述。 最佳答案 您无法为AWSLambda函数指定运行时环境,所以不,您不能要求存在GPU(事实上,AWS选择放入其Lambda池中的物理机几乎肯定不会有一个)。最好的办法是在配置为使用p型实例的计算集群上将需要GPU的函数作为批处理作业运行。导游here可能会有帮助。

java - STS 报错动态 web 模块版本

我使用Spring3.0.6和Maven3.0.3在STS2.9.2中创建了一个Web项目。我已经创建了一些没有错误的页面和代码。我在项目的pom.xml中将Spring库版本从3.0.6升级到3.1.2,现在我收到以下错误消息:DynamicWebModule3.0requiresJava1.6ornewer.项目面的动态web模块版本和Java编译器版本分别设置为2.5和1.6。还将我的项目的JRE系统库设置为1.6。我尝试删除Maven特性,然后再次添加它,JRE系统库自动设置为JSE1.5(但我没有安装Java1.5)。我手动将JRE系统库更改为1.6(以修复关于JRE系统库版

java - 将 AWS Java SDK 客户端对象声明为静态以供并发使用是否安全?

使用AWSJavaSDK同时对多个请求使用相同的客户端对象是否安全。例如,如果我有一个Web服务器同时处理多个请求,并且一个或多个请求需要访问DynamoDB,那么使用静态访问器方法进行读写的静态客户端对象是否安全,例如publicclassDynamoDBManager{privatestaticAmazonDynamoDBClientclient=newAmazonDynamoDBClient(CREDENTIALS);publicstaticvoiddoRead(StringhashKey){//usetheclienttoread}publicstaticvoiddoWrite

java - 如何在 Java 1.7 版上运行 STS

我需要运行eclipse(java1.7)和STS3.8.1(java1.8),但是如果我选择java7作为默认值,我会在STS3.8.1中遇到错误。我正在使用操作系统:ubuntu14.10Error:Version1.7.0_80oftheJVMisnotsuitableforthisproduct.Version:1.8orgreaterisrequired.或者我选择java1.8因为默认的eclipse不能正常工作。我的要求是使用带有STS的java1.7构建一个项目。最新版本3.8.1不支持java1.7。我尝试搜索哪个STS版本支持1.7,但我没有得到任何答案。

java - AWS Lambda连接到Internet

TL;TR我正在尝试从AWSLambda连接到Internet,我有一个带NAT网关的专用子网,但该功能仍无法连接到Internet...完整问题因此,我尝试使用我的AWSLambda函数访问互联网。我曾经尝试过Java和NodeJS4,但都没有碰运气。我有一个带有子网的私有(private)VPC:10.0.10.0/24如您所见,我已经在NAT网关中添加了一条规则:我将AWSLambda配置如下:选择该子网(10.0.10.0),并选择一个对所有内容(入站和出站)都开放的安全组但是,当我尝试从Internet下载某些内容时,lambda超时了:'usestrict';console

java - 如何在 Spring STS 中查看 @Autowired bean 的 Bean 图?

我能够查看通过XML连接的任何bean的Bean图,但是当我有通过注释@Autowired的bean时,它们之间不显示任何箭头。根据STS#171和STS#1066它是很久以前实现的。注意:最后使用STS3.4.0.RELEASE测试如果我部署到tcServer并执行LiveBeanGraph,那么它可以工作,但不使用常规View。 最佳答案 改进feature被要求甚至关闭;但新票仍然说该功能是请求的-甚至在2.8中还没有关闭(STS-2396)。我还没有成功到达那里。没有快乐:(问题说-“当STS为验证目的或为bean图解析Au

java - 部署 Java AWS Lambda 的最佳方式是什么?

有两种“部署”JavaLambda的方法:创建一个包含所有(未打包的)依赖项的“胖”jar,例如通过使用maven-shade-plugin创建一个包含我的代码的zip文件和一个包含所有依赖项的lib目录作为jar文件由于执行我们简单的Lambda的环境需要很长时间才能“启动”(20-30秒),我想知道这两种方法是否比另一种方法“更快”或者可以进一步加速? 最佳答案 我发现FATjar是占用空间小于MB限制的lambda的最佳方法。如果超过MB限制,请将库添加到lambda的lib文件夹并读入。对于库中的jars,我发现lambda

java - 使用 AWS S3 Java 将 ZipOutputStream 上传到 S3 而无需将 zip 文件(大)临时保存到磁盘

我需要从S3下载照片(不在同一目录中),将它们压缩并使用AWSS3JavaSDK再次上传到S3。此zip文件大小可以GB为单位。目前我使用的是AWSLambda,它的临时存储限制为500MB。所以我不想将ZIP文件保存在磁盘上,而是想将ZIP文件(使用从S3下载的照片动态创建)直接流式传输到S3。我需要使用AWSS3JavaSDK。 最佳答案 基本思想是使用流操作。这样您就不会等到ZIP在文件系统上生成,而是尽快开始上传,因为ZIP算法会生成任何数据。显然,一些数据会缓存在内存中,仍然不需要等待整个ZIP生成到磁盘上。我们还将在两个