使用 DigitalOcean Spaces 复制对象
Copy Objects using DigitalOcean Spaces
我目前正在使用带有 Amazon S3 SDK 的 Digital Ocean,我能够以编程方式上传和删除文件。然而,复制对象似乎是一个大问题。
首先,我的存储桶列表总是 return 0 个结果:
s3Client.listBuckets() // 0 results
其次,我在名为 my_do_space
的 space 中有一个名为 company__1/tempom81p2epoksju921ntk/CLASSIFICATION/127a58b2_dd14_4851_88f2_99d28f849191.jpeg
的对象。如果我想在同一个 space 中复制这个对象,正确的代码会是什么样子?我尝试了以下方法:
s3Client.copyObject("my_do_space","company__1/tempom81p2epoksju921ntk/CLASSIFICATION/127a58b2_dd14_4851_88f2_99d28f849191.jpeg", "my_do_space", "company__1/somenewthing/CLASSIFICATION/test.jpeg");
我也尝试了所有可能的组合,其中 none 似乎有效
事实证明我的凭据有误,我使用的是以下内容:
digitalocean:
spaces:
endpoint: https://my_bucket.sfo2.digitaloceanspaces.com
出于某种原因,我能够从中正确地 upload/delete 文件
当我将凭据更改为:
digitalocean:
spaces:
endpoint: https://sfo2.digitaloceanspaces.com
他们通过代码指定存储桶:
s3Client.putObject(new PutObjectRequest("my_bucket", key, fileToUpload)
.withCannedAcl(CannedAccessControlList.PublicRead));
我能够使用问题中的代码正确复制它
我目前正在使用带有 Amazon S3 SDK 的 Digital Ocean,我能够以编程方式上传和删除文件。然而,复制对象似乎是一个大问题。
首先,我的存储桶列表总是 return 0 个结果:
s3Client.listBuckets() // 0 results
其次,我在名为 my_do_space
的 space 中有一个名为 company__1/tempom81p2epoksju921ntk/CLASSIFICATION/127a58b2_dd14_4851_88f2_99d28f849191.jpeg
的对象。如果我想在同一个 space 中复制这个对象,正确的代码会是什么样子?我尝试了以下方法:
s3Client.copyObject("my_do_space","company__1/tempom81p2epoksju921ntk/CLASSIFICATION/127a58b2_dd14_4851_88f2_99d28f849191.jpeg", "my_do_space", "company__1/somenewthing/CLASSIFICATION/test.jpeg");
我也尝试了所有可能的组合,其中 none 似乎有效
事实证明我的凭据有误,我使用的是以下内容:
digitalocean:
spaces:
endpoint: https://my_bucket.sfo2.digitaloceanspaces.com
出于某种原因,我能够从中正确地 upload/delete 文件
当我将凭据更改为:
digitalocean:
spaces:
endpoint: https://sfo2.digitaloceanspaces.com
他们通过代码指定存储桶:
s3Client.putObject(new PutObjectRequest("my_bucket", key, fileToUpload)
.withCannedAcl(CannedAccessControlList.PublicRead));
我能够使用问题中的代码正确复制它