日本語向けのJavaサンプルが少ない中、Azureにリソースを作成して試すのは敷居が高いと感じる方へ。ローカル環境で簡単にSDKの動作確認やデバッグができるサンプルを提供します。
| サービス名 | |
|---|---|
| Storage Blob | ○ |
| Storage Queue | ○ |
| Storage Table | ○ |
| Cosmos Database | ○ |
- Java 17
- Maven 3.8.3
- Docker
docker compose を起動すると
- Cosmos Emulator
- Azure Storage Emulator
- Service Bus Emulator
が起動します。あとは、IDEのテストランナーで適宜実行してください。
Linux ベースのエミュレータ (プレビュー) - Azure Cosmos DB for NoSQL | Microsoft Learn
Cosmos Emulator は HTTPS で接続するため、証明書が必要です。エミュレータが起動したら、以下の手順で証明書を取得してください。openssl と sed を使う必要があるのが面倒ですが、sed は特定の文字列を抽出するために使っているだけなので、最悪openssl の出力を手動で切った張ったすれば問題ないです。
openssl s_client -connect localhost:8081 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cosmos.pemkeytool で証明書を登録します。キーストアのパスワードは、デフォルトの changeit になっています。
keytool -cacerts -importcert -alias cosmos_emulator -file cosmos.cert因みに削除は以下のようにします。
keytool -cacerts -delete -alias cosmos_emulatorService Bus Emulator は以下を参照してください。
Azure Service Bus エミュレータを使用してローカルでテストする - Azure Service Bus | Microsoft Learn
Azure Storage Emulator は以下を参照してください。
ローカルでの Azure Storage の開発に Azurite エミュレーターを使用する | Microsoft Learn
以上