Tag: aws java sdk

对于AWS Kinesis的KCL Java库,如何使用requestShutdown和shutdown来执行正常关闭

我正在尝试使用Java中的KCL库的新function来为AWS Kinesis通过注册shutdown hook来优雅地关闭以停止所有记录处理器,然后优雅地停止工作。 新库提供了一个新的接口,需要实现记录处理器。 但它是如何被调用的? 尝试首先调用worker.requestShutdown()然后调用worker.shutdown()并且它可以正常工作。 但是它是否有任何预期的使用方式。 那么使用它们有什么用处,它的好处是什么?

无法初始化类com.amazonaws.partitions.PartitionsLoader

使用Eclipse Mars。我已经通过安装软件从help.Iow添加了aws java sdk 1.11.123。当我运行Tomcat Server 7时,我收到此错误: May 02, 2017 11:57:32 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [PdsServlet] in context with path [/PdsAWS] threw exception [java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.partitions.PartitionsLoader] with root cause java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.partitions.PartitionsLoader 我也明白了 java.lang.NoSuchFieldError: ALLOW_FINAL_FIELDS_AS_MUTATORS 但是当我检查库时,我可以看到PartitionsLoader.How可以解决这个问题吗? 更多似乎相关的错误: May 03, 2017 9:39:04 AM com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException SEVERE: The […]

由于授权,无法访问S3预签名URL

使用Java8和aws-java-sdk 1.10.43我正在尝试获取一个S3文件的预签名URL。 我确实找回了一个链接,但浏览到它会导致此错误: 您提供的授权机制不受支持。 请使用AWS4-HMAC-SHA256 为了强调,我希望生成一个可以通过电子邮件发送并在浏览器中打开的URL,而不是使用Java代码从该URL读取。 我正在使用波纹管代码,我相信我发现我需要以某种方式设置setSSEAlgorithm来使用“v4”,但是我没能使它工作。 我错过了什么? 我应该配置什么(注意:我故意避免配置文件,我希望代码从环境变量设置所有属性) Date expiration = ; GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, targetPath); generatePresignedUrlRequest.setMethod(HttpMethod.GET); generatePresignedUrlRequest.setExpiration(expiration); AmazonS3 s3client = new AmazonS3Client(s3Credentials); URL s = s3client.generatePresignedUrl(generatePresignedUrlRequest); 水桶位于欧洲中心1号 谢谢