МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«КАБАРДИНО-БАЛКАРСКИЙ ГОСУДАРСТВЕННЫЙ

УНИВЕРСИТЕТИМ. Х. М. БЕРБЕКОВА»

Институт Информатики Электроники и Компьютерных Технологий

Кафедра Информатики и технологий программирования

ОТЧЕТ

По дисциплине:

«Высокопроизводительные вычисления о облачные сервисы»

ЛАБОРАТОРНАЯ РАБОТА №6

«Работа с Tables»

Выполнил:

магистр 1-го года обучения

ИИЭиКТ направления ИиВТ

Преподаватель:

Доцент кафедры АИТ

Нальчик 2016 г.

Работа с Tables

Целью лабораторной работы является практическое освоение процесса работы с Tables в Windows Azure.

Скругленная

Овальная 

Выноска-облако: 

Скругленная

Выноска-облако:

Скругленная прямоугольная выноска: Наберем сообщение и нажмем кнопку Submit. Через несколько секунд страница обновится и появится со-общение.

Овальная

Разработка для 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.