Brighten up your day !!

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

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

0

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

0

⭐️Brighten up your day with NP-Systems⭐️


  • GAEでPythonをデプロイする

    更新日時:2021年4月4日 21時17分

    0 2021年はPython37が良さそう.requirements.txtはpip3 listで表示されたものを書く. 0


  • Angular(Ionic)でHTTPリクエスト

    更新日時:2021年3月24日 18時23分

    0 AngularでバックエンドAPIへアクセスしてデータを取得する際、認証情報やクエリパラメータを付与したい時がある。 Post通信 Get通信 0


  • 3月15日AngularでAdsense

    更新日時:2021年3月15日 06時46分

    0 もう3月を中旬ですね。もう春ですね!Yoasobiに最高にハマっています。 昨日ようやくAngular(Ionic)でAdsenseを表示できるようになりました。 http://ocr-app.np-sys.com/…


  • Oandaのデモ口座における改悪について

    更新日時:2021年2月19日 08時06分

    0 2021年2月はじめに突然Oandaからメールがきて多くの改悪を行うということでびっくりしました。今までも一方的な変更が突然起こり辟易して来ましたが、今回の変化は大きすぎます。 【重要】デモ口座の利用期限およびオーダ…


  • 【oandapyV20】OandaAPIでオーダブック、ポジションブックを取得する

    更新日時:2020年12月7日 21時26分

    0 この記事ではoandapyV20を使ってオーダブック、ポジションブックを取得する方法について記載します。 oandapyV20では、オーダーブックをとるためにはoandapyV20.endpoints.instrum…


  • 【oandapyV20】OandaAPIで価格をStreaming配信で取得する

    更新日時:2020年12月8日 21時29分

    0 この記事ではoandapyV20を使ってStreaming配信でリアルタイムに価格を取得する方法について記載します。 Streaming配信は非常に便利であるものの、最大で250msごとのデータしか提供されませんので…


  • 【oandapyV20】OandaAPIでローソクを取得

    更新日時:2020年12月6日 20時46分

    +1 この記事ではoandapyV20を使ってローソクチャートを取得する方法について記載します。ローソクの長さ、取得データの種類、取得期間の指定方法なども含めて記載します。 oandapyV20では、PricingInf…


  • Adsenseの住所確認の日数と手順について

    更新日時:2020年12月4日 21時42分

    0 Google Adsenseでは、収益が1000円程度を超えると住所確認のために郵送でPINコードが発送されます。振り込み準備に向けて、これに印字された6桁の番号をAdsenseのHPで入力し、住所が正しいことを認証…


  • GAEでPythonをデプロイする

    更新日時:2021年4月4日 21時17分

    0 2021年はPython37が良さそう.requirements.txtはpip3 listで表示されたものを書く. 0


  • Angular(Ionic)でHTTPリクエスト

    更新日時:2021年3月24日 18時23分

    0 AngularでバックエンドAPIへアクセスしてデータを取得する際、認証情報やクエリパラメータを付与したい時がある。 Post通信 Get通信 0


this is single-default.php