0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

#4 PowerApps アプリ で撮影した画像を FaceAPI で感情分析してみました

Last updated at Posted at 2021-05-16

概要

PowerApps のカメラで撮影した画像を API Management 経由で FaceAPI に転送し、その画像の分析結果「感情、性別、年齢」を PoweApps に表示するアプリの実装手順を数回に分け記載しています。また、並行して、その分析結果を CosmosDB に保存しておき、PowerApps からの累積情報取得リクエストにより累積クエリ結果「感情分布、性別分布」を PowerApps に返し、円グラフ表示する機能の実装手順も複数回に分け記載します。なお、PowerApp の画面作成については省略し、APIコール部分とその戻り値の部分に焦点をあてて記載しています。
本アプリの全体構成は下図となります。
image.png

今回(第4回目)の構成箇所は下図の部分となります。
image.png

第4回目は、第3回 で作成した API Management(以下、APIM) を PowerAppsカスタムコネクタ からコールし、同様の結果が得られることを確認してみます。


実行環境

macOS Big Sur 11.3
Python 3.8.3


APIM から OpenAPI のエクスポート

PowerApps と APIM が属する Azureのテナント が異なるため、PowerApps から OpenAPI を通じて、APIM にアクセスさせます。そのため、前回作成した APIM の「iturufuncface」 から 「OpenAPI v2 (JSON)」をエクスポートします。
image.png

ローカルに「iturufuncface.swagger.json」というファイル名で OpenAPI がエクスポートされました。


PowerApps での OpenAPI のインポート

PowerApps のサイトに接続し、「データ」-「カスタムコネクタ」から上記でエクスポートされたJSONファイルをインポートします。
画面の手順に従い、コネクタ名には「apim-ituru-face-connect」を定義し、最後に続行ボタンを押します。
image.png


PowerApps のカスタムコネクタの定義

上記手順完了後、各タムコネクタの編集画面に切り替わります。任意でコネクタアイコンをアップロードします。必要であれば説明欄を記載します。
image.png

Swagger定義

画面上部の「Swaggerエディター」をONにし編集します。編集完了後、「コネクタの更新」を押します
image.png

Swaggerは下記のように編集しました。

swagger: '2.0'
info: {title: iturufuncface, version: '1.0', description: Import from "iturufuncface"
    Function App}
host: apim-ituru-faceapi.azure-api.net
basePath: /iturufuncface
schemes: [https]
consumes: []
produces: []
paths:
  /HttpTrigger:
    post:
      operationId: Post-httptrigger
      summary: Face Emotion from FY21-DX
      description: Face Emotion from apim-ituru-faceapi - iturufuncface
      produces: [application/json]
      responses:
        '201':
          description: Created
          schema:
            type: object
            properties:
              emotion: {type: string, example: 笑}
              data: {type: string, example: 88.8%}
          examples:
            application/json: {emotion: 笑, data: 88.8%}
      parameters:
      - name: imagebinary
        in: body
        description: Camera Photo binary
        required: true
        schema: {type: string}
definitions: {}
parameters: {}
responses: {}
securityDefinitions:
  API キー: {type: apiKey, in: header, name: Ocp-Apim-Subscription-Key}
security:
- API キー: []
tags: []

作成されたコネクタは以下のように表示されます。
image.png


PowerAppsからのテスト

カスタムコネクタ「apim-ituru-face-connect」の画面から「テスト」タブを選択します。
image.png

任意の画像のBase64テキストを Base64エンコーダー で生成し、上記の「ImageBinary」欄に貼り付けます。
image.png
image.png

上記画面の「テスト操作」ボタンを押します。実行結果は以下となりました。
image.png

問題なく分析結果を取得できました。これで PowerAppsカスタムコネクタ から APIM -> Functions -> FaceAPI にて、想定する戻り値をJSON形式で取得できていることを確認できました。


次回について

次回(第5回)は Flow から今回作成したカスタムコネクタ経由し、API Management -> Functions -> FaceAPI で同様の結果が得られることを確認してみます。


参考情報

以下の情報を参考にさせていただきました。感謝申し上げます。
PowerApps / PowerAutomate カスタムコネクタを OpenAPI(Swagger)Specから作成する
Swaggerの記法まとめ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?