2016-11-21 7 views
-1

Я прочитал эту страницу, в которой объясняется, как получить доступ к хранилищу google из python.Внедрение независимого доступа к хранилищу

https://cloud.google.com/appengine/docs/flexible/python/using-cloud-storage

Я не хочу брак между моим кодом и провайдером облачного хранения данных.

Если я использую амазонку, Google или пользовательское хранилище должно быть конфигурации и должно обрабатываться вне моего исходного кода.

Есть ли способ написать код python, который использует облачное хранилище, но делает это независимым от реализации способом?

ответ

1

К сожалению сегодня это не возможно, чтобы сделать ваш код совершенно не зависит от типа облачных систем хранения данных, в первую очередь потому, что каждый поставщик облачных систем хранения данных используют различные виды конфигураций, авторизации, библиотеки доступа и т.д.

Но то, что вы может содержать такие зависимости в тонких слоях, специфичных для каждого провайдера, скрытых за общим, более общим API, который вы создали.

Подавляющее большинство вашего кода будет использовать этот общий API и не придется изменять при добавлении, удалении или изменении фактического поставщика хранилища.

+0

Благодарим вас за ответ. API-интерфейсы хранения AFAIK очень просты: CRUD (создание, чтение, обновление, удаление). Да, я мог бы создать тонкий слой, чтобы мой код был чистым. Я не уверен, действительно ли «невозможно». Для реляционных баз данных это возможно. И если вы используете только базовый SQL, ваш код переносится, а конфигурация определяет конкретное соединение. – guettli

+0

Ну, на ваш вопрос упоминалось хранилище, а не SQL (я признаю, в принципе их можно рассматривать как одно и то же, но на уровне реализации они не являются). Например, при использовании GCS вы ** должны использовать ** open() 'для библиотеки GCS для открытия файла, вы не можете просто вызвать' open() 'python с именем файла. Обратное также верно: вы не можете использовать 'open()' GCS с файлом обычной файловой системы, не говоря уже о amazon или каком-либо другом облачном хранилище, отличном от GCS, для размещения таких различий потребуется слой адаптации. Именно здесь происходит мое «невозможное». –

+0

Да, этот вопрос касается API-интерфейсов хранения. Я просто сравнивал это с SQL. Я предполагаю, что будут реализованные независимые API за два-пять лет. – guettli