Tag: amazon web services

AWS S3上载处于WAITING状态

我已经看了几个问题和答案,但我还是无法上传到S3存储桶。 我已经在应用程序标记中的清单中声明了该服务。 每个日志语句都返回正确的信息,但状态始终为WAITING,并且不会触发任何传输侦听器。 我没有收到任何错误,S3存储桶仍然是空的。 我究竟做错了什么? public void uploadStoredItems() { TransferUtility transferUtility = TransferUtility.builder() .context(AWSProvider.getInstance().getContext()) .awsConfiguration(AWSProvider.getInstance().getConfiguration()) .s3Client(new AmazonS3Client(AWSProvider.getInstance().getIdentityManager().getCredentialsProvider())) .build(); try { for (File csvFile : csvFiles) { String filename = csvFile.getName(); //.substring(csvFile.getName().lastIndexOf(‘/’) + 1); Log.d(TAG, “This is the filename for upload: ” + filename); // FileReader reads text files in the default encoding. String line = […]

证书签名validation失败

我的网站托管在亚马逊上。 它建立在java 1.4.2_13的微软版本上。 我注意到电子邮件没有出去。 我没有对代码进行任何更改。 我在亚马逊的网站上找到了这个文件,并按照他们的指示找出我们的java环境没有通过测试。 所以,我导入了新的ssl根证书。 我可以validation它是否在密钥库中,但是当我运行其shaTest并且仍然没有发送电子邮件时,我收到以下错误消息。 任何帮助表示赞赏。 谢谢! Exception in thread “main” javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Certificate signature validation failed at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.b(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect […]

无法与远程计算机建立RMI连接

我似乎无法使用RMI连接2台机器。 为了确保我的代码没有问题,我复制了维基百科( http://en.wikipedia.org/wiki/Java_remote_method_invocation )中的简单示例,并编辑了代码以打印出一个简单的int。 我尝试提供所有权限并关闭所有防火墙,我仍然收到此错误: java.rmi.ConnectException: Connection refused to host 55.229.xx.xxx; nested exception is:java.net.ConnectException: Connection timed out: connect 在过去的3天里我一直在努力做到这一点,我似乎仍然无法克服基本的配置问题。

在JAVA中使用Lambda的AWS DynamoDB触发器

我试图在dynamodb流事件上触发用Java编写的AWS lambda函数。 亚马逊有一个相同的指南,在这里使用NodeJS http://docs.aws.amazon.com/lambda/latest/dg/wt-ddb-create-test-function.html NodeJS的测试输入(来自上面的链接)看起来像一个SNS事件,所以我尝试在Java中使用相应的SNSEvent类作为我的处理程序方法的输入。 import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.LambdaLogger; import com.amazonaws.services.lambda.runtime.events.SNSEvent; import com.amazonaws.services.lambda.runtime.events.SNSEvent.SNSRecord; import java.util.List; public class RecomFunction { public void handler(SNSEvent event, Context context) { LambdaLogger logger = context.getLogger(); List records = event.getRecords(); if (records != null) { for (SNSRecord record : records) { if (record != null) { logger.log(“SNS record: ” + record.getSNS().getMessage()); […]

如何在Amazon SES SendRawEmail中添加Cc和Bcc?

如何在sendrawemail(java)中添加抄送和密送收件人列表。 我只是将所有收件人添加到一个列表并发送邮件。 没有单独的方法来为SendRawEmailRequest设置Cc和Bcc。 有没有办法设置目的地类型的对象? List receipients = new ArrayList(); receipients.addAll(mailToRecipients); receipients.addAll(mailCcRecipients); receipients.addAll(mailBccRecipients); SendRawEmailRequest rawEmailRequest = new SendRawEmailRequest(rawMessage).withDestinations(receipients);

在Spring Cloud AWS中禁用Cloudformation

如何在使用Spring Cloud AWS的Spring启动应用程序中禁用Cloudformation? 在亚马逊上运行我的应用程序时,我一直收到此错误: … Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.aws.core.env.stack.config.StackResourceRegistryFactoryBean]: Factory method ‘stackResourceRegistryFactoryBean’ threw exception; nested exception is com.amazonaws.AmazonServiceException: Stack for i-b5ce9e32 does not exist (Service: AmazonCloudFormation; Status Code: 400; Error Code: ValidationError; Request ID: 75b3076a-176d-11e6-90cc-b55a643dc6d6) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) … 82 more Caused by: com.amazonaws.AmazonServiceException: Stack for i-b5ce9e32 does not exist (Service: […]

使用java的REST API AWS云

我是AWS的新手,想要开发一个云就绪的Java应用程序REST API 。 应用程序将访问MySQL数据库并在查询数据库后生成输出为JSON 。 IP:port/application?q=响应是JSON。 怎么实现呢? MySQL中的数据主要是静态的100MB数据,但经常使用。

在Java SDK Amazon S3中配置路径样式

我正在使用Amazon提供的AWS Java SDK与S3服务进行交互。 似乎默认情况下,SDK使用虚拟主机样式用于存储桶(即存储桶由存储桶名称 .s3.amazonaws.com提供。示例: PUT / HTTP/1.1 Host: a-given-bucket.s3.amazonaws.com Date: Tue, 26 Jun 2012 10:39:40 GMT Content-Type: application/x-www-form-urlencoded; charset=utf-8 Content-Length: 0 但是,我需要在我的应用程序中使用path-style,如下所示: PUT /a-given-bucket/ HTTP/1.1 Host: s3.amazonaws.com Date: Thu, 21 Jun 2012 16:27:32 GMT Content-Type: application/x-www-form-urlencoded; charset=utf-8 Content-Length: 0 可以在Java SDK中使用路径样式吗? 在积极的情况下,我该怎么办? 我看过ClientConfiguration和AmazonS3Client类,但我没有看到任何方法来做… 我的SDK版本在重要的情况下是:2.0.0v201206151133。 谢谢! 费尔明 PD。 为简单起见,样本中省略了一些标题。 编辑:这样的function(配置AmazonS3Client使用的URL路径样式)非常有用,如果你的桶中有一个点(“。”)。 具有虚拟主机风格的HTTPS请求不起作用,请参阅此内容 。

如何通过SDK设置S3对象的内容类型?

我正在尝试使用AWS Api设置多个对象的内容类型,并向其添加“content-encoding:gzip”标头。 这是我的代码: for (S3ObjectSummary summary : objs.getObjectSummaries() ) { String key = summary.getKey(); if (! key.endsWith(“.gz”)) continue; ObjectMetadata metadata = new ObjectMetadata(); metadata.addUserMetadata(“Content-Encoding”, “gzip”); metadata.addUserMetadata(“Content-Type”, “application/x-gzip”); final CopyObjectRequest request = new CopyObjectRequest(bucket, key, bucket, key) .withSourceBucketName( bucket ) .withSourceKey(key) .withNewObjectMetadata(metadata); s3.copyObject(request); } 但是当我运行它时,结果如下: 正如您所看到的,前缀x-amz-meta已添加到我的自定义标头中,并且它们的内容较低。 content-type标题被忽略,而是将www/form-encoded作为标题。 我能做些什么来使它接受我的标题值?

为什么上传到S3的文件具有内容类型application / octet-stream,除非我将文件命名为.html

即使我将内容类型设置为text / html,它最终也会成为S3上的application / octet-stream。 ByteArrayInputStream contentsAsStream = new ByteArrayInputStream(contentAsBytes); ObjectMetadata md = new ObjectMetadata(); md.setContentLength(contentAsBytes.length); md.setContentType(“text/html”); s3.putObject(new PutObjectRequest(ARTIST_BUCKET_NAME, artistId, contentsAsStream, md)); 但是,如果我将文件命名为最终使用.html s3.putObject(new PutObjectRequest(ARTIST_BUCKET_NAME, artistId + “.html”, contentsAsStream, md)); 然后它工作。 我的md对象被忽略了吗? 我如何以编程方式绕过这个,因为随着时间的推移,我需要上传数千个文件,因此不能只进入S3 UI并手动修复contentType。