有効なキーを使用してS3オブジェクトをコピーしようとしていますが、CopyObject()は「指定されたキーは存在しません」を返し続けます。AWSSDK、S3 CopyObjectRequestが有効なキーのNoSuchKeyエラーを返す
ただし、GetObjectとListObjectsは問題なくオブジェクトを返します。
var copyReq = new CopyObjectRequest
{
SourceBucket = bucketName,
SourceKey = key,
DestinationBucket = bucketName,
DestinationKey = ("/UserImages/mynewkeyname.jpg"),
StorageClass = S3StorageClass.StandardInfrequentAccess,
CannedACL = Amazon.S3.S3CannedACL.PublicRead
};
s3.CopyObject(copyReq);
ListObjectsResponse listResponse = s3.ListObjects(new ListObjectsRequest
{
BucketName = bucketName,
MaxKeys = 1,
Prefix = key
});
var request = new Amazon.S3.Model.GetObjectRequest()
{
BucketName = bucketName,
Key = key,
};
var getResponse = s3.GetObject(request);
キーとbucketnameが他に定義されていますが、それらは他の他のAPI応答から引き出された:
は、ここでのサンプルです。この行に基づいて
あなたが言ったようだったが判明したが悪化していることを行うには、よりエレガントな方法でコピーします。その1つの主要なスラッシュSDKはそれを把握することができます。私のSourceKeyのキーは、他の人によって実際に挿入され、二重スラッシュで開始されました。私はコンソールの中で二重スラッシュを削除することはできないので、一つは永久にそこに詰まっていると思う。 – user2245759