Options
All
  • Public
  • Public/Protected
  • All
Menu

@azure/batch

Package version

Azure BatchServiceClient SDK for JavaScript

This package contains an isomorphic SDK for BatchServiceClient.

Currently supported environments

  • Node.js version 6.x.x or higher
  • Browser JavaScript

How to Install

npm install @azure/batch

How to use

nodejs - Authentication, client creation and list application as an example written in TypeScript.

Install @azure/ms-rest-nodeauth
npm install @azure/ms-rest-nodeauth
Authentication
  1. Use AzureCliCredentials exported from @azure/ms-rest-nodeauth. Please make sure to install Azure CLI and login using az login.
import { AzureCliCredentials } from "@azure/ms-rest-nodeauth";

const batchEndpoint = process.env["AZURE_BATCH_ENDPOINT"] || "";
async function main(): Promise<void> {
  try {
    const creds = await AzureCliCredentials.create({ resource: "https://batch.core.windows.net/" });
    const client = new BatchServiceClient(creds, batchEndpoint);
  } catch (err) {
    console.log(err);
  }
}
  1. Use the BatchSharedKeyCredentials exported from @azure/batch.
import { BatchServiceClient, BatchSharedKeyCredentials } from "@azure/batch";

const batchAccountName = process.env["AZURE_BATCH_ACCOUNT_NAME"] || "";
const batchAccountKey = process.env["AZURE_BATCH_ACCOUNT_KEY"] || "";
const batchEndpoint = process.env["AZURE_BATCH_ENDPOINT"] || "";

async function main(): Promise<void> {
  try {
    const creds = new BatchSharedKeyCredentials(batchAccountName, batchAccountKey);
    const client = new BatchServiceClient(creds, batchEndpoint);
  } catch (err) {
    console.log(err);
  }
}
  1. Use the MSIVmTokenCredentials exported from @azure/ms-rest-nodeauth.
import { MSIVmTokenCredentials } from "@azure/ms-rest-nodeauth";

const batchEndpoint = process.env["AZURE_BATCH_ENDPOINT"] || "";

async function main(): Promise<void> {
  try {
    const creds = await msRestNodeAuth.loginWithVmMSI({
      resource: "https://batch.core.windows.net/"
    });
    const client = new BatchServiceClient(creds, batchEndpoint);
  } catch (err) {
    console.log(err);
  }
}
Sample code
import { BatchServiceClient, BatchServiceModels, BatchSharedKeyCredentials } from "@azure/batch";

const batchAccountName = process.env["AZURE_BATCH_ACCOUNT_NAME"] || "";
const batchAccountKey = process.env["AZURE_BATCH_ACCOUNT_KEY"] || "";
const batchEndpoint = process.env["AZURE_BATCH_ENDPOINT"] || "";

const creds = new BatchSharedKeyCredentials(batchAccountName, batchAccountKey);
const client = new BatchServiceClient(creds, batchEndpoint);

const options: BatchServiceModels.JobListOptionalParams = {
  jobListOptions: { maxResults: 10 }
};

async function loop(res: BatchServiceModels.JobListResponse, nextLink?: string): Promise<void> {
  if (nextLink !== undefined) {
    const res1 = await client.job.listNext(nextLink);
    if (res1.length) {
      for (const item of res1) {
        res.push(item);
      }
    }
    return loop(res, res1.odatanextLink);
  }
  return Promise.resolve();
}

async function main(): Promise<void> {
  const result = await client.job.list(options);
  await loop(result, result.odatanextLink);
  console.dir(result, { depth: null, colors: true });
}

main().catch((err) => console.log("An error occurred: ", err));

Related projects

Impressions

Generated using TypeDoc