本文整理汇总了C#中Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.OpenRead方法的典型用法代码示例。如果您正苦于以下问题:C# CloudBlockBlob.OpenRead方法的具体用法?C# CloudBlockBlob.OpenRead怎么用?C# CloudBlockBlob.OpenRead使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob
的用法示例。
在下文中一共展示了CloudBlockBlob.OpenRead方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadLoggingConfiguration
private static XmlLoggingConfiguration ReadLoggingConfiguration(CloudBlockBlob blob)
{
Logger.Debug("Opening blob for reading.");
Stream stream = blob.OpenRead();
Logger.Debug("Reading logging configuration from blob.");
return new XmlLoggingConfiguration(new XmlTextReader(stream), null);
}
示例2: BlobReadExpectLeaseSuccess
/// <summary>
/// Test blob reads, expecting success.
/// </summary>
/// <param name="testBlob">The blob to test.</param>
/// <param name="testAccessCondition">The access condition to use.</param>
private void BlobReadExpectLeaseSuccess(CloudBlockBlob testBlob, AccessCondition testAccessCondition)
{
testBlob.FetchAttributes(testAccessCondition, null /* options */);
testBlob.Snapshot(null /* metadata */, testAccessCondition, null /* options */).Delete();
DownloadText(testBlob, Encoding.UTF8, testAccessCondition, null /* options */);
Stream stream = testBlob.OpenRead(testAccessCondition, null /* options */);
stream.ReadByte();
}
示例3: BlobReadExpectLeaseFailure
/// <summary>
/// Test blob reads, expecting lease failure.
/// </summary>
/// <param name="testBlob">The blob to test.</param>
/// <param name="targetBlob">The blob to use for the target of copy operations.</param>
/// <param name="testAccessCondition">The failing access condition to use.</param>
/// <param name="expectedErrorCode">The expected error code.</param>
/// <param name="description">The reason why these calls should fail.</param>
private void BlobReadExpectLeaseFailure(CloudBlockBlob testBlob, CloudBlockBlob targetBlob, AccessCondition testAccessCondition, HttpStatusCode expectedStatusCode, string expectedErrorCode, string description)
{
// FetchAttributes is a HEAD request with no extended error info, so it returns with the generic ConditionFailed error code.
TestHelper.ExpectedException(
() => testBlob.FetchAttributes(testAccessCondition, null /* options */),
description + "(Fetch Attributes)",
HttpStatusCode.PreconditionFailed);
TestHelper.ExpectedException(
() => testBlob.Snapshot(null /* metadata */, testAccessCondition, null /* options */),
description + " (Create Snapshot)",
expectedStatusCode,
expectedErrorCode);
TestHelper.ExpectedException(
() => DownloadText(testBlob, Encoding.UTF8, testAccessCondition, null /* options */),
description + " (Download Text)",
expectedStatusCode,
expectedErrorCode);
TestHelper.ExpectedException(
() => testBlob.OpenRead(testAccessCondition, null /* options */),
description + " (Read Stream)",
expectedStatusCode/*,
expectedErrorCode*/);
}
示例4: SetUpInputString
private static string SetUpInputString(CloudBlockBlob blockBlobReference)
{
string inputStr;
if (blockBlobReference.Exists() == false)
{
inputStr = "";
} else
{
using (StreamReader blobReader = new StreamReader(blockBlobReference.OpenRead()))
{
inputStr = blobReader.ReadToEnd();
}
}
return inputStr;
}
示例5: ProcessTweetBlob
public void ProcessTweetBlob(CloudBlockBlob inputBlob, CloudTable outputAzureTable, string folder)
{
int count = 0;
List<TweetSentimentScore> scores = new List<TweetSentimentScore>();
using (var reader = new CsvReader(new StreamReader(inputBlob.OpenRead())))
{
while (reader.Read())
{
if (count == 0)
{
logger.Write(TraceEventType.Information, "First line: [{0}]", string.Join(",", reader.CurrentRecord));
}
count++;
var tweet = reader.GetField(0); //get the tweet
var entity = new TweetSentimentScore()
{
PartitionKey = "tweetsentimentscore",
RowKey = Guid.NewGuid().ToString(),
Tweet = tweet,
SentimentScore = GetScore(url, email, apikey, tweet)
};
scores.Add(entity);
outputAzureTable.Execute(TableOperation.InsertOrReplace(entity)); //Do it one row at a time for demo output
}
}
var iter = scores.Count() / 100;
for (int i = 0; i <= iter; i++)
{
var batchOp = new TableBatchOperation();
scores.Skip(100 * i).Take(100).ToList().ForEach(a =>
{
batchOp.Add(TableOperation.InsertOrReplace(a));
});
//outputAzureTable.ExecuteBatch(batchOp); //Removed for demo purposes.
}
logger.Write(TraceEventType.Information, string.Format(CultureInfo.InvariantCulture,
"{0},{1},{2},{3},{4}\n",
folder,
inputBlob.Name,
count,
Environment.MachineName,
DateTime.UtcNow));
}