web-dev-qa-db-ja.com

App Engine、Pymongo.errors.ServerSelectionTimeoutError:接続閉、接続閉鎖、接続が閉じて

私はPython 3.7とFlask 1.0.2を使っています

私は私のアプリをMongoDB Atlasに接続しました、そしてすべての仕事は地元でうまくいかない

client = Pymongo.Mongoclient(コネクタ)

コネクタは、Atlasによって与えられた私の標準接続文字列です

_connector = "mongodb://xxx:<PASSWORD>@xxcluster-shard-00-00-y0phk.gcp.mongodb.net:27017,xxcluster-shard-00-01-y0phk.gcp.mongodb.net:27017,xxxcluster-shard-00-02-y0phk.gcp.mongodb.net:27017/test?ssl=true&replicaSet=xxxCluster-shard-0&authSource=admin&retryWrites=true"
_

アプリをGoogle App Engine Standard Python3ランタイム環境に展開すると、機能しません。誰かが問題の考えを持っているでしょうか?

コード:enter image description hereAppEngineのログ:enter image description here

ローカルログ(ローカルでうまく機能します):enter image description here

AppEngineエラー:

pymongo.Errors.ServerSelectleceLectionTimeoutError:接続が閉じて、接続が閉じて、接続が閉じて

5

ネットワークとMongoDBクラスタのネットワークとの間のピアリング接続を ATLASのVPCピアリング機能 を設定することをお勧めします。より安全な方法)

必ずA Private Only Connection を実行してください。そうするために、-priを追加してURIを調整する必要があります。

例:

old_con = "mongodb://xxx:<PASSWORD>@xxcluster-shard-00-00-y0phk.gcp.mongodb.net:27017,xxcluster-shard-00-01-y0phk.gcp.mongodb.net:27017,xxxcluster-shard-00-02-y0phk.gcp.mongodb.net:27017/test?ssl=true&replicaSet=xxxCluster-shard-0&authSource=admin&retryWrites=true"
new_con = "mongodb://xxx:<PASSWORD>@xxcluster-shard-00-00-y0phk-pri.gcp.mongodb.net:27017,xxcluster-shard-00-01-y0phk-pri.gcp.mongodb.net:27017,xxxcluster-shard-00-02-y0phk-pri.gcp.mongodb.net:27017/test?ssl=true&replicaSet=xxxCluster-shard-0&authSource=admin&retryWrites=true"
 _
0
gmolaire