static bool SendJsonToStorage(CloudBlobClient blobClient, string fullText, string timeStamp) { BlobContinuationToken continuationToken = null; BlobResultSegment resultSegment = null; try { //Convert the unix timestamp to a date DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc); dtDateTime = dtDateTime.AddSeconds(Double.Parse(timeStamp)); String outputPath = String.Format(@"logs/post/{0}/{1}/{2}", dtDateTime.Year, dtDateTime.Month, dtDateTime.Day); // Retrieve reference to a previously created container https: //pcldevbgwilkinson01.blob.core.windows.net/sensor-hub/logs/pre/2018/04/06/0_8b385536905846c68aa7a3e4e476200b_1.json CloudBlobContainer container = blobClient.GetContainerReference("sensor-hub"); resultSegment = container.ListBlobsSegmented(outputPath, true, BlobListingDetails.All, 1000, continuationToken, null, null); if (resultSegment.Results.Count() == 1) { fullText = Environment.NewLine + fullText; CloudAppendBlob blob = (CloudAppendBlob)resultSegment.Results.First(); blob.AppendText(fullText); } else { CloudAppendBlob blob = container.GetAppendBlobReference(outputPath + "/" + Guid.NewGuid() + ".json"); blob.UploadText(fullText); } } catch (Exception e) { Console.WriteLine("Failue uploading the blob: " + e.Message); return(false); } return(true); }
public TestFixture() { RandomNameResolver nameResolver = new RandomNameResolver(); JobHostConfiguration hostConfiguration = new JobHostConfiguration() { NameResolver = nameResolver, TypeLocator = new FakeTypeLocator(typeof(BlobBindingEndToEndTests)), }; Config = hostConfiguration; StorageAccount = CloudStorageAccount.Parse(hostConfiguration.StorageConnectionString); CloudBlobClient blobClient = StorageAccount.CreateCloudBlobClient(); BlobContainer = blobClient.GetContainerReference(nameResolver.ResolveInString(ContainerName)); Assert.False(BlobContainer.Exists()); BlobContainer.Create(); OutputBlobContainer = blobClient.GetContainerReference(nameResolver.ResolveInString(OutputContainerName)); CloudBlobContainer pageBlobContainer = blobClient.GetContainerReference(nameResolver.ResolveInString(PageBlobContainerName)); Assert.False(pageBlobContainer.Exists()); pageBlobContainer.Create(); CloudBlobContainer hierarchicalBlobContainer = blobClient.GetContainerReference(nameResolver.ResolveInString(HierarchicalBlobContainerName)); Assert.False(hierarchicalBlobContainer.Exists()); hierarchicalBlobContainer.Create(); CloudBlobContainer appendBlobContainer = blobClient.GetContainerReference(nameResolver.ResolveInString(AppendBlobContainerName)); Assert.False(appendBlobContainer.Exists()); appendBlobContainer.Create(); Host = new JobHost(hostConfiguration); Host.Start(); // upload some test blobs CloudBlockBlob blob = BlobContainer.GetBlockBlobReference("blob1"); blob.UploadText(TestData); blob = BlobContainer.GetBlockBlobReference("blob2"); blob.UploadText(TestData); blob = BlobContainer.GetBlockBlobReference("blob3"); blob.UploadText(TestData); blob = BlobContainer.GetBlockBlobReference("file1"); blob.UploadText(TestData); blob = BlobContainer.GetBlockBlobReference("file2"); blob.UploadText(TestData); blob = BlobContainer.GetBlockBlobReference("overwrite"); blob.UploadText(TestData); // add a couple hierarchical blob paths blob = hierarchicalBlobContainer.GetBlockBlobReference("sub/blob1"); blob.UploadText(TestData); blob = hierarchicalBlobContainer.GetBlockBlobReference("sub/blob2"); blob.UploadText(TestData); blob = hierarchicalBlobContainer.GetBlockBlobReference("sub/sub/blob3"); blob.UploadText(TestData); blob = hierarchicalBlobContainer.GetBlockBlobReference("blob4"); blob.UploadText(TestData); byte[] bytes = new byte[512]; byte[] testBytes = Encoding.UTF8.GetBytes(TestData); for (int i = 0; i < testBytes.Length; i++) { bytes[i] = testBytes[i]; } CloudPageBlob pageBlob = pageBlobContainer.GetPageBlobReference("blob1"); pageBlob.UploadFromByteArray(bytes, 0, bytes.Length); pageBlob = pageBlobContainer.GetPageBlobReference("blob2"); pageBlob.UploadFromByteArray(bytes, 0, bytes.Length); CloudAppendBlob appendBlob = appendBlobContainer.GetAppendBlobReference("blob1"); appendBlob.UploadText(TestData); appendBlob = appendBlobContainer.GetAppendBlobReference("blob2"); appendBlob.UploadText(TestData); appendBlob = appendBlobContainer.GetAppendBlobReference("blob3"); appendBlob.UploadText(TestData); }