What is @azure/arm-appservice?
@azure/arm-appservice is a Node.js package that provides a client library for managing Azure App Services. It allows developers to interact with Azure App Service resources, such as web apps, app service plans, and more, programmatically. This package is part of the Azure SDK for JavaScript and is used to automate and manage Azure App Service resources.
What are @azure/arm-appservice's main functionalities?
Create or Update a Web App
This feature allows you to create or update a web app in Azure App Service. The code sample demonstrates how to use the WebSiteManagementClient to create or update a web app with specific configurations.
const { WebSiteManagementClient } = require('@azure/arm-appservice');
const { DefaultAzureCredential } = require('@azure/identity');
async function createOrUpdateWebApp() {
const credential = new DefaultAzureCredential();
const client = new WebSiteManagementClient(credential, '<subscription-id>');
const resourceGroupName = '<resource-group-name>';
const appName = '<app-name>';
const appServicePlanId = '<app-service-plan-id>';
const webAppParams = {
location: 'West US',
serverFarmId: appServicePlanId,
siteConfig: {
appSettings: [
{ name: 'WEBSITE_NODE_DEFAULT_VERSION', value: '10.14.1' }
]
}
};
const result = await client.webApps.createOrUpdate(resourceGroupName, appName, webAppParams);
console.log('Web App created or updated:', result);
}
createOrUpdateWebApp().catch(console.error);
List All Web Apps
This feature allows you to list all web apps within a specific resource group. The code sample demonstrates how to use the WebSiteManagementClient to retrieve and list all web apps in a given resource group.
const { WebSiteManagementClient } = require('@azure/arm-appservice');
const { DefaultAzureCredential } = require('@azure/identity');
async function listWebApps() {
const credential = new DefaultAzureCredential();
const client = new WebSiteManagementClient(credential, '<subscription-id>');
const resourceGroupName = '<resource-group-name>';
const webApps = await client.webApps.listByResourceGroup(resourceGroupName);
console.log('List of Web Apps:', webApps);
}
listWebApps().catch(console.error);
Delete a Web App
This feature allows you to delete a web app from Azure App Service. The code sample demonstrates how to use the WebSiteManagementClient to delete a specific web app by its name and resource group.
const { WebSiteManagementClient } = require('@azure/arm-appservice');
const { DefaultAzureCredential } = require('@azure/identity');
async function deleteWebApp() {
const credential = new DefaultAzureCredential();
const client = new WebSiteManagementClient(credential, '<subscription-id>');
const resourceGroupName = '<resource-group-name>';
const appName = '<app-name>';
await client.webApps.deleteMethod(resourceGroupName, appName);
console.log('Web App deleted');
}
deleteWebApp().catch(console.error);
Other packages similar to @azure/arm-appservice
@azure/arm-compute
@azure/arm-compute is a package that provides a client library for managing Azure Compute resources, such as virtual machines, VM scale sets, and more. While it focuses on compute resources rather than app services, it offers similar functionalities for managing Azure infrastructure programmatically.
@azure/arm-storage
@azure/arm-storage is a package that provides a client library for managing Azure Storage resources, such as storage accounts, blobs, and file shares. It offers functionalities for managing storage resources in Azure, similar to how @azure/arm-appservice manages app services.
@azure/arm-network
@azure/arm-network is a package that provides a client library for managing Azure Network resources, such as virtual networks, subnets, and network interfaces. It offers functionalities for managing network resources in Azure, similar to how @azure/arm-appservice manages app services.
Azure WebSiteManagement client library for JavaScript
This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure WebSiteManagement client.
WebSite Management Client
Source code |
Package (NPM) |
API reference documentation |
Samples
Getting started
Currently supported environments
Prerequisites
Install the @azure/arm-appservice
package
Install the Azure WebSiteManagement client library for JavaScript with npm
:
npm install @azure/arm-appservice
Create and authenticate a WebSiteManagementClient
To create a client object to access the Azure WebSiteManagement API, you will need the endpoint
of your Azure WebSiteManagement resource and a credential
. The Azure WebSiteManagement client can use Azure Active Directory credentials to authenticate.
You can find the endpoint for your Azure WebSiteManagement resource in the Azure Portal.
You can authenticate with Azure Active Directory using a credential from the @azure/identity library or an existing AAD Token.
To use the DefaultAzureCredential provider shown below, or other credential providers provided with the Azure SDK, please install the @azure/identity
package:
npm install @azure/identity
You will also need to register a new AAD application and grant access to Azure WebSiteManagement by assigning the suitable role to your service principal (note: roles such as "Owner"
will not grant the necessary permissions).
Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: AZURE_CLIENT_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_SECRET
.
For more information about how to create an Azure AD Application check out this guide.
const { WebSiteManagementClient } = require("@azure/arm-appservice");
const { DefaultAzureCredential } = require("@azure/identity");
const subscriptionId = "00000000-0000-0000-0000-000000000000";
const client = new WebSiteManagementClient(new DefaultAzureCredential(), subscriptionId);
JavaScript Bundle
To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our bundling documentation.
Key concepts
WebSiteManagementClient
WebSiteManagementClient
is the primary interface for developers using the Azure WebSiteManagement client library. Explore the methods on this client object to understand the different features of the Azure WebSiteManagement service that you can access.
Troubleshooting
Logging
Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the AZURE_LOG_LEVEL
environment variable to info
. Alternatively, logging can be enabled at runtime by calling setLogLevel
in the @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
For more detailed instructions on how to enable logs, you can look at the @azure/logger package docs.
Next steps
Please take a look at the samples directory for detailed examples on how to use this library.
Contributing
If you'd like to contribute to this library, please read the contributing guide to learn more about how to build and test the code.
Related projects