Пакетный клиент Azure с прокси-аутентификацией - PullRequest
0 голосов
/ 20 мая 2019

Я использую Azure BatchClient для получения списка заданий.Но не удалось пройти проверку подлинности с прокси.

Я пытался установить код прокси System.setProperty ("proxyHost", "value").Но это не работает.Также я попробовал приведенный ниже код для аутентификации прокси.

BatchSharedKeyCredentials cred = new BatchSharedKeyCredentials(uri, account, key);
BatchClient client = BatchClient.open(cred);
client.protocolLayer().getAzureClient().httpClient().newBuilder().proxyAuthenticator(new okhttp3.Authenticator() {@Override
public Request authenticate(Route route, Response response) throws IOException {
String credential = Credentials.basic("username", "password");return response.request().newBuilder().header("Authorization", credential).build();}}).build();

Общий код:

import java.io.IOException;

import com.microsoft.azure.PagedList;
import com.microsoft.azure.batch.BatchClient;
import com.microsoft.azure.batch.auth.BatchSharedKeyCredentials;
import com.microsoft.azure.batch.protocol.models.BatchErrorException;
import com.microsoft.azure.batch.protocol.models.CloudJob;

public class BatchClientService {

public void testBatch() {

    String uri = "batch uri";
    String account = "devbatch";
    String key = "access key";

    System.setProperty("http.proxyHost", "proxy host");
    System.setProperty("http.proxyPort", "port");
    System.setProperty("https.proxyHost", "proxy host");
    System.setProperty("https.proxyPort", "port");

    System.setProperty("http.proxyUser","username");
    System.setProperty("http.proxyPassword","password");
    System.setProperty("https.proxyUser","username");
    System.setProperty("https.proxyPassword","password");

    BatchSharedKeyCredentials cred = new BatchSharedKeyCredentials(uri, account, key);

    try {
        BatchClient client = BatchClient.open(cred);
        PagedList<CloudJob> jobslist = client.jobOperations().listJobs();
        for (CloudJob cloudJob : jobslist) {
            System.out.println("DisplayName: " + cloudJob.displayName());
            System.out.println("ETag: " + cloudJob.eTag());
            System.out.println("ID: " + cloudJob.id());
        }
    } catch (BatchErrorException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
}

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...