草庐IT

aws-documentdb-mongoapi

全部标签

java - 使用 Java 查找 AWS ElastiCache 终端节点

我正在尝试使用最新的JavaAWSSDK以编程方式从我的Java应用程序中获取ElastiCache端点列表。事情似乎不起作用-我可以找到一个有效的CacheCluster,但是当我列出它的节点时,它是空的。这是我的代码:CacheClustercc=it.next();System.out.println("Cachenodetype:"+cc.getCacheNodeType());System.out.println("Numbercachenodes:"+cc.getNumCacheNodes());ListlistCache=cc.getCacheNodes();System

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 - 将 AWS Java SDK 客户端对象声明为静态以供并发使用是否安全?

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

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 - 部署 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生成到磁盘上。我们还将在两个

java - 使用 AWS IAM 或 Cognito 的 Spring Security

我已经编写了几个服务于RESTfulAPI的Spring4后端Web应用程序。我什至设法使用SpringWebSecurity来保护这些。在一种情况下,我们安装了自己的OpenAm实例。转到客户端UI的用户可以登录OpenAM,客户端Web应用程序会在cookie中取回token。我们将该token传递给header中的后端,然后SpringSecurity使用CustomeUserDetailsS​​ervice对照OpenAM检查该token是否有效。如果是这样,我们在SpringSecurityContext中创建一个用户,分配角色,然后我们查看这些角色是否对API有效。如果是,

java - Java 中的 AWS DynamoDB 和 MapReduce

我有一个巨大的DynamoDB表,我想对其进行分析以聚合存储在其属性中的数据。然后应由Java应用程序处理聚合数据。虽然我了解MapReduce背后的真正基本概念,但我以前从未使用过它。在我的例子中,假设我有一个customerId和orderNumbers每个DynamoDB项目中的属性,并且我可以为同一客户提供多个项目。喜欢:customerId:1,orderNumbers:2customerId:1,orderNumbers:6customerId:2,orderNumbers:-1基本上我想对每个customerId的orderNumbers求和,然后使用聚合在Java中执行