8kng / Farmilymeal_GCP_Functions

Functionsのリポジトリ
0 stars 0 forks source link

familyquestion.pyの開発 #1

Open 8kng opened 4 years ago

8kng commented 4 years ago

SQLとの連動が出来ていないので改善する(Android側の問題かもしれない)

8kng commented 4 years ago

使った環境変数は以下の通りになります family_questions=family_questions INSTANCE_CONNECTION_NAME=farmily-meal:asia-northeast1:question DATABASE_USER_PASSWORD=(パスワード) NAME=questions USER=root DRIVER=mysql+pymysql

itok01 commented 4 years ago

https://github.com/8kng/Functions/blob/d92ee4cc4ef673bf4d33ba5f7744e28ec7ad0153/familyquestion.py#L15

.s.PGSQL.5432 がいらなそう 👀

こうしてみて!

query_string = dict({"unix_socket": "/cloudsql/{}".format(connection_name)})
itok01 commented 4 years ago

Python は無理して1行にしなくて大丈夫です! https://github.com/8kng/Functions/blob/d92ee4cc4ef673bf4d33ba5f7744e28ec7ad0153/familyquestion.py#L21

db = sqlalchemy.create_engine(
  sqlalchemy.engine.url.URL(
    drivername=driver_name,
    username=db_user,
    password=db_password,
    database=db_name,
    query=query_string,
  ),
  pool_size=5,
  max_overflow=2,
  pool_timeout=30,
  pool_recycle=1800
)
itok01 commented 4 years ago

driver_name は環境に依存しないコードなので環境変数にしなくて大丈夫です! https://github.com/8kng/Functions/blob/d92ee4cc4ef673bf4d33ba5f7744e28ec7ad0153/familyquestion.py#L14

直接書いて大丈夫!

driver_name = 'mysql+pymysql'
itok01 commented 4 years ago

関数名は hello_world から変えたほうが良さそう(family_question とか) 👀 https://github.com/8kng/Functions/blob/d92ee4cc4ef673bf4d33ba5f7744e28ec7ad0153/familyquestion.py#L16

8kng commented 4 years ago

@itok01 Functionを書き換ました。 GCshellで確認してみましたがまだ追加されていませんでした..

8kng commented 4 years ago

if POST~の部分を削ってみたりSQLに送信するものをtextdataから"何かの文字列"に変更してみましたがまだ連動はできていません...

itok01 commented 4 years ago

Cloud Functions でエラーが出ていないかログを確認してみてください!

8kng commented 4 years ago
noerror

ここを見た限りはFunctions側にエラーはありませんでした

8kng commented 4 years ago

Android側ではNo Network Security Config specified, using platform defaultというLogcatがあったのですが これは参考になりますか? 訳:プラットフォームのデフォルトを使用して、ネットワークセキュリティ構成が指定されていません

itok01 commented 4 years ago

クラス定義は関数(def)の外で! https://github.com/8kng/Functions/blob/44073143a4abfcf4eb531f6027677b7fed647a6c/familyquestion.py#L34-L38

_tablename__ は両端に2つずつです! __ で囲われたメンバは内部的なものということを表しています(おまじない的な)

itok01 commented 4 years ago

DB のユーザ名なども指定してあげてください! https://github.com/8kng/Functions/blob/44073143a4abfcf4eb531f6027677b7fed647a6c/familyquestion.py#L24

engine = sqlalchemy.create_engine(
  sqlalchemy.engine.url.URL(
      drivername=driver_name,
      username=db_user,
      password=db_password,
      database=db_name,
      query=query_string,
  ),
  pool_size=5,
  max_overflow=2,
  pool_timeout=30,
  pool_recycle=1800
)
itok01 commented 4 years ago

今挙げたところ以外は良さそう!ちゃんと書けてるっぽい!