2016-11-21 3 views
-1

私はこのページを読んで、pythonからGoogleストレージにアクセスする方法を説明します。実装に依存しないストレージアクセス

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

私は私のコードとクラウド・ストレージ・プロバイダー間の結婚を望んでいません。

アマゾンを使用している場合、Googleまたはカスタムストレージはの設定であり、ソースコード以外で処理する必要があります。

クラウドストレージを使用するPythonコードを書く方法はありますか?これは実装に依存しない方法で行いますか?

答えて

1

残念ながら今日それは、各クラウド・ストレージ・プロバイダーが構成、認証、アクセスライブラリの種類を使用する主な理由は、クラウドストレージのタイプのあなたのコードは完全に独立させることが可能ではありません、など

しかし、あなたは、できるだけ一般的で汎用的なAPIの背後に隠れている、各プロバイダに固有の薄い層にそのような依存関係を含めることです。

コードの大部分はこの汎用APIを使用するため、実際のストレージプロバイダの追加、削除、変更時に変更する必要はありません。

+0

ありがとうございます。 AFAIKストレージAPIは非常に単純です:CRUD(作成、読み取り、更新、削除)。はい、コードをきれいに保つために薄いレイヤーを作成できます。私は "不可能"が本当に真実であるかどうか確信しています。リレーショナルデータベースの場合は可能です。また、基本的なSQLだけを実行すると、コードは移植性があり、構成によって具体的な接続が定義されます。 – guettli

+0

まあ、あなたの質問は、ストレージではなく、SQL(私は、基本的に彼らは同じものと見なすことができますが、実装レベルではないと認めている)。 GCSを例にとると、GCS特有のライブラリの 'open()'を使ってファイルを開く必要がありますが、ファイル名でpythonの 'open()'を呼び出すことはできません。逆もまた真です:普通のファイルシステムファイルではGCSの 'open()'を使うことはできません。アマゾンや他のGCS以外のクラウドストレージはもちろん、そのような違いに対応するためにはアダプテーションレイヤーが必要です。これが私の「不可能」の原因です。 –

+0

はい、この質問はストレージAPIについてです。私はそれを単にSQLと比較していました。 2年から5年で実装に依存しないAPIが登場すると思います。 – guettli

関連する問題