AzureSqlExtensions Methods
AddAzureSqlServer(IDistributedApplicationBuilder, string) Section titled AddAzureSqlServer(IDistributedApplicationBuilder, string) extension IResourceBuilder<AzureSqlServerResource> public static class AzureSqlExtensions{ public static IResourceBuilder<AzureSqlServerResource> AddAzureSqlServer( this IDistributedApplicationBuilder builder, string name) { // ... }}Parameters
builder IDistributedApplicationBuilder The builder for the distributed application. name string The name of the resource. Returns
IResourceBuilder<AzureSqlServerResource> A reference to the ApplicationModel.IResourceBuilder`1 builder. AddDatabase(IResourceBuilder<AzureSqlServerResource>, string, string?) Section titled AddDatabase(IResourceBuilder<AzureSqlServerResource>, string, string?) extension IResourceBuilder<AzureSqlDatabaseResource> public static class AzureSqlExtensions{ public static IResourceBuilder<AzureSqlDatabaseResource> AddDatabase( this IResourceBuilder<AzureSqlServerResource> builder, string name, string? databaseName = null) { // ... }}Parameters
builder IResourceBuilder<AzureSqlServerResource> The builder for the Azure SQL resource. name string The name of the resource. This name will be used as the connection string name when referenced in a dependency. databaseName string? optional The name of the database. If not provided, this defaults to the same value as name. Returns
IResourceBuilder<AzureSqlDatabaseResource> A reference to the ApplicationModel.IResourceBuilder`1. AsAzureSqlDatabase(IResourceBuilder<SqlServerServerResource>) Section titled AsAzureSqlDatabase(IResourceBuilder<SqlServerServerResource>) extension IResourceBuilder<SqlServerServerResource> public static class AzureSqlExtensions{ public static IResourceBuilder<SqlServerServerResource> AsAzureSqlDatabase( this IResourceBuilder<SqlServerServerResource> builder) { // ... }}Parameters
builder IResourceBuilder<SqlServerServerResource> The builder for the SQL Server resource. Returns
IResourceBuilder<SqlServerServerResource> A reference to the ApplicationModel.IResourceBuilder`1. PublishAsAzureSqlDatabase(IResourceBuilder<SqlServerServerResource>) Section titled PublishAsAzureSqlDatabase(IResourceBuilder<SqlServerServerResource>) extension IResourceBuilder<SqlServerServerResource> public static class AzureSqlExtensions{ public static IResourceBuilder<SqlServerServerResource> PublishAsAzureSqlDatabase( this IResourceBuilder<SqlServerServerResource> builder) { // ... }}Parameters
builder IResourceBuilder<SqlServerServerResource> The builder for the SQL Server resource. Returns
IResourceBuilder<SqlServerServerResource> A reference to the ApplicationModel.IResourceBuilder`1. RunAsContainer(IResourceBuilder<AzureSqlServerResource>, Action<IResourceBuilder<SqlServerServerResource>>) Section titled RunAsContainer(IResourceBuilder<AzureSqlServerResource>, Action<IResourceBuilder<SqlServerServerResource>>) extension IResourceBuilder<AzureSqlServerResource> public static class AzureSqlExtensions{ public static IResourceBuilder<AzureSqlServerResource> RunAsContainer( this IResourceBuilder<AzureSqlServerResource> builder, Action<IResourceBuilder<SqlServerServerResource>>? configureContainer = null) { // ... }}Parameters
builder IResourceBuilder<AzureSqlServerResource> The builder for the Azure SQL resource. configureContainer Action<IResourceBuilder<SqlServerServerResource>> optional Callback that exposes underlying container to allow for customization. Returns
IResourceBuilder<AzureSqlServerResource> A reference to the ApplicationModel.IResourceBuilder`1 builder. Remarks
var builder = DistributedApplication.CreateBuilder(args);
var data = builder.AddAzureSqlServer("data") .RunAsContainer();
builder.AddProject<Projects.ProductService>() .WithReference(data);
builder.Build().Run();WithAdminDeploymentScriptStorage(IResourceBuilder<AzureSqlServerResource>, IResourceBuilder<AzureStorageResource>) Section titled WithAdminDeploymentScriptStorage(IResourceBuilder<AzureSqlServerResource>, IResourceBuilder<AzureStorageResource>) extension IResourceBuilder<AzureSqlServerResource> public static class AzureSqlExtensions{ public static IResourceBuilder<AzureSqlServerResource> WithAdminDeploymentScriptStorage( this IResourceBuilder<AzureSqlServerResource> builder, IResourceBuilder<AzureStorageResource> storage) { // ... }}Parameters
builder IResourceBuilder<AzureSqlServerResource> The Azure SQL Server resource builder. storage IResourceBuilder<AzureStorageResource> The storage account to use for deployment scripts. Returns
IResourceBuilder<AzureSqlServerResource> A reference to the ApplicationModel.IResourceBuilder`1 for chaining. Remarks
When an Azure SQL Server has a private endpoint, deployment scripts require a storage account to upload scripts and write logs. This method allows you to provide an explicit storage account instead of having one auto-created.
The storage account must have AllowSharedKeyAccess enabled, as deployment scripts need to mount file shares. If the storage is not an existing resource, this method will automatically configure AllowSharedKeyAccess = true.
Examples
Provide a custom storage account for the deployment script:
var vnet = builder.AddAzureVirtualNetwork("vnet");var peSubnet = vnet.AddSubnet("pe-subnet", "10.0.2.0/24");
var storage = builder.AddAzureStorage("scriptstorage");var sql = builder.AddAzureSqlServer("sql") .WithAdminDeploymentScriptStorage(storage);peSubnet.AddPrivateEndpoint(sql);WithAdminDeploymentScriptSubnet(IResourceBuilder<AzureSqlServerResource>, IResourceBuilder<AzureSubnetResource>) Section titled WithAdminDeploymentScriptSubnet(IResourceBuilder<AzureSqlServerResource>, IResourceBuilder<AzureSubnetResource>) extension IResourceBuilder<AzureSqlServerResource> public static class AzureSqlExtensions{ public static IResourceBuilder<AzureSqlServerResource> WithAdminDeploymentScriptSubnet( this IResourceBuilder<AzureSqlServerResource> builder, IResourceBuilder<AzureSubnetResource> subnet) { // ... }}Parameters
builder IResourceBuilder<AzureSqlServerResource> The Azure SQL Server resource builder. subnet IResourceBuilder<AzureSubnetResource> The subnet to delegate for Azure Container Instances used by deployment scripts. Returns
IResourceBuilder<AzureSqlServerResource> A reference to the ApplicationModel.IResourceBuilder`1 for chaining. Remarks
When an Azure SQL Server has a private endpoint, deployment scripts that add database role assignments run inside Azure Container Instances (ACI). This method allows you to provide an explicit subnet for those containers instead of having one auto-created.
The specified subnet will be automatically delegated to Microsoft.ContainerInstance/containerGroups. Ensure the subnet has outbound network security rules allowing access to Azure Active Directory (port 443) and SQL (port 443) service tags.
This method is not available in polyglot app hosts.
Examples
Provide a custom ACI subnet for the deployment script:
var vnet = builder.AddAzureVirtualNetwork("vnet");var peSubnet = vnet.AddSubnet("pe-subnet", "10.0.2.0/24");var aciSubnet = vnet.AddSubnet("aci-subnet", "10.0.3.0/29");
var sql = builder.AddAzureSqlServer("sql") .WithAdminDeploymentScriptSubnet(aciSubnet);peSubnet.AddPrivateEndpoint(sql);WithDefaultAzureSku(IResourceBuilder<AzureSqlDatabaseResource>) Section titled WithDefaultAzureSku(IResourceBuilder<AzureSqlDatabaseResource>) extension IResourceBuilder<AzureSqlDatabaseResource> public static class AzureSqlExtensions{ public static IResourceBuilder<AzureSqlDatabaseResource> WithDefaultAzureSku( this IResourceBuilder<AzureSqlDatabaseResource> builder) { // ... }}Parameters
builder IResourceBuilder<AzureSqlDatabaseResource> The builder for the Azure SQL resource. Returns
IResourceBuilder<AzureSqlDatabaseResource> A reference to the ApplicationModel.IResourceBuilder`1.