【问题标题】:Error while deploying Java AWS S3 code to openfaas将 Java AWS S3 代码部署到 openfaas 时出错
【发布时间】:2019-10-02 10:59:45
【问题描述】:

以下是我写的部分代码:

S3Object obj1 = null; obj1 = s3client.getObject("bucketname", "file.yml"); 
S3ObjectInputStream instream = obj1.getObjectContent ();

将代码部署到 openfaas 时出现以下错误:

错误:不兼容的类型:InputStream 无法转换为 S3ObjectInputStream S3ObjectInputStream instream = obj1.getObjectContent();

【问题讨论】:

  • 你能添加更多关于你想要做什么的背景吗?一个代码 sn-p?
  • 您阅读了错误信息吗?这很简单
  • S3Object obj1 = null; obj1 = s3client.getObject("bucketname", "file.yml"); S3ObjectInputStream instream = obj1.getObjectContent (); @Yash
  • 那是编译错误。 部署您的代码时,您不太可能得到。
  • 我已将您提供的 sn-p 作为问题的一部分。但正如@Stephen C 指出的那样,您极不可能仅在部署时遇到此问题。您能否确认您是否能够在本地运行它?

标签: java amazon-web-services openfaas


【解决方案1】:

所以我对 AWS 知之甚少(目前),但是阅读 S3Client 的规范后,您的声明可能不正确,因为似乎没有支持两个 @ 的 S3Client.getObject() 的实现987654324@ 输入。相反,它正在寻找GetObjectRequest(即S3Client.getObject(GetObjectRequest getObjectRequest)

所以你的实现可能必须如下:

S3Object s3Object = s3client.getObject(new GetObjectRequest(bucket, key))

这是一个例子:Amazon.S3.Model.GetObjectRequest

【讨论】:

  • 试过了,但编译时还是报同样的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-12
  • 1970-01-01
  • 2013-02-02
  • 1970-01-01
  • 2017-05-18
  • 1970-01-01
相关资源
最近更新 更多