LoginSignup
1
1

More than 5 years have passed since last update.

Azure Functions (Java)をローカル実行したときに認証付きProxyを経由させる

Posted at
  • local.settings.jsonファイルにProxy関連情報を追加します(local.settings.jsonは.gitignoreに記載すること)
local.settings.json
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": "",
    "FUNCTIONS_WORKER_RUNTIME": "java",
    "proxyHost": "Your Proxy Host",
    "proxyPort": "Your Proxy Port",
    "proxyUser": "Your Proxy Username",
    "ProxyPass": "Your Proxy User Password"
  }
}
  • Functionsでは以下のように記述します
String proxyHost = System.getenv("proxyHost");
String proxyPort = System.getenv("proxyPort");
String proxyUser = System.getenv("proxyUser");
String proxyPass = System.getenv("proxyPass");

if (!StringUtils.isEmpty(proxyHost) && !StringUtils.isEmpty(proxyPort)) {
    System.setProperty("proxyHost", proxyHost);
    System.setProperty("proxyPort", proxyPort);
    if (!StringUtils.isEmpty(proxyUser) && !StringUtils.isEmpty(proxyPass)) {
        Authenticator.setDefault(new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(proxyUser, proxyPass.toCharArray());
            }
        });
    }
}
  • mvn testする場合は、local.settings.jsonを読み込まないので環境変数の設定が必要
> set proxyHost="Your Proxy Host"
> set proxyPort="Your Proxy Port"
> set proxyUser="Your Proxy Username"
> set ProxyPass="Your Proxy User Password"
> mvn test
  • mvn packageでテストをスキップする方法
> mvn clean package -Dmaven.test.skip=true
  • ローカル実行とAzureへのデプロイ
> mvn azure-functions:run
> az login
> mvn azure-functions:deploy
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1