这部分与测试(localhost,来自 Eclipse)环境中的使用有关。我正在使用带有 com.google.cloud.storage.Storage 的 GCS。在服务器中使用 JAVA(在客户端中使用 GWT)。
最终,我希望将图像存储的 URL 作为 com.google.cloud.storage.Blob 从服务器传递到 GWT,以便使用 MaterialImage 显示。
在本地主机(应用引擎)下运行时出现一个问题,我注意到 Blob 实际上存储在我的 Blob 存储中的 GCP 上(意味着不是本地/临时存储在本地主机上进行测试)。
这最终会在尝试使用 storage.signedUrl 时导致问题,例如:URLsignedUrl = storage.signUrl(BlobInfo.newBuilder("bucket","filename").build(), 2, TimeUnit.DAYS); 这里我收到错误'*未提供签名密钥,无法派生'....
最终,我想要/需要一个在本地主机(用于测试)和 GCP 中的应用引擎上同样有效的解决方案(这意味着,例如,我不想引用我的本地密钥来解决上述问题)。
底线:
我可以在本地主机上临时存储云存储 blob 吗?如何存储?我认为这可能会解决我的问题...
我如何生成一个 URL(不一定是签名的)以便将其提供给客户端中的 MaterialImage 之类的东西。我不一定想将字节传输到客户端(尽管我会对文本文件执行此操作)。
感谢任何帮助或提示......(再次是 JAVA 解决方案)
答案1
你有获取服务URL()方法允许返回提供图像的 URL。使用此方法,您可以为存储在 Cloud Storage 或 Blobstore 中的图像生成 URL。