Jeśli prześlę plik do S3 z nazwą identyczną z nazwą pliku obiektu w wiadrze, zostanie on nadpisany. Jakie istnieją opcje, aby uniknąć nadpisywania plików o identycznych nazwach plików? Włączyłem wersjonowanie do mojego zasobnika, myśląc, że to rozwiąże problem, ale obiekty są nadal nadpisywane.Amazon S3 unikaj nadpisywania obiektów o tej samej nazwie
Odpowiedz
Mój komentarz z powyższego nie działa. Sądziłem, że ACL będzie również dotyczyć obiektów, ale działa tylko na wiadrach.
Od włączenia wersji, twoje obiekty nie są zastępowane. Jeśli jednak nie określisz wersji w żądaniu GET lub adresie URL, zostanie pobrana najnowsza wersja. Oznacza to, że kiedy wstawiasz i obiektujesz do S3, musisz zapisać identyfikator wersji, który odpowiedź powie Ci w celu pobrania pierwszego obiektu.
Więcej informacji na stronie Amazon S3 ACL for read-only and write-once access.
Dziękujemy! Spróbuję tego. – CyberJunkie
Można również skonfigurować użytkownika IAM z ograniczonymi uprawnieniami. Napisy są wciąż zapisywane (tzn. Aktualizacje), ale używanie IAM jest najlepszą praktyką.
Właściciel (tj. Twój "klucz dostępu długoterminowego i tajny klucz") zawsze ma pełną kontrolę, chyba że całkowicie się z niego wyłączysz, aby go wyłączyć.
Dzięki, że nie pomyślałem o tym. Użytkownik, który nie może zaktualizować/zastąpić, byłby idealny, gdybym mógł go skonfigurować w AWS. – CyberJunkie
Będziesz musiał dokładnie sprawdzić dokumentację. Nie wiem, czy S3 rozumie różnicę między _write_ a _update_. Wiem, że domyślnie (tj. Pełne uprawnienia), zapisy i aktualizacje są traktowane jako to samo. –
Oto moja sugestia, jeśli używasz DB do przechowywania klucza każdego pliku w Twoim wiadrze s3.
Generowanie losowego klucza. Spróbuj wstawić/zaktualizować klucz DB, w polu z ograniczeniem UNIQUE, które zezwala na wpis o wartości pustej. Jeśli się nie uda, klucz został użyty, powtarzaj, aż otrzymasz unikatowy klucz.
Następnie umieść plik na s3 za pomocą klucza, który jest wyjątkowy.
- 1. Metoda nadpisywania Jython o tej samej nazwie
- 2. Kilka pól wyboru o tej samej nazwie
- 3. Funkcja i zmienna o tej samej nazwie
- 4. Android Gradle moduły o tej samej nazwie
- 5. PHP nieaktualne: Metody o tej samej nazwie
- 6. Typedef i enum o tej samej nazwie?
- 7. Excel.Workbook.SaveAs (...) z plikiem o tej samej nazwie
- 8. Używanie dwóch bibliotek DLL o tej samej nazwie i tej samej przestrzeni nazw
- 9. Usuwanie plików cookie o tej samej nazwie, ale różnych ścieżkach.
- 10. dwie funkcje o tej samej nazwie w R
- 11. Jak mogę załadować dwa zadania zadawania o tej samej nazwie?
- 12. Scal kolumny w ramach DataFrame o tej samej nazwie
- 13. Jak wybrać zmienne (bez tekstu) o tej samej nazwie?
- 14. Selen - lokalizowanie wielu elementów o tej samej nazwie klasy
- 15. Funkcja i struktura o tej samej nazwie w C++
- 16. Jak rozwiązać dwie struktury o tej samej nazwie?
- 17. Wykrywanie liczby uruchomionych procesów o tej samej nazwie
- 18. Dziedziczona klasa C++ ma członka o tej samej nazwie
- 19. Ukrywanie wszystkich elementów o tej samej nazwie klasy?
- 20. framework entity 4.1 dwie tabele o tej samej nazwie właściwości
- 21. Wiele grup przycisków radiowych o tej samej nazwie
- 22. Zmienna instancji java i metoda o tej samej nazwie
- 23. SVN: wersjonowany katalog o tej samej nazwie już istnieje
- 24. Zignoruj wszystkie pliki o tej samej nazwie w git
- 25. Obsługa parsera Jacksona nazw wielu pól o tej samej nazwie
- 26. Zapobieganie wielu instancjom na serwerze o tej samej nazwie użytkownika
- 27. Automatyczne tworzenie #region o tej samej nazwie w #endregion
- 28. PHP Przesyłanie i nadpisywanie pliku o tej samej nazwie
- 29. Przekaż funkcję o tej samej nazwie w React
- 30. PyPdf2 zagnieżdżone zakładki o tej samej nazwie nie działające
Nie jestem pewien, ale czy nie można ustawić listy ACL na tylko do odczytu dla tego obiektu? Mam na myśli, dla każdego przesłanego obiektu. – Prinzhorn
Ustawiam ACL jako publiczny, ponieważ pliki mogą być widoczne dla każdego. – CyberJunkie