Programowo naśladuje „gsutil mv” na pamięci podręcznej aplikacji w pythonie
Chciałbym zaimplementować operację mv (kopiowanie w chmurze) w pamięci masowej w chmurze Google, która jest podobna do działania gsutil (http://developers.google.com/storage/docs/gsutil/commands/mv).
Wcześniej przeczytałem, że wymaga to odczytu i zapisu (pobierania i ponownego ładowania) danych, ale nie mogę znaleźć fragmentów ponownie.
Czy jest to właściwy sposób na przeniesienie pliku do magazynu w chmurze, czy też trzeba przejść poziom niżej do biblioteki boto, aby uniknąć kopiowania danych przez sieć w celu zmiany nazwy pliku?
istream = cloudstorage.open(src, mode='r')
ostream = cloudstorage.open(dst, content_type=src_content, mode='w')
while True:
buf = istream.read(500000)
if not buf:
break
ostream.write(buf)
istream.close()
ostream.close()
Aktualizacja: Znalazłem pozostałe api, które obsługuje operacje kopiowania i tworzenia i wiele więcej. Wydaje się, że istnieje nadzieja, że nie będziemy musieli kopiować danych na różnych kontynentach, aby coś zmienić.
Przydatne linki znalazłem sofar ...
Podejście oparte na Boto:https://developers.google.com/storage/docs/gspythonlibraryGCS Clinet Lib:https://developers.google.com/appengine/docs/python/googlecloudstorageclient/GCS Lib:https://code.google.com/p/appengine-gcs-clientRAW JSON API:https://developers.google.com/storage/docs/json_api