99. A-tag-not-highly-recommended

Cloud functionsからFirestoreのStorageにアクセスして、VisionAIをつかう

アプリ開発をイメージさせる写真
Cloud functionsからFirestoreのStorageにアクセスして、VisionAIをつかうにあたってかなり苦労したので、ポイントをまとめておく。 1。Cloud functionにサードパーティのPythonのライブラリを使う場合、requrements.txtを書く必要がある。 2。Firebaseのデータにアクセスする場合、firebaseのプロジェクトの歯車マークから、Python用の設定ファイル(json)をダウンロードし、Cloud FUnctionsにソースコードで登録する必要がある。
import firebase_admin from firebase_admin import credentials from firebase_admin import storage cred = credentials.Certificate(“ダウンロードしたファイル”) firebase_admin.initialize_app(cred, { ‘storageBucket’: ‘ストレージなら、そのばけえと’ }) 2.5 Storageからデータを取得して、一度PILの形式にする source_blob_name = “ふあいるに名前” blob = bucket.get_blob(source_blob_name) img_file = io.BytesIO() blob.download_to_file(img_file) img = Image.open(img_file) 3。Vision AIに渡すデータは、base64の必要がある。 output = io.BytesIO() img.save(output, format=’PNG’) image3 = output.getvalue() image_g = types.Image(content=image3) response = vision_client.document_text_detection(image=image_g) labels = response.full_text_annotation 4。VisionAIを使うためには、VisionAIのAPIを有効にしておく必要がある。ローカルで動かす場合は、それをダウンロードしてパスに設定する必要がある。 https://cloud.google.com/vision/docs?_ga=2.249257607.-1213108839.1578707642 5。cloud functionsをデプロイするのはgcloudを使った方がやりやすかった。なので、gcloudもインストールする必要がある。 使ったgcloudのコメント
https://qiita.com/masaaania/items/7a83c5e44e351b4a3a2c
gcloud functions deploy myfunc2 –trigger-http –runtime=python37 gcloud config configurations list gcloud projects list gcloud config set project projectname GoogleCloudFunctionsのデプロイ方法 Console Consoleのインラインエディタから直接書き込む方法、ローカルのzipファイルをConsoleからアップロードする方法、ローカルのファイルをgcloudコマンドでアップロードする方法の3つがある。最初はお試しでバージョン管理もできないの。2番目は理由不明で失敗する。なので3番目が一番いい。 手順としては、gcloudコマンドを使う際、現在のプロジェクトが正しいことを確認
https://qiita.com/masaaania/items/7a83c5e44e351b4a3a2c
次に、アップロードしたいファイルがある場所へ移動し、そこでterminalを開く gcloud functions deploy myfunc2 –trigger-http –runtime=python37 以前はこれでいけたが、いまはこっちらのほうがいい gcloud functions deploy Gcloudのファンクシィン –entry-point Pythonプログラムの関数の名前 –runtime python37 –trigger-http –allow-unauthenticated https://cloud.google.com/functions/docs/deploying/filesystem?hl=ja
Meditation Tools開発者
絹田 雅
複数の瞑想を学ぶことができるMeditation Toolsの開発者。 売上は人権段階を通じた寄附により社会をより良くすることに使われます。 利用はこちら
twitter-timeline