Skip to content
This repository has been archived by the owner on May 5, 2023. It is now read-only.

Latest commit

 

History

History
137 lines (112 loc) · 4.18 KB

File metadata and controls

137 lines (112 loc) · 4.18 KB

Microsoft Azure SDK for Node.js - Storage Management

This project provides a Node.js package that makes it easy to manage Microsoft Azure Storage. Right now it supports:

  • API version: 2013-03-01

Features

  • Manage storage account
  • Manage access key

How to Install

npm install azure-asm-storage

How to Use

Authentication

This library support management certificate authentication. To authenticate the library for the REST API calls, you need to

Create the StorageManagementClient

var fs                = require('fs'),
    storageManagement = require('azure-asm-storage');

var storageManagementClient = storageManagement.createStorageManagementClient(storageManagement.createCertificateCloudCredentials({
  subscriptionId: '<your subscription id>',
  pem: fs.readFileSync('<your pem file>')
}));

Manage Storage Account

var storageAccountName = "storage01";

// Create a Storage account.
storageManagementClient.storageAccounts.create({
  serviceName: storageAccountName,
  location: "West US",
  label: "Storage 01",
  geoReplicationEnabled: true
}, function (err, result) {
  if (err) {
    console.error(err);
  } else {
    console.info(result.statusCode);
  }
});

// List all Storage account under a subscription.
storageManagementClient.storageAccounts.list(function (err, result) {
  if (err) {
    console.error(err);
  } else {
    for (var i = 0; i < result.storageServices.length; i++) {
      var output = result.storageServices[i].serviceName + ", " +
        result.storageServices[i].properties.location;
      console.info(output);
    }
  }
});

// Get a Storage account by name.
storageManagementClient.storageAccounts.get(storageAccountName, function (err, result) {
  if (err) {
    console.error(err);
  } else {
    console.info("Name: " + result.serviceName);
    console.info("URI: " + result.uri);
  }
});

// Update a Storage account.
storageManagementClient.storageAccounts.update(storageAccountName, {
  geoReplicationEnabled: false,
  description: "This is a demo Storage account."
}, function (err, result) {
  if (err) {
    console.error(err);
  } else {
    console.info(result.statusCode);
  }
});

// Delete a Storage account.
storageManagementClient.storageAccounts.delete(storageAccountName, function (err, result) {
  if (err) {
    console.error(err);
  } else {
    console.info(result.statusCode);
  }
});

Manage Access Key

// Get the primary key and secondary key of a Storage account.
storageManagementClient.storageAccounts.getKeys(storageAccountName, function (err, result) {
  if (err) {
    console.error(err);
  } else {
    console.info("Primary key: " + result.primaryKey);
    console.info("Secondary key: " + result.secondaryKey);
  }
});

// Regenerate the secondary key of a Storage account.
storageManagementClient.storageAccounts.regenerateKeys({
  serviceName: storageAccountName,
  keyType: "Secondary"
}, function (err, result) {
  if (err) {
    console.error(err);
  } else {
    console.info("New secondary key: " + result.secondaryKey);
  }
});

Related projects

Impressions