IT Hands-on Lab

小規模組織向けIT環境の構築・運用に役立つ情報を、ハンズオン形式で紹介しています。

【Microsoft Azure AI翻訳×Power Apps】ドキュメント翻訳アプリ1

Microsoft Azure AI 翻訳 × PowerApps ドキュメント翻訳アプリ1

Microsoft社が提供する、Azure AI 翻訳サービスとローコード開発ツール「Power Platform」のアプリ機能(Power Apps)を使用した、ドキュメント翻訳アプリの作成例を紹介します。
これにより、アプリからアップロードしたファイル(pdfやwordなど)のAIによる翻訳結果のファイルを取得できるようになります。
  • 操作環境:
    • OS:Windows 11
    • Webブラウザー:Edge
  • 使用プラン:
    • Power Apps:Microsoft 365 Business Premium(試用版)
    • Azure:従量課金制
    • Azure AI 翻訳:F0(フリー)

 

 

要件・処理の流れ・項目の整理

この例では、以下のような要件にもとづき、アプリを実装します。

  • 他国語によるドキュメントの確認や作成の必要性が高くなっている。特定メンバーや使用時期等が決まっている訳ではないため、固定プランのサービスではコストパフォーマンスが悪く、使用した分だけ請求されるのが望ましい。
  • 過去に実行したドキュメント翻訳の結果を履歴データとして保管し、アプリから本人の実行履歴のみ照会・ダウンロードできるとよい。

 

このアプリの処理の流れは以下の通りとします。
アプリは作成画面と履歴画面の二画面とし、翻訳は前者の画面からフローを呼び出すことで実行します。
フロー内ではAzure Storageを介してAzure AI 翻訳サービスによりドキュメント翻訳を実行し、履歴をSharePointリストに保管します。
履歴画面はSharePointリストの本人分データのみ照会できるようになっており、翻訳後ドキュメントのダウンロードも実施できます。

図表1-1 処理の流れ

図表1-1 処理の流れ

 

このアプリで扱う項目は以下の通りとします。

項目名(説明) データ種類 必須 初期値等 特記事項
create_at(作成日時) 日時 今日の日付(自動取得)  
create_user(作成者) 一行テキスト (自動取得) データ:UPN/表示:DisplayName
file_name(ファイル名) 一行テキスト    
language(翻訳後言語) 一行テキスト    
memo(メモ) 複数行テキスト      
ID 数値 (自動取得) SharePointリストに予め用意されている
添付ファイル ファイル     SharePointリストに予め用意されている
図表1-2 取り扱い項目

 

アプリの完成イメージ

先に完成イメージを紹介します。

 

まずは作成画面の操作です。
翻訳したいドキュメント(1個)をアップロードします。
ドキュメントはWordだけでなく、PDFやPowerPoint等も使用可能です。

図表2-1 完成イメージ(作成画面-アップロード)

図表2-1 完成イメージ(作成画面-アップロード)

 

翻訳後言語を指定し、[翻訳]ボタンを選択します。なお、翻訳前言語はAzure AI 翻訳が自動識別するため、指定は不要です。
翻訳が完了すると(この例では30秒程度かかリます)、翻訳後ドキュメントのダウンロードリンクが表示されます。これを選択すると、翻訳後ドキュメントを確認できます。

図表2-2 完成イメージ(作成画面-翻訳実行)

図表2-2 完成イメージ(作成画面-翻訳実行)

 

履歴画面は作成画面右上のフォルダーアイコンから遷移できます。本人が実行した翻訳履歴を確認でき、[↓]アイコンから翻訳後ドキュメントのダウンロードもできます。

図表2-3 完成イメージ(履歴画面)

図表2-3 完成イメージ(履歴画面)

 

Azure 従量課金制サインアップ

まずはAzureに従量課金制でサインアップします。
Azureポータルのホーム画面にアクセスし、[その他のサービス]を選択します。
なお、Azureポータルにアクセスできない場合は、サインアップ/サインインから進めます。

図表3-1 AzurePortal画面

図表3-1 AzurePortal画面

 

[すべてのサービス]画面の検索欄に[サブスクリプション]と入力し、[サブスクリプション]を選択します。
[サブスクリプション]画面に遷移し、サブスクリプションがない状態なので、[追加]を選択します。

図表3-2 サブスクリプションの追加へ

図表3-2 サブスクリプションの追加へ

 

[従量課金制]の[標準オファーを選択します]を選択します。
Azureを無料試用したことがない場合は、[Azureを無料で試す]も選択できます。

図表3-3 サブスクリプションのプラン選択

図表3-3 サブスクリプションのプラン選択

 

[アグリーメント]画面で[顧客契約に同意します。]にチェックをつけ、[次へ]を選択します。
[支払情報]画面で支払方法を選択し、[次へ]を選択します。

図表3-4 プランに関する合意

図表3-4 プランに関する合意

 

[テクニカルサポートを追加する]画面で一番下のオプション(費用がかからないもの)を選択し、[サインアップ]を選択します。
[アカウントの保護]画面が表示される場合、[次へ]を選択します。

図表3-5 Azureサインアップ

図表3-5 Azureサインアップ

 

[クイックスタートセンター]では何もせず、左上の[ホーム]を選択します。
Azureポータルのホーム画面に戻ったら、[サブスクリプション]を選択します。

図表3-6 サブスクリプションメニューへ

図表3-6 サブスクリプションメニューへ

 

Azureにサインアップした時点で、[Azure subscription 1]というサブスクリプションが自動作成されている筈です。表示されない場合は、フィルターの[サブスクリプション]の箇所で[すべてのサブスクリプション]に変更して確認します。
なお、私は当初、自動作成されたサブスクリプションがフィルターで隠れているのに気付かず、別途サブスクリプションを手動作成してしまいました。手動作成分は不要ですので、無効化しました。
この後、自動作成されたサブスクリプションの下に、リソースグループを追加します。

図表3-7 作成されたサブスクリプションの確認

図表3-7 作成されたサブスクリプションの確認

 

Azure リソースグループ作成

前の工程の画面の続きです。
自動作成されたサブスクリプションを選択します。
左メニューの[リソースグループ]を選択します。

図表4-1 リソースグループ作成へ

図表4-1 リソースグループ作成へ

 

[作成]を選択します。
リソースグループ名を入力し、リージョンを選択し、[確認および作成]を選択します。

図表4-2 リソースグループ作成(基本)

図表4-2 リソースグループ作成(基本)

 

設定内容を確認し、問題なければ[作成]を選択します。
リソースグループの作成が完了しました。左上の[ホーム]を選択してAzureポータルのホームに戻ります。
この後、Azure AI翻訳の設定を行います。

図表4-3 リソースグループ作成(確認と作成)

図表4-3 リソースグループ作成(確認と作成)

 

 

 

Azure AI翻訳設定

Azureポータルのホーム画面で、[その他のサービス]を選択します。
検索欄に[trans]と入力し、[翻訳]が表示されたら、これを選択します。

図表5-1 翻訳メニューへ

図表5-1 翻訳メニューへ

 

[作成]を選択します。
作成画面で以下の通り設定し、[確認と作成]を選択します。

  • リソースグループ:前の工程で作成したリソースグループ
  • リージョン:Japan East(使用場所に近いものを選択)
  • 名前:適宜(一意な値のため、テナント名等を含むと良い)
  • 価格レベル:Free F0(2Mを超えた場合はS1等に変更が必要)

図表5-2 翻訳設定作成(基本)

図表5-2 翻訳設定作成(基本)

 

設定内容を確認し、問題なければ[作成]を選択します。
デプロイが完了したら、[リソースに移動]を選択します。

図表5-3 翻訳設定作成(確認と作成,デプロイ完了)

図表5-3 翻訳設定作成(確認と作成,デプロイ完了)

 

左メニューの[キーとエンドポイント]を選択します。
[キー1]と[ドキュメントの翻訳]のURLは、次回以降の記事で作成するアプリのフローで使用するため、値を控えておきます。

図表5-4 キーとエンドポイントの確認

図表5-4 キーとエンドポイントの確認

 

こちらは参考情報です。
左メニューの[価格レベル]を選択すると、各プランの料金や今のプラン(青枠)を確認できます。
今回は[F0 Free]を適用していますが、この上限を超えて使用したい場合は他のプランへの変更が必要です(S1以外はかなり高額なので、まずはS1を選択するのが良いでしょう)。

図表5-5 翻訳メニューの各プランの価格レベル

図表5-5 翻訳メニューの各プランの価格レベル

 

Azure ストレージアカウント設定

Azureポータルのホーム画面に戻り、[その他のサービス]を選択します。
検索欄に[storage]と入力し、[ストレージアカウント]が表示されたら、これを選択します。

図表6-1 ストレージアカウントメニューへ

図表6-1 ストレージアカウントメニューへ

 

[作成]を選択します。
作成画面で以下の通り設定し、[確認と作成]を選択します。

  • ストレージアカウント名:適宜(一意な値のため、テナント名等を含むと良い)
  • 地域: (Asia Pacific) Japan East(使用場所に近いものを選択)

図表6-2 ストレージアカウント作成(基本)

図表6-2 ストレージアカウント作成(基本)

 

設定内容を確認し、問題なければ[作成]を選択します。
デプロイが完了したら、[リソースに移動]を選択します。

図表6-3 ストレージアカウント作成(確認と作成,デプロイ完了)

図表6-3 ストレージアカウント作成(確認と作成,デプロイ完了)

 

左メニューの[データストレージ>コンテナー]を選択します。
ここでは、翻訳前ドキュメントと翻訳後ドキュメントを配置するため、二つのコンテナーを作成します。

図表6-4 コンテナーの作成へ

図表6-4 コンテナーの作成へ

 

それぞれコンテナー名を以下の通りとします。

  • source:翻訳前ドキュメント配置用
  • target:翻訳後ドキュメント配置用

図表6-5 コンテナーの作成(source,target)

図表6-5 コンテナーの作成(source,target)

 

作成したコンテナーの[…]を選択し、[SASの生成]を選択します。

図表6-6 各コンテナーのSASの生成へ

図表6-6 各コンテナーのSASの生成へ

 

[署名キー]は両方とも[キー1]を選択します。
[アクセス許可]は以下の通りとします。

  • source:読み取り、リスト
  • target:書き込み、リスト

さらに、[SASトークンURLを生成]を選択し、BLOB SASトークンとURLの値を控えておきます(次回以降の記事で作成するアプリのフローで使用するため)。

図表6-7 各コンテナーのSASの生成,値の確認

図表6-7 各コンテナーのSASの生成,値の確認

 

左メニューの[セキュリティとネットワーク>アクセスキー]を選択し、[key1>キー]の[表示]を選択し、この値を控えておきます(次回以降の記事で作成するアプリのフローで使用するため)。

図表6-8 アクセスキーの確認

図表6-8 アクセスキーの確認

 

Azureポータル上で必要な設定が一通り完了しました。

図表6-9 AzurePortalでの設定完了

図表6-9 AzurePortalでの設定完了

 

次の記事に続きます。

 

 

当ブログ内の連載記事

elmgrn.hatenablog.com

elmgrn.hatenablog.com

elmgrn.hatenablog.com