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

questionAnswers(1)

yourAnswerToTheQuestion