草庐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 - 从 JAVA API 获取 Amazon EC2 实例的公共(public) DNS

我已经成功地从JAVAAPI启动、停止和检查先前创建的EC2实例的状态。但是,我很难获得此实例的公共(public)DNS地址。由于我使用StartInstancesRequest启动实例并使用StartInstancesResponse获得响应,因此我无法检索实际的实例对象。下面给出了我的起始代码,它有效:BasicAWSCredentialsoAWSCredentials=newBasicAWSCredentials(sAccessKey,sSecretKey);AmazonEC2ec2=newAmazonEC2Client(oAWSCredentials);ec2.setEndp

java - SSHJ - key 对登录到 EC2 实例

我有一个看起来像SSHJ测试中的pem文件(虽然我没有看到它被引用):https://github.com/shikhar/sshj/blob/master/src/test/resources/hostkey.pem.简单地尝试通过pem文件向EC2实例(读取为字符串)进行身份验证,但遇到了麻烦。有人做过吗?SSHClientssh=newSSHClient();ssh.connect("ec2-XXXXXXX.compute-1.amazonaws.com");ssh.authPublickey("ubuntu",getPemAsString("/Users/me/ec2.pem"

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

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

scala - sbt 不适用于亚马逊 ec2 微型实例

我正在尝试在amazonec2微型实例上使用sbt,但在执行sbt命令时出现此错误。mkdirpruebacdpruebasbtThereisinsufficientmemoryfortheJavaRuntimeEnvironmenttocontinue.Nativememoryallocation(malloc)failedtoallocate715849728bytesforcommittingreservedmemory有什么想法吗?提前致谢! 最佳答案 你必须在运行sbt时使用一个开关来限制使用的内存小于机器上的可用内存。我

java - 从 EC2 访问 SQS - 实例配置文件与角色

我正在尝试从EC2实例上运行的springboot应用程序访问SQS。消费者和SQS队列都在同一个AWS账户上。有人告诉我应该向EC2实例添加实例配置文件以访问SQS。在这种情况下,角色和实例配置文件之间有什么区别?具有适当政策的角色还不够吗? 最佳答案 实例配置文件是单个IAM角色的容器。为了清楚起见,典型的约定是创建同名的IAM角色和实例配置文件。无法直接为EC2实例分配角色,但可以为它分配包含角色的实例配置文件。使用实例配置文件的好处是您无需管理AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。您

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