0

Кто-нибудь был успешным в создании резервных копий больших видов хранилищ данных в облачное хранилище? Это экспериментальная функция, поэтому поддержка довольно отрывочная на конце google.Резервное копирование большого хранилища данных (1 ТБ +) в хранилище облачных хранилищ Google

Этот вид, который мы хотим сделать резервным для облачного хранилища (в конечном итоге с целью заимствования из облачного хранилища в большой запрос), в настоящее время составляет 1,2 ТБ.

- description: BackUp 
    url: /_ah/datastore_admin/backup.create?name=OurApp&filesystem=gs&gs_bucket_name=OurBucket&queue=backup&kind=LargeKind 
    schedule: every day 00:00 
    timezone: America/Regina 
    target: ah-builtin-python-bundle 

Мы продолжаем нарваться следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "/base/data/home/apps/s~steprep-prod-hrd/prod-339.366560204640641232/lib/mapreduce/handlers.py", line 182, in handle 
    input_reader, shard_state, tstate, quota_consumer, ctx) 
    File "/base/data/home/apps/s~steprep-prod-hrd/prod-339.366560204640641232/lib/mapreduce/handlers.py", line 263, in process_inputs 
    entity, input_reader, ctx, transient_shard_state): 
    File "/base/data/home/apps/s~steprep-prod-hrd/prod-339.366560204640641232/lib/mapreduce/handlers.py", line 318, in process_data 
    output_writer.write(output, ctx) 
    File "/base/data/home/apps/s~steprep-prod-hrd/prod-339.366560204640641232/lib/mapreduce/output_writers.py", line 711, in write 
    ctx.get_pool("file_pool").append(self._filename, str(data)) 
    File "/base/data/home/apps/s~steprep-prod-hrd/prod-339.366560204640641232/lib/mapreduce/output_writers.py", line 266, in append 
    self.flush() 
    File "/base/data/home/apps/s~steprep-prod-hrd/prod-339.366560204640641232/lib/mapreduce/output_writers.py", line 288, in flush 
    f.write(data) 
    File "/python27_runtime/python27_lib/versions/1/google/appengine/api/files/file.py", line 297, in __exit__ 
    self.close() 
    File "/python27_runtime/python27_lib/versions/1/google/appengine/api/files/file.py", line 291, in close 
    self._make_rpc_call_with_retry('Close', request, response) 
    File "/python27_runtime/python27_lib/versions/1/google/appengine/api/files/file.py", line 427, in _make_rpc_call_with_retry 
    _make_call(method, request, response) 
    File "/python27_runtime/python27_lib/versions/1/google/appengine/api/files/file.py", line 250, in _make_call 
    rpc.check_success() 
    File "/python27_runtime/python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 570, in check_success 
    self.__rpc.CheckSuccess() 
    File "/python27_runtime/python27_lib/versions/1/google/appengine/api/apiproxy_rpc.py", line 133, in CheckSuccess 
    raise self.exception 
DeadlineExceededError: The API call file.Close() took too long to respond and was cancelled. 

ответ

1

Там, как представляется, недокументированные предел время 30 секунд для операций записи с GAE для хранения облака. Это относится также к операциям записи, созданным на бэкэнд, поэтому максимальный размер файла, который вы могли бы создать из gae в облачном хранилище, зависит от вашей пропускной способности. Наше решение состоит в разделении файла; каждый раз, когда задача-писатель приближается к 20 секундам, она закрывает текущий файл и открывает новый, а затем мы присоединяем эти файлы локально. Для нас это приводит к файлам около 500 КБ (сжатый), поэтому это может быть не приемлемым решением для вас ...