МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«КАБАРДИНО-БАЛКАРСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТИМ. Х. М. БЕРБЕКОВА»
Институт Информатики Электроники и Компьютерных Технологий
Кафедра Информатики и технологий программирования
ОТЧЕТ
По дисциплине:
«Высокопроизводительные вычисления о облачные сервисы»
ЛАБОРАТОРНАЯ РАБОТА №6
«Работа с Tables»
Выполнил:
магистр 1-го года обучения
ИИЭиКТ направления ИиВТ
Преподаватель:
Доцент кафедры АИТ
Нальчик 2016 г.
Работа с Tables
Целью лабораторной работы является практическое освоение процесса работы с Tables в Windows Azure.











Разработка для SQL Azure
Я запускаю мастер в Visual Studio для добавления нового источника данных, и он помогает мне создать строку подключения и набор данных. В нашем случае строка подключения в файле app. config выглядит так:
<add name="AzureStrucutredStorageAccessExample. Properties. Settings. pubsConnectionString"
connectionString="Data Source=gfkdgapzs5.database. ;Initial Catalog=pubs;Persist Security Info=True;User ID=jofultz;Password=[password]"
providerName="System. Data. SqlClient" />
Обычно для защиты базы данных применяется интегрированная аутентификация, поэтому повторное использование средств аутентификации SQL Server кажется несколько неуклюжей. SQL Azure сводит к минимуму возможные уязвимости, заставляя вас указывать список допустимых IP-адресов; в этот список нужно добавлять запись для каждого диапазона IP-адресов, с которых будет осуществляться подключение к базе данных.

Я перетащил на форму DataGridView и сконфигурировал соединение. После этого запустил программу и в конечном счете получил представление данных в сетке, как показано далее.




Windows Azure Table Storage
К этому моменту вы увидели преимущества использования SQL Azure для своего хранилища. А когда же выгоднее опираться на Windows Azure Table Storage? Существует ряд случаев, где выбор SQL Azure может оказаться неподходящим.
Если приложение переделывается для перемещения в Интернет или реализация уровня хранения данных не закончена, то, вероятно, вы захотите присмотреться к Windows Azure Table Storage. Аналогично, применение Windows Azure Table Storage имеет смысл, если вам не требуется реляционное хранилище или если одновременный доступ ограничен рамками единственной таблицы и операции объединения (joins) не нужны.
Применение Windows Azure Table Storage
Для работы с Windows Azure Table Storage начните с добавления в свой проект ссылки на System. Data. Services. Client. Кроме того, добавьте ссылку на Microsoft. WindowsAzure. StorageClient. dll, если вы не используете шаблон Cloud в Visual Studio (где эта ссылка уже есть).
Далее создайте объект/сущность, с которой вы можете работать (стащите его/ее из таблицы Authors):
public class TableStorageAuthor:
Microsoft. WindowsAzure. StorageClient. TableServiceEntity {
public int Id {get; set;}
public string LastName { get; set; }
public string FirstName { get; set; }
public string Phone { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip {get; set;}
}
Вы можете определить контекст клиента сервиса данных, используя TableServiceContext для обработки подключения к хранилищу и выполнения CRUD-операций (Create/Read/Update/Delete), как показано на рис. 4. TableStorageAuthor применяется как класс шаблона, чтобы объявить элемент AuthorData, для которого возвращается метод запроса таблицы Authors. Он также используется как тип параметра в реализованной операции Add.
Доступ к Windows Azure Table Storage
public class AuthorDataServiceContext : TableServiceContext {
public IQueryable<TableStorageAuthor> AuthorData {
get {
return this. CreateQuery<TableStorageAuthor>("Authors");
}
}
public AuthorDataServiceContext (
Uri baseAddress, StorageCredentials credentials)
: base(baseAddress. AbsoluteUri, credentials) {}
public void Add(TableStorageAuthor author) {
this. AddObject("Authors", author);
DataServiceResponse dsResponse = SaveChanges();
}
}
Создайте целевую таблицу:
TableClient. CreateTableIfNotExist("Authors");
Используя привычную парадигму создания объекта и присваивания свойству, подготовьте какие-нибудь данные и добавьте их в таблицу, которая была создана в хранилище.
Добавление данных в Windows Azure Table Storage
var TableClient = StorageAccount. CreateCloudTableClient();
TableStorageAuthor author = new TableStorageAuthor();
author. FirstName = "Joseph";
author. LastName = "Fultz";
author. RowKey = System. Guid. NewGuid().ToString();
author. Id = author. RowKey;
author. State = "TX";
author. PartitionKey = "TX";
AuthorDataServiceContext ctx =
new AuthorDataServiceContext(
StorageAccount. TableEndpoint,
StorageAccount. Credentials);
ctx. Add(author);
Как только все данные окажутся в хранилище, ими можно будет манипулировать через LINQ. Например, выборка сущностей могла бы выглядеть следующим образом:
AuthorDataServiceContext ctx =
new AuthorDataServiceContext(
StorageAccount. TableEndpoint,
StorageAccount. Credentials);
var authors =
from a in ctx. AuthorData
select a;
foreach (TableStorageAuthor ta in authors) {
Debug. WriteLine(ta. FirstName + " " + ta. LastName);
}
Вывод: выполняя данную лабораторную работу, я с уверенностью могу сказать, что в полной мере смог освоить процесс работы с Tables в Windows Azure.


