「開発」カテゴリーアーカイブ

【Java】Microsoft Build of OpenJDKをインストールする(OpenJDK21)

参考にさせていただいたサイトは、下記です。 https://qiita.com/nejioooo/items/c5081a5b5f6775189bb3   Jenkinsインストール【Windows環境】

Javaがパソコンにインストールされているか確認するところから開始しました。今回使用するパソコンはインストールされていない状態でした。

Java を確認する。 c:\>java -version

Microsoft Build of OpenJDK をダウンロードする https://learn.microsoft.com/ja-jp/java/openjdk/download

今回は、Jenkinsをインストールしたいので、Jenkinsの公式サイトから、Jenkinsが対応するJavaバージョンを確認しておきます。

Jenkinsの公式サイトで、Jenkinsの対応Javaバージョンを確認する。 https://www.jenkins.io/doc/book/platform-information/support-policy-java/

Java21に対応しているようです。

Microsoft Build of OpenJDK をダウンロードする

今回は、 Windows x64 msi microsoft-jdk-21.0.5-windows-x64.msi sha256  のJAVA OpenJDK21を選択しました。

Windows x64のインストーラータイプを選択しました。Javaインストーラーをダウンロードしました。

続いてインストールしましょう。

コマンドプロンプトを一度再起動。 java と入力すると、ダダっと表示されます。

c:\>set JAVA_HOME JAVA_HOME=C:\Program Files\Microsoft\jdk-21.0.5.11-hotspot\

参考にしたサイトによると、ユーザー変数を作成して、JAVA_HOME を binの下へ変更して、PATHを通した方が良いそうです。

私の場合は、下の位置になります。

C:\Program Files\Microsoft\jdk-21.0.5.11-hotspot\bin

環境変数の設定をします。
コントロールパネルを開いて、開いたらさらにシステムを開きます。
システムの詳細設定をクリック。
環境変数をクリック。
新規ボタンをクリックしユーザー環境変数を追加します。
以下のように設定しOKボタンをクリック。
変数名:「JAVA_HOME」
変数値:1. JDK(Java Development Kit) のインストールにてJDKを保存した場所。
参考サイトより

それではJAVA_HOMEを変更してみましょう。

ユーザ環境変数のPATHに、%JAVA_HOME%\bin; を追加できればJavaのインストール完了となります。

コマンドプロンプトから Java -version を実行してみます。

c:\>java -version openjdk version “21.0.5” 2024-10-15 LTS OpenJDK Runtime Environment Microsoft-10377968 (build 21.0.5+11-LTS)

インストールできていますね。

(WorkSpaces) Amazon WorkSpaces の削除(解約)の方法

AmazonのWorkSpaces利用している OSのリプレースのためサーバー移行作業を実施しました。 WorkSpacesの作成は実施したことがありましたが、移行後の削除については実施したことがなかったための記録です。

実施方法です。Standard 80G/50G で実行モード Alwaysを利用していました、移行先の環境の確保が必要でした。

(移行前)Windows 2016 Server :Standard 80G/50G で実行モード:Always 

(移行後)Windows 2022 Server :Performance 80G/100G で実行モード:Always 

同様の方法で、現行2台を新規2台へ移行することができました。

この方法では、移行先のサーバーを確保しなければならないので、単純に2倍のサーバー同時契約が必要です。複数のサーバー移行作業を同時に行う場合は、作業タイミングをずらすことで月額費用を先に延ばして抑えることはできそうですが、移行完了までは費用がかかります。開始したサーバはなるべく一気に実施して終了した方がよいです。

移行作業が完了して、新しいサーバが完成したら不要になったWorkSpacesを削除して解約します。

WorkSpacesのIDとステータスを確認してチェックを入れて削除を押下します。今回の例は1番上のWorkSpacesを削除します。

WorkSapceを削除するかどうか確認画面が表示されました。「削除」と漢字でフィールドへ入力してから「削除」ボタンを押下します。

削除が完了し、4台から3台になりました。成功です。

【外部システム連携】REST API

異なるベンダー間の製品を連携するには複雑関係が必要になりますが、https://enterprisezine.jp/ のサイトに紹介されていましたので引用させていただきます。IBMが発起人の1社として、要素技術の仕様を策定してすすめたようです。

https://enterprisezine.jp/article/detail/3799?p=3

異なるベンダー間の製品を統合するにはデータの違いやAPIの実装技術の違いなどのハードルがあるものだが、Open Services for Lifecycle Collaboration(OSLC)という標準化団体で管理データのスキーマとAPIの標準仕様化を進めている。

要素技術は XLM とREST APIを使うことが決まっており汎用性が高い。IBMは発起人の一社として仕様策定の活動を行っている。まさにここで決まった仕様を実装したものがJazzプラットフォームなのである。

REST API(RESTful API)とは、Webアプリケーションやソフトウェア同士の通信を可能にするアプリケーション・プログラミング・インタフェース(API)の一種です。インターネットを介して情報を共有したり操作したりするための「共通の言語」のような役割を果たしています。

【特徴】

  • HTTPメソッドやJSON形式などの主流なWeb技術を採用しているため、シンプルかつ効率的に開発できる
  • URIの構造が確立されており、多くの開発者が理解しやすくなっている
  • ステートレス(Stateless)なため、拡張性が高い
  • 軽量で、IoT(モノのインターネット)、モバイル・アプリケーション開発、サーバーレス・コンピューティングなどの先進的なコンテキストに適している

XMLについては、SOAPで利用することが定められているそうです。下記サイト(Docomoのコラム)から引用させていただきます。

https://www.ntt.com/business/services/rink/knowledge/archive_18.html

「SOAP」は(Simple Object Access Protocol)

異なるプログラミング言語やプラットフォーム(オペレーションシステムなど)で開発されたアプリケーション間の通信ができるようにすることを目指して設計されたWebサービスアクセスプロトコルです。

「XML」(Extensible Markup Language)

HTMLと似ており文字をタグで囲んだ形式で記述されます。タグは任意に決められるため汎用性や拡張性が高く、アプリケーションに依存することなく利用できるといったメリットがありますが、その反面タグを用いるため編集がしづらくタグを解析するためにアプリケーションでの処理の負荷が大きくなるといったデメリットがあります。

【特徴】

SOAP API に送信されたデータ要求は、HTTP (Web ブラウザの場合)、SMTP (電子メールの場合)、TCP などの任意のアプリケーション・レイヤー・プロトコルを介して処理できます。しかし、要求が受信されると、SOAP メッセージは XML ドキュメント (人間も機械も読み取り可能なマークアップ言語) として返信される必要があります。完了した SOAP API への要求はブラウザでキャッシュできないため、API に再送信しない限り、後でアクセスすることはできません。

https://www.redhat.com/ja/topics/integration/whats-the-difference-between-soap-rest

RedHatトピックス 統合 REST と SOAPより

【Amazon Connect】コールセンター電話番号の管理画面

Amazon Connectの電話番号取得後は、チャネル>電話番号 から管理することができます。

電話番号の一覧が表示されます。この画面ではUSの電話番号が表示されました。

新規に電話番号を追加する場合は、「電話番号の取得」ボタンから追加することもできます。

電話番号の管理画面でした。

【Amazon Connect】営業時間の設定(オペレーション時間)

Amazon Connectのコールセンターの営業時間を変更する方法を検証しました。

変更する場合は、フローからオペレーション時間を選択します。

デフォルトのオペレーション時間を変更するか新規追加して、営業時間にあうように変更することができます。

ここでは、タイムゾーンを日本に合わせて、10時~18時になるように修正しました。

修正後は、保存を行えばオペレーション時間の変更は完了です。

実際に電話をかけて、営業時間内・外のフローの挙動を確認することができます。

【Amazon Connect】お客様が入力した番号をプロンプトの自動音声で読み上げる

お客様が入力した番号を、自動音声で読み上げる検証を行いました。

お客様のプッシュ入力する番号を 「int_number」で取得できるように設定しておきます。これには、「コンタクト属性の設定」を利用します。

次に、お客様が入力した番号をお客様へフィードバックするためプロンプト音声を流します。ブロックタイプは「プロンプトの再生」を利用します。

$.Attributes.int_number へおつなぎします。

上記のように設定することで、お客様の入力した番号を音声で流すことができました。

【Amazon Connect】コンタクト属性の設定で、お客様が入力した番号を判定する。

コールフローの中で、お客様が入力した番号を取得するにはコンタクト属性の設定を利用できることを検証した記録です。

ここでは、お客様が入力した番号を int_number  の値に保持するようにしました。

ブロックタイプの詳細設定は下のようになりました。

「手動で設定」を選択しました。

ここで保持した値は、「コンタクト属性を確認する」というブロックタイプで利用することができます。

「コンタクト属性を確認する」では、キーに「保存済の顧客の入力」を選択することで、例えば 顧客が入力した内線番号が「1000」と一致するかどうかを判定することができます。

これで、顧客が入力した番号を判定することができるようになりました。

【Amazon Connect】新規電話番号を取得する

Amazon connect を利用して、コールセンターに新しい電話番号を設定します。

日本の電話番号を取得する場合は、Amazonへ申請が必要です。こちらを参考にする必要があります。

今回は外国(米国 +1)の電話番号をアサインすることにします。日本から動作確認をする場合は、海外電話料金が発生することになるので注意しましょう。

Claim Phone number (電話番号の取得申請請求)に進んでみましょう。

法人でも未申請の場合は日本の電話番号を取得することはできませんが、Amazonへ未申請の状態でも、米国の電話番号を取得することはできます。

受信、発信の両方が可能が番号を新規インスタンスに割り当てることに成功しました。

【Amazon Connect】新規インスタンスを作成してコールセンターを立ち上げる(番号取得前の準備)

※日本の電話番号を利用する場合は、Amazonへ申請が必要です。

今回は外国の電話番号を利用してコールセンターの立ち上げを行いましたのでステップの概要となります。

  1. IDを設定
  2. 管理者を追加
  3. テレフォニーを設定
  4. データストレージを追加
  5. 確認して作成

これで電話番号を取得することでコールセンターは立ち上がりますが(料金が発生します)、コールフローなども整備していく必要があります。

ステップ1、ステップ2:IDを設定します。ユーザ作成は、Amazon Connect内部としました。管理者を作成し、アクセスURLを考えて決定します。

Step3:テレフォニーを設定

着信と発信の許可を決定します。今回は発信もできるように着信・発信の両方を許可しました。

Step4:コールセンターのログの保存先を決定します。デフォルトで設定しました。またコールフローの中でEmailを送信したい場合はここで「Enable Email」をチェックしましょう。

Step5:入力した内容の確認

入力内容の確認画面となりますので、確認後に「インスタンスの作成」から進みましょう。

コールセンターが作成されるのを待ちましょう。

正常に作成されました!

コールセンターインスタンスは用意できましたので、このインスタンスを利用して電話番号やコールフローの中身を続いて用意していくことになります。

【Amazon Connect】日本の電話番号が取得できない。

Amazon Connect を利用して、以前は外国のリージョンに切り替えれば、050から始まる番号を取得できました。(少なくとも2019年頃は050番号を取得できていました。)

電話番号を追加することを検討し、現在の状況を確認したところ追加取得できません。050の番号候補が表示されなくなっているため、ルールが厳しくなったようです。外国のリージョンに切り替えて050の番号を取得しようとしても、番号の候補にでてこなくなってしまったようです。※外国の番号であれば取得できるようです。

例:+1(米国)の番号を取得する場合

それでは、日本リージョンを利用して番号を現在も取得することができるのか確認しました。

https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/connect-tokyo-region.html

「事業用の電話番号のみ登録できます。個人用の電話番号は登録できません。」という記載がドキュメントにあります。

アジアパシフィック (東京) リージョンでは下記のプレフィクスが許可されるようです。

  • 直通ダイヤル (DID) 番号 – DID 番号はローカル番号とも呼ばれます。
    • 050 プレフィックス番号。
    • 03 東京の番号を表すプレフィックス 現時点では、Amazon Connect は日本の他の都市の電話番号を提供していません。
  • 通話料無料番号
    • 0120 プレフィックス番号。
    • 0800 プレフィックス番号。

日本の電話番号を注文するには、Amazonへ申請が必要になるようです。申請は法人である必要があるそうです。

https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/phone-number-requirements.html

現地の電話番号が必要な場合(03または050のとき)は、企業は次の 3 つのドキュメントをAmazonへ提供する必要があります。

1.会社登録書類 (過去 6 か月以内に発行されたもの)。このドキュメントには、以下が示されている必要があります。

会社住所は、リクエストされたエリアコードに対応する市区町村です。ビジネスの認定代理人。

2.事業者の認定代理人の個人 ID またはパスポートのコピー

その人物は、会社登録書類に登録されていなければなりません。有効な個人 ID となるのは、政府発行の ID またはパスポートです。

3.ビジネスの住所の証明 (過去 6 か月以内に発行されたもの)。

有効な住所証明には、第三者発行の銀行取引明細書、光熱費請求書、政府発行書類、または政府発行の ID、パスポート、事業者登録証など、提出した住所が記載された ID が含まれます。

これらのドキュメントのコピーは、単一の zip ファイルに作成する必要があります。

現地番号が必要な場合は申請に必要な証明書類は3つ。

通話料無料のフリーダイヤル番号が必要な場合は、書類が2つになるようです。