
これにより、アプリからアップロードしたファイル(pdfやwordなど)のAIによる翻訳結果のファイルを取得できるようになります。
- 操作環境:
- OS:Windows 11
- Webブラウザー:Edge
- 使用プラン:
- Power Apps:Microsoft 365 Business Premium(試用版)
- Azure:従量課金制
- Azure AI 翻訳:F0(フリー)
要件・処理の流れ・項目の整理
この例では、以下のような要件にもとづき、アプリを実装します。
- 他国語によるドキュメントの確認や作成の必要性が高くなっている。特定メンバーや使用時期等が決まっている訳ではないため、固定プランのサービスではコストパフォーマンスが悪く、使用した分だけ請求されるのが望ましい。
- 過去に実行したドキュメント翻訳の結果を履歴データとして保管し、アプリから本人の実行履歴のみ照会・ダウンロードできるとよい。
このアプリの処理の流れは以下の通りとします。
アプリは作成画面と履歴画面の二画面とし、翻訳は前者の画面からフローを呼び出すことで実行します。
フロー内ではAzure Storageを介してAzure AI 翻訳サービスによりドキュメント翻訳を実行し、履歴をSharePointリストに保管します。
履歴画面はSharePointリストの本人分データのみ照会できるようになっており、翻訳後ドキュメントのダウンロードも実施できます。

このアプリで扱う項目は以下の通りとします。
| 項目名(説明) | データ種類 | 必須 | 初期値等 | 特記事項 |
|---|---|---|---|---|
| create_at(作成日時) | 日時 | ○ | 今日の日付(自動取得) | |
| create_user(作成者) | 一行テキスト | ○ | (自動取得) | データ:UPN/表示:DisplayName |
| file_name(ファイル名) | 一行テキスト | ○ | ||
| language(翻訳後言語) | 一行テキスト | ○ | ||
| memo(メモ) | 複数行テキスト | |||
| ID | 数値 | ○ | (自動取得) | SharePointリストに予め用意されている |
| 添付ファイル | ファイル | SharePointリストに予め用意されている |
アプリの完成イメージ
先に完成イメージを紹介します。
まずは作成画面の操作です。
翻訳したいドキュメント(1個)をアップロードします。
ドキュメントはWordだけでなく、PDFやPowerPoint等も使用可能です。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[作成]を選択します。
作成画面で以下の通り設定し、[確認と作成]を選択します。
- ストレージアカウント名:適宜(一意な値のため、テナント名等を含むと良い)
- 地域: (Asia Pacific) Japan East(使用場所に近いものを選択)

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

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

それぞれコンテナー名を以下の通りとします。
- source:翻訳前ドキュメント配置用
- target:翻訳後ドキュメント配置用

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

[署名キー]は両方とも[キー1]を選択します。
[アクセス許可]は以下の通りとします。
- source:読み取り、リスト
- target:書き込み、リスト
さらに、[SASトークンURLを生成]を選択し、BLOB SASトークンとURLの値を控えておきます(次回以降の記事で作成するアプリのフローで使用するため)。

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

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

次の記事に続きます。
当ブログ内の連載記事