忍者ブログ

Noracorn Try And Error Programサバサバと働くITエンジニア。忘れやすい頭からサラサラと流れ落ちる情報を、書き留めるブログです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

WindowsAzureStorageへのADO.NET DataServicesからのアクセス

とりあえず、自分用に記述

ブロブ

        // ブロブ一覧取得
        CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
        CloudBlobClient blobClient = new CloudBlobClient(account.BlobEndpoint, account.Credentials);
        CloudBlobContainer blobContainer = blobClient.GetContainerReference(containerName);
        return blobContainer.ListBlobs();
       

        // ブロブストリーム取得
        CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
        CloudBlobClient blobClient = new CloudBlobClient(account.BlobEndpoint, account.Credentials);
        CloudBlobContainer blobContainer = blobClient.GetContainerReference(containerName);
        CloudBlob blob = blobContainer.GetBlobReference(filePath);
        blob.DownloadToStream(stream);
       

        // ブロブ登録
        CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
        CloudBlobClient blobClient = new CloudBlobClient(account.BlobEndpoint, account.Credentials);
        CloudBlobContainer blobContainer = blobClient.GetContainerReference(containerName);
        blobContainer.CreateIfNotExist();
        CloudBlob blob = blobContainer.GetBlobReference(fileName);
        blob.UploadFile(filePath);
       

        // ブロブ削除
        CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
        CloudBlobClient blobClient = new CloudBlobClient(account.BlobEndpoint, account.Credentials);
        CloudBlobContainer blobContainer = blobClient.GetContainerReference(containerName);
        CloudBlob blob = blobContainer.GetBlobReference(filePath);
        blob.Delete();
       

キュー

            // キュー送信
            CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
            CloudQueueClient queueClient = account.CreateCloudQueueClient();
            queueClient = account.CreateCloudQueueClient();
            CloudQueue queue = queueClient.GetQueueReference("queuemessage");
            queue.CreateIfNotExist();
            queue.AddMessage(new CloudQueueMessage(System.Text.Encoding.UTF8.GetBytes(MessageBox.Text)));

            // キュー受信
            CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
            CloudQueueClient queueClient = account.CreateCloudQueueClient();
            CloudQueue workerQueue = queueClient.GetQueueReference("workerqueue");

            CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
            CloudQueueClient queueClient = account.CreateCloudQueueClient();
            CloudQueue workerQueue = queueClient.GetQueueReference("workerqueue");
            workerQueue.CreateIfNotExist();
            CloudQueueMessage message = workerQueue.GetMessage();
            if (message == null)
            {
                return;
            }
            MessageLabel.Text = message.AsString;
            workerQueue.DeleteMessage(message);

テーブル
         // Tableデータ登録
        CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
        CloudTableClient tableClient = new CloudTableClient(account.TableEndpoint.ToString(), account.Credentials);
        tableClient.CreateTableIfNotExist(tableName);
        CloudTableClient.CreateTablesFromModel(typeof(SampleMessageContext), Convert.ToString(account.TableEndpoint), account.Credentials);
        var context = new SampleMessageContext(account.TableEndpoint.ToString(), account.Credentials);
        context.AddObject(tableName, new SampleEntity(partitionKey, rowKey, message));
        context.SaveChanges();

        // Tableデータ削除
        CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
        SampleMessageContext context = new SampleMessageContext(account.TableEndpoint.ToString(), account.Credentials);
        var targetEntity = (from t in context.MyTable
                            where (t.PartitionKey == partitionKey && t.RowKey == rowKey)
                            select t);
        foreach (SampleEntity deleteTargetEntity in targetEntity)
        {
            context.DeleteObject(deleteTargetEntity);
        }
        context.SaveChanges();
       

拍手[0回]

PR
| HOME |