gpt4 book ai didi

java - 使用 DigitalOcean Spaces 复制对象

转载 作者:行者123 更新时间:2023-12-02 10:01:25 25 4
gpt4 key购买 nike

我目前正在将 Digital Ocean 与 Amazon S3 SDK 结合使用,并且能够以编程方式上传和删除文件。然而,复制对象似乎是一个大问题。

首先,我的存储桶列表总是返回 0 个结果:

s3Client.listBuckets() // 0 results

其次,我在名为 my_do_space 的空间中有一个名为 company__1/tempom81p2epoksju921ntk/CLASSIFICATION/127a58b2_dd14_4851_88f2_99d28f849191.jpeg 的对象。如果我想在同一空间内复制这个对象,正确的代码会是什么样子?我尝试过以下方法:

s3Client.copyObject("my_do_space","company__1/tempom81p2epoksju921ntk/CLASSIFICATION/127a58b2_dd14_4851_88f2_99d28f849191.jpeg", "my_do_space", "company__1/somenewthing/CLASSIFICATION/test.jpeg");

我也尝试了所有可能的组合,但似乎都不起作用

最佳答案

事实证明我的凭据是错误的,我使用的是以下内容:

digitalocean:
spaces:
endpoint: https://my_bucket.sfo2.digitaloceanspaces.com

由于某种原因,我能够正确地上传/删除文件

当我将凭据更改为:

digitalocean:
spaces:
endpoint: https://sfo2.digitaloceanspaces.com

他们通过代码指定存储桶:

s3Client.putObject(new PutObjectRequest("my_bucket", key, fileToUpload)
.withCannedAcl(CannedAccessControlList.PublicRead));

我能够使用问题中的代码正确复制它

关于java - 使用 DigitalOcean Spaces 复制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55600977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com