Exemplo n.º 1
0
        //***********************************************************************************************
        // The Microsoft Azure Management Libraries are intended for developers who want to automate 
        // the management, provisioning, deprovisioning and test of cloud infrastructure with ease.            
        // These services support Microsoft Azure Virtual Machines, Cloud Services, Storage, Virtual Networks, 
        // Web Sites and core data center infrastructure management. For more information on the Management
        // Libraries for .NET, see https://msdn.microsoft.com/en-us/library/azure/dn722415.aspx. 
        //
        // If you don't have a Microsoft Azure subscription you can get a FREE trial account here:
        // http://go.microsoft.com/fwlink/?LinkId=330212
        //

        // This sample demonstates the following scenarios:
        //  1. Creating an Azure Storage Account
        //  2. Uploading an Azure Cloud Service package to Storage
        //  3. Creating an Azure Cloud Service
        //  4. Deploying the package to the Azure Cloud Service production slot
        //  5. Deleting a Cloud Service Deployment, Cloud Service and Storage Account.
        //

        // TODO: Perform the following steps before running the sample 
        //  1. Download your *.publishsettings file from the Microsoft Azure management portal and save to
        //      to your local dive http://go.microsoft.com/fwlink/?LinkID=276844
        //  2. Open a new instance of Visual Studio, create an Azure Cloud Service project with at least
        //      one role (don't worry about writing any custom code), right-click the project and choose
        //      Package to create the .cspkg and .cscfg files which will be deployed to Azure by this sample.
        //  3. Set the PublishSettingsFilePath, ServiceConfigurationFilePath and ServicePackageFilePath
        //      properties below.  
        //  4. Run
        //***********************************************************************************************

        static void Main(string[] args)
        {

            var serviceParameters = new ManagementControllerParameters
            {
                PublishSettingsFilePath = @"C:\Your.publishsettings",
                ServicePackageFilePath = @"C:\YourPackageFile.cspkg",
                ServiceConfigurationFilePath = @"C:\YourServiceConfiguration.Cloud.cscfg",
                CloudServiceName = string.Format("MgmtLibDemo{0}", DateTime.Now.Ticks),
                Region = "West US",
                StorageAccountName = Path.GetFileNameWithoutExtension(Path.GetRandomFileName()),
                StorageAccountType = StorageAccountTypes.StandardGRS
            };

            if (!VerifyConfiguration(serviceParameters))
            {
                Console.ReadLine();
                return;
            }

            Task.WaitAll(SetupAndTearDownCloudService(serviceParameters));

            Console.WriteLine("Done");
            Console.ReadLine();
        }
Exemplo n.º 2
0
        public ManagementController(ManagementControllerParameters parameters)
        {
            _parameters = parameters;

            // To authenticate against the Microsoft Azure service management API we require management certificate
            // load this from a publish settings file and later use it with the Service Management Libraries
            var credential = GetSubscriptionCloudCredentials(parameters.PublishSettingsFilePath);

            _storageManagementClient = CloudContext.Clients.CreateStorageManagementClient(credential);
            _computeManagementClient = CloudContext.Clients.CreateComputeManagementClient(credential);

        }
Exemplo n.º 3
0
        private static bool VerifyConfiguration(ManagementControllerParameters serviceParameters)
        {
            bool configOK = true;
            if (!File.Exists(serviceParameters.PublishSettingsFilePath))
            {
                configOK = false;
                Console.WriteLine("Please download your .publishsettings file and specify the location in the Main method.");
            }
            if (!File.Exists(serviceParameters.ServicePackageFilePath) || !File.Exists(serviceParameters.ServiceConfigurationFilePath))
            {
                configOK = false;
                Console.WriteLine("Please create an Azure Cloud Service project in another instance of Visual Studio, Package it, and specify the locations of the .cspkg and .cscfg files in the Main method.");
            }
            return configOK;

        }
Exemplo n.º 4
0
        private static async Task SetupAndTearDownCloudService(ManagementControllerParameters managementControllerParameters)
        {
            ManagementController controller = new ManagementController(managementControllerParameters);

            Console.WriteLine("1. Create Storage Account named {0} in Region {1}", managementControllerParameters.StorageAccountName, managementControllerParameters.Region);
            ConsoleContinuePrompt("Create");

            await controller.CreateStorageAccount();

            Console.WriteLine("...Complete");
            Console.WriteLine("2. Upload Service Config {0} and Service Package {1} to Storage Account {2}", managementControllerParameters.ServiceConfigurationFilePath, managementControllerParameters.ServicePackageFilePath, managementControllerParameters.StorageAccountName);
            ConsoleContinuePrompt("Upload");

            var blob = await controller.UploadDeploymentPackage();

            Console.WriteLine("...Complete");
            Console.WriteLine("3. Creating a Cloud Service hosted service slot named {0} in Region {1}", managementControllerParameters.CloudServiceName, managementControllerParameters.Region);
            ConsoleContinuePrompt("Create");

            await controller.CreateCloudService();

            Console.WriteLine("...Complete");
            Console.WriteLine("4. Deploy the Cloud Service to production slot");
            ConsoleContinuePrompt("Deploy");

            await controller.DeployCloudService(blob.Uri);

            Console.WriteLine("...Complete");
            Console.WriteLine("5. Delete Cloud Service Deployment, Hosted Service and Storage Account");
            ConsoleContinuePrompt("Delete");

            controller.TearDown();
        }