如何使用ARM和C#将应用程序部署到azure?

时间:2017-09-13 03:40:00

标签: c# azure asp.net-web-api2 azure-resource-manager

我已经看到了一些如何使用ARM和C#创建存储资源的示例。我假设应用程序可以实现相同的功能。但是,我找不到一个有效的例子。 理想情况下,我希望有一个能够部署另一个应用程序的c#/ Web api应用程序。该过程应完全自动化。 基本上,我想用自己的配置创建同一个应用程序的新实例 - 这个过程将由新客户注册我的SaaS触发。 有人可以就如何处理上述事项提出一些指示吗? 感谢。

2 个答案:

答案 0 :(得分:1)

您似乎希望以C#代码以编程方式将Web应用程序(部署包)部署到Azure应用服务Web应用程序,您可以尝试使用允许将zip文件扩展到文件夹的Kudu Zip API。以下示例代码对我来说很好,你可以参考它。

ViewHolder holder;
    if (view == null)
    {
        LayoutInflater inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(R.layout.producto_row_layout, viewGroup, false);
        holder = new ViewHolder();
        Log.i("martin","null");
    }
    else
    {    holder = (ViewHolder) view.getTag();
        Log.i("martin","llenoooooooooo");
    }

    final Producto producto = getItem(position);
    if (producto.getImagenProducto().toString().equals("http://fasttrackcenter.com/pide/app/"))
    {
        holder.imagenProducto.setImageResource(R.drawable.ic_not_image_found);
    }

    else
    {
        Glide.with(activity).
                load(producto.getImagenProducto().toString()).
                thumbnail(0.5f).into(holder.imagenProducto);
    }

    holder.nombreProducto.setText(producto.getNombreProducto()+" x "+producto.getCantidadProducto()+" "+producto.getUnidadProducto());
    .
    .
    .
 view.setTag(holder);
    return view;

此外,您可以Microsoft.Azure.Management.Fluent使用manage your Azure app service

答案 1 :(得分:1)

您可以从Github获取.Net的Azure管理库。从v1.2开始,预览支持Azure App Service。这使得语法非常直观。

var webApp = azure.WebApps.Define(appName)
    .WithRegion(Region.USWest)
    .WithNewResourceGroup(rgName)
    .WithNewFreeAppServicePlan()
    .Create();

此处显示了许多适用于Windows和Linux版本的Azure App Service的代码示例:https://github.com/Azure/azure-sdk-for-net/tree/Fluent

在这种情况下,还有一些关于如何处理数据的有价值的阅读材料; https://docs.microsoft.com/en-us/azure/sql-database/sql-database-design-patterns-multi-tenancy-saas-applications

涵盖了各种可能性和设计模式