Я пытаюсь сделать несколько простых операций ввода-вывода файлов, используя amazon S3 и C #.
До сих пор я был в состоянии создавать файлы и перечислять их.Я владелец ведра, и у меня должен быть полный доступ.В CloudBerry я могу создавать и удалять файлы в ведре.В моем коде, когда я пытаюсь удалить файл, я получаю исключение отказа в доступе.
Это мой метод тестирования:
[Test]
public void TestThatFilesCanBeCreatedAndDeleted()
{
const string testFile = "test.txt";
var awsS3Helper = new AwsS3Helper();
awsS3Helper.AddFileToBucketRoot(testFile);
var testList = awsS3Helper.ListItemsInBucketRoot();
Assert.True(testList.ContainsKey(testFile)); // This test passes
awsS3Helper.DeleteFileFromBucket(testFile); // Access denied exception here
testList = awsS3Helper.ListItemsInBucketRoot();
Assert.False(testList.ContainsKey(testFile));
}
Мой метод добавления файла:
var request = new PutObjectRequest();
request.WithBucketName(bucketName);
request.WithKey(fileName);
request.WithContentBody("");
S3Response response = client.PutObject(request);
response.Dispose();
Мой метод удаления файла:
var request = new DeleteObjectRequest()
{
BucketName = bucketName,
Key = fileKey
};
S3Response response = client.DeleteObject(request);
response.Dispose();
После запуска кода файл виден в CloudBerry, и я могу удалить его оттуда.
У меня очень мало опыта работы сAmazon S3, поэтому я не знаю, что может пойти не так.Должен ли я устанавливать какие-либо разрешения для файлов, которые я создаю или загружаю?Почему я могу удалить файл при входе в CloudBerry с теми же учетными данными, которые указаны в моей программе?