예제 #1
0
        public String CreateDeployment(String subscriptionId, List <Byte> certificateBytes, String serviceName,
                                       String deploymentName, String deploymentSlot, String label, int instanceCount = 1)
        {
            String requestId = string.Empty;

            try
            {
                // Go read the Blob Urls for the Azure Deployment Package and
                // Configuration files.
                List <CloudBlob> blobList = AzureStorageUtility.ListBlobs();

                string configUri  = string.Empty;
                string packageUri = string.Empty;

                foreach (CloudBlob blob in blobList)
                {
                    if (blob.Attributes.Uri.ToString().ToLower().EndsWith(".cscfg"))
                    {
                        configUri = blob.Attributes.Uri.ToString();

                        Logger.Write("Config Url: " + configUri);
                    }

                    if (blob.Attributes.Uri.ToString().ToLower().EndsWith(".cspkg"))
                    {
                        packageUri = blob.Attributes.Uri.ToString();

                        Logger.Write("Package Url: " + packageUri);
                    }
                }

                // Construct paths to Configuration File in Blob Storage
                string deploymentPackageFolder = ConfigurationManager.AppSettings["DeploymentPackageFolder"].ToString();

                string fileName = configUri.ToString().Substring(configUri.IndexOf("/" + deploymentPackageFolder + "/") + deploymentPackageFolder.Length + 2);

                Logger.Write("Config File Name: " + fileName);

                string configurationString = AzureStorageUtility.ReadBlobFile(fileName);

                // Strip off first non-viewable character
                configurationString = configurationString.Substring(1);

                Logger.Write("Configuration String: " + configurationString);

                // Change instance count to the selected amount
                AzurePackageManager azPackageMgr = new AzurePackageManager();

                string modifiedConfigurationString = azPackageMgr.ChangeDeploymentInstanceCount(instanceCount, configurationString);

                String uri = String.Format(createDeploymentFormat, subscriptionId, serviceName, deploymentSlot);

                XDocument payload = CreatePayload(deploymentName, packageUri, modifiedConfigurationString, label);

                ServiceManagementOperation operation = new ServiceManagementOperation(certificateBytes);

                requestId = operation.Invoke(uri, payload);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(string.Format("Error in CreateDeployment()  Error: {0}", ex.Message));

                requestId = string.Empty;
            }

            return(requestId);
        }
예제 #2
0
        public String CreateDeployment(String subscriptionId, List<Byte> certificateBytes, String serviceName,
                                        String deploymentName, String deploymentSlot, String label, int instanceCount = 1)
        {
            String requestId = string.Empty;

            try
            {
                // Go read the Blob Urls for the Azure Deployment Package and
                // Configuration files.
                List<CloudBlob> blobList = AzureStorageUtility.ListBlobs();

                string configUri = string.Empty;
                string packageUri = string.Empty;

                foreach (CloudBlob blob in blobList)
                {
                    if (blob.Attributes.Uri.ToString().ToLower().EndsWith(".cscfg"))
                    {
                        configUri = blob.Attributes.Uri.ToString();

                        Logger.Write("Config Url: " + configUri);
                    }

                    if (blob.Attributes.Uri.ToString().ToLower().EndsWith(".cspkg"))
                    {
                        packageUri = blob.Attributes.Uri.ToString();

                        Logger.Write("Package Url: " + packageUri);
                    }
                }

                // Construct paths to Configuration File in Blob Storage
                string deploymentPackageFolder = ConfigurationManager.AppSettings["DeploymentPackageFolder"].ToString();

                string fileName = configUri.ToString().Substring(configUri.IndexOf("/" + deploymentPackageFolder + "/") + deploymentPackageFolder.Length + 2);

                Logger.Write("Config File Name: " + fileName);

                string configurationString = AzureStorageUtility.ReadBlobFile(fileName);

                // Strip off first non-viewable character
                configurationString = configurationString.Substring(1);

                Logger.Write("Configuration String: " + configurationString);

                // Change instance count to the selected amount
                AzurePackageManager azPackageMgr = new AzurePackageManager();

                string modifiedConfigurationString = azPackageMgr.ChangeDeploymentInstanceCount(instanceCount, configurationString);

                String uri = String.Format(createDeploymentFormat, subscriptionId, serviceName, deploymentSlot);

                XDocument payload = CreatePayload(deploymentName, packageUri, modifiedConfigurationString, label);

                ServiceManagementOperation operation = new ServiceManagementOperation(certificateBytes);

                requestId = operation.Invoke(uri, payload);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(string.Format("Error in CreateDeployment()  Error: {0}", ex.Message));

                requestId = string.Empty;
            }

            return requestId;
        }