Jak mogę utworzyć folder w zasobniku za pomocą boto
biblioteki dla Amazon s3?
Postępowałem zgodnie z instrukcją i utworzyłem klucze z uprawnieniami, metadanymi itp., Ale nigdzie w dokumentacji boto nie opisano, jak tworzyć foldery pod wiadrem lub tworzyć folder pod folderami w wiadrze.
Odpowiedzi:
W S3 nie ma koncepcji folderów ani katalogów. Możesz tworzyć nazwy plików, takie jak
"abc/xys/uvw/123.jpg"
wiele narzędzi dostępu S3, takichS3Fox
jak struktura katalogów, ale w rzeczywistości jest to tylko jeden plik w wiadrze.źródło
Załóżmy, że chcesz utworzyć folder abc / 123 / w swoim wiadrze, to bułka z masłem z Boto
Lub użyj konsoli
źródło
new_key()
to wszystko, czego potrzebujesz. Ciąg wysłany do funkcji może mieć postaćabc/123/
lubabc/123/newfile.txt
. Cokolwiek wolisz. Chciałbym zawrzeć to w oświadczeniu if po tym, jak próbuję uzyskać to, co mam nadzieję, w ten sposób:key = bucket.get_key(upgrade_path) if key is None: key = bucket.new_key(upgrade_path)
Zasadniczo, jeśli go nie ma, utwórz je!mp = self._bucket.initiate_multipart_upload(bucket_key)
Z AWS SDK .Net działa doskonale, wystarczy dodać „/” na końcu ciągu nazwy folderu:
Następnie odśwież konsolę AWS, a zobaczysz folder
źródło
Użyj tego:
źródło
Dołącz „_ $ folder $” do nazwy folderu i umieść połączenie.
zobacz: http://www.snowgiraffe.com/tech/147/creating-folders-programmatically-with-amazon-s3s-api-putting-babies-in-buckets/
źródło
Tworzenie folderów jest naprawdę łatwe. Właściwie to tylko tworzenie kluczy.
Możesz zobaczyć mój poniższy kod, który tworzyłem folder z utc_time jako nazwą.
Pamiętaj, że klucz kończy się znakiem „/” znakiem jak poniżej, co oznacza, że jest to klucz:
Klucz = 'folder1 /' + utc_time + '/'
źródło
Aktualizacja na rok 2019, jeśli chcesz utworzyć folder ze ścieżką nazwa_katalogu / folder1 / folder2, możesz użyć tego kodu:
źródło
Chociaż możesz utworzyć folder, dołączając „/” do swojej nazwa_folderu. Pod maską S3 zachowuje płaską strukturę w przeciwieństwie do zwykłego NFS.
źródło
Wypróbowałem wiele metod powyżej i dodanie ukośnika
/
na końcu nazwy klucza, aby utworzyć katalog, nie działało dla mnie:Body
Aby stworzyć katalog, musisz podać parametr:Źródło: ryantuck w numerze boto3
źródło
S3 nie ma struktury folderów, ale istnieje coś, co nazywa się kluczami.
Możemy tworzyć
/2013/11/xyz.xls
i będą wyświetlane jako foldery w konsoli. Ale część pamięci S3 przyjmie to jako nazwę pliku.Nawet podczas pobierania obserwujemy, że możemy zobaczyć pliki w określonym folderze (lub kluczach) za pomocą
ListObjects
metody iPrefix
parametru.źródło
Najwyraźniej możesz teraz tworzyć foldery w S3. Nie jestem pewien od kiedy, ale mam zasobnik w strefie „Standard” i mogę wybrać opcję Utwórz folder z menu rozwijanego Akcja.
źródło