Exemple #1
0
        public AseApiRecord Get(string aseName)
        {
            // download blob
            ICloudBlob blob;

            try
            {
                blob = _blobContainer.GetBlobReferenceFromServer(aseName);
            }
            catch (StorageException ex)
                when(ex.Message.Equals("The specified blob does not exist."))
                {
                    // blob does not exist, do whatever you need here
                    return(null);
                }
            Stream target = new MemoryStream();

            blob.DownloadToStream(target);
            target.Position = 0;
            StreamReader reader = new StreamReader(target);
            string       text   = reader.ReadToEnd();
            // deserialize into AseApiRecord
            AseApiRecord record = JsonConvert.DeserializeObject <AseApiRecord>(text);

            return(record);
        }
Exemple #2
0
        public void Notify(AseApiRecord record)
        {
            RestClient restClient = new RestClient(_webhookUrl);
            var        request    = new RestRequest(Method.POST);

            request.RequestFormat = DataFormat.Json;
            request.AddJsonBody(record);
            var response = restClient.Execute(request);
        }
Exemple #3
0
        public void Save(string aseName, AseApiRecord record)
        {
            // serialize and convert to byte array
            string json = JsonConvert.SerializeObject(record);

            byte[]     bytes = Encoding.ASCII.GetBytes(json);
            ICloudBlob blob  = _blobContainer.GetBlockBlobReference(aseName);

            // delete if previously exists
            blob.DeleteIfExists(DeleteSnapshotsOption.IncludeSnapshots);
            // upload
            blob.UploadFromByteArray(bytes, 0, bytes.Length);
            blob.Properties.ContentType = "ByteArray";
            blob.SetProperties();
        }
        public AseApiRecord GetManagementIps(string aseName)
        {
            var managementApiUrl = string.Format("https://management.azure.com/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Web/hostingEnvironments/{2}/inboundnetworkdependenciesendpoints?api-version=2016-09-01", _subscriptionId, _resourceGroup, aseName);
            // Authenticate with Azure AD
            var        token      = GetAccessToken();
            RestClient restClient = new RestClient(managementApiUrl);
            var        request    = new RestRequest(Method.GET);

            request.AddHeader("Authorization", "Bearer " + token);
            var          response = restClient.Execute(request);
            var          r        = JsonConvert.DeserializeObject <AseMgmtApiResult>(response.Content);
            AseApiRecord asmNode  = r.value.Find(x => x.description.Equals("App Service management"));

            return(asmNode);
        }