こんにちは、メケです。
これまでに以下のいずれかの翻訳プロバイダサービスの設定をしてきました。
- Microsoft
- IBM
実際に使って見る前に以下を確認してみましょう。
- 正しく設定されているか?
- どのように翻訳されるか?
FlowDesignerの使用方法
Flow Designer画面表示方法
ServiceNowにログインした後に、左上のフィルターナビゲータ(検索窓)に“flow”と入力します。
下にFlow Designerが表示されるので選択します。
Flow Designer の画面が表示されます。
Flow Designer画面での検索
画面上部にFlows Subflows などが並んでいる中の、[Actions]を選択します。
「Name」の下のフィルター条件入力欄に”translate”と入力し、Enterを押下すると検索結果が表示されます。
検索結果の一覧に「Translate Text」がいくつか表示されます。
Applicationの列を見ると、どの翻訳サービスプロバイダのものか見分けがつきます。
Translate Text画面の表示
翻訳サービス によって使用できるパラメータは多少異なります。
今回はMicrosoft Azureで試してみます。
画面上部の「Test」ボタンをクリックします。
Test Action画面
翻訳したい文章(Text)と翻訳先の言語(Target Language)を入力します。
- [Text]:”明日は晴れますか?”(任意でOKです。)
- [Target Language]:en (今回は日本語から英語への翻訳を試します。)
入力後、「Run Test」ボタンをクリックします。
実行結果の確認
EXECUTION DETAILS(実行結果の詳細)という画面が表示されます。
ActionのOutput Dataに「Status」と「Temporary Translations」という項目が表示されています。
Statusが「Success」となっていれば翻訳成功です。
失敗している場合は「Error」と表示されますのでその際はErrorMessageを確認します。
エラーパターンについては後述します。
成功した場合、どのように翻訳されたかは「Temporary Translations」にて確認できます。
全て表示されていない場合は、リンク部分をクリックすると以下のように表示することができます。
今回の場合は以下のような感じです。(ちゃんと翻訳されてますよね。)
(日本語)明日は晴れますか?
↓
(英 語)Will it be fine tomorrow?
エラーのパターン
エラーが発生するパターンについていくつか検証してみました。
指定した言語が誤っている場合
- Error Code:40054
- Error Message:Target language is invalid
Test Actionにて「Target Language」に誤ったものを指定すると以下のようなエラーが表示されます。英語に翻訳する場合は”en”を指定しますが、誤って”an”などにするとこのエラーが起きます。
翻訳サービスが有効でない場合
Google Cloud Platform(GCP) の場合、APIが無効状態になっている場合は以下のようなエラーとなります。
- Error Code:40050
- Error Message:
Cloud Translation API has not been used in project XXXXXXXX before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/translate.googleapis.com/overview?project=XXXXXXXX then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
※ Azure、IBM にて翻訳サービスだけをActiveから変更する方法が不明のため、わかったら記載します。
接続がActiveになっていない場合
ServiceNowのConnectionsタブで設定している内容がfalseになっている場合は以下のような画面が表示されます。
Output Dataの方はSuccessとなっていますが、全体のステータスとしてはErrorが表示されます。
画面上部に「Unable to load connection with alias ID~」が表示されています。
”Open Connection Alias”をクリックすると問題がある画面が表示されます。
原因は以下の画面のように接続がActiveになっていないのが原因となります。
(Connection & Credential Aliasesから遷移した画面です。)
接続URLがActiveになっていない場合
接続の[Connection URL]の内容が誤っている場合、以下のようなエラーとなります。
今回はURLの最後を正しい”.com”から誤った”.jp”に変えてみました。
すると、 UnknownHostException というエラーが表示されました。
(URLは「それじゃないんだよ~」というエラーですね。)
Request not sent to uri= https://api.cognitive.microsofttranslator.jp/translate?api-version=3.0&from=&to=en : java.net.UnknownHostException: api.cognitive.microsofttranslator.jp
credentialが誤っている場合
Connection画面で指定するCredentialがActiveでない場合や「API Key」が正しくない場合は以下のようなエラーとなります。
- Error Code:40055
- Error Message:
Request is not authorized because credentials are missing or invalid
(資格情報がないか無効であるため、リクエストは承認されません)
エラー原因の設定箇所は以下のようなものです。
(Credentials から遷移した画面です。)
まとめ
今回はFlowDesignerを使用した翻訳サービスの確認手順を解説しました。
正常パターンのみではなく、エラーとなるパターンもあわせて記載しています。
サービスを組み合わせて使用する場合には、エラーも発生しやすくなると思います。
まずはどこでエラーが発生しているかを探すためにも表示されたエラーメッセージを頼りにググってみることが大事であると考えます。
次回
次回は、『Dynamic Translation』を使用して動的翻訳を行ってみます。詳細は以下の記事を参考にしてみて下さい。
動的翻訳設定におけるまとめ記事は以下になります。
コメント