Azure Java SDK が 少し新しくなって、 1.0.0-beta2 となりました。まだ全てのリソースに対応していませんが、APIが少し変わったので試してみます。基本、以下のGitHubにつらつらと書かれているものです。
認証
以前は、つらつらとコードを記述しなくてはいけませんでしたが、プロパティファイルに対応してます。例のごとく以下の情報が必要です。
- サブスクリプションID
- テナントID
- アプリケーションID(クライアントID) Azure ADで登録する
- アプリケーションキー(クライアントキーだったり、パスワード) Azure ADで登録する
- 各種URL
詳細は、以下の Authentication in Azure Management Libraries for Java を参照のこと。 azure-sdk-for-java/AUTH.md at master · Azure/azure-sdk-for-java · GitHub
subscription=########-####-####-####-############ client=########-####-####-####-############ key=XXXXXXXXXXXXXXXX tenant=########-####-####-####-############ managementURI=https\://management.core.windows.net/ baseURL=https\://management.azure.com/ authURL=https\://login.windows.net/
各種URLは、中国とか内部的なテストサイトもあるでしょうし、メンドウならが毎度指定する必要があります。
サブスクリプション情報を取得するには、以下で完了です。
Azure azure = Azure.authenticate(new File("my.azureauth")).withDefaultSubscription();
今回、Azureというクラスを基点に各種APIを呼び出せるようになります。一例として、リソースグループ一覧を取り出したい場合、
azure.resourceGroups().list().forEach(rg -> System.out.println(rg.name()));
Java8と組み合わせると、だいぶスッキリ記述できる予感ですので、もう少し掘り下げたいと思います。
以上