Поделиться через


API-интерфейс управления подписками

При создании интерфейса управления подписками необходимо управлять тремя типами объектов: подписчиками, устройствами подписчиков и подписками. Для создания, изменения и удаления таких объектов пользовательское приложение использует API-интерфейс управления подписками служб Notification Services. API хранит и управляет сведениями о подписчиках и подписках, находящихся в базах данных экземпляра и приложений.

Службы Notification Services также содержат в базе данных экземпляра и приложения представления, которые можно использовать для добавления основного подписчика, устройства подписчика и подписок непосредственно из баз данных. В основном эти представления предназначены для разработки и тестирования приложений.

ms166467.note(ru-ru,SQL.90).gifВажно!
Для управления подписчиками, устройствами подписчиков и данными подписок всегда следует использовать API-интерфейс или представления. Не используйте прямое управление базовыми таблицами.

API-интерфейс управления подписками

На следующем рисунке показано, как управляющие объекты используются интерфейсом управления подписками для связи со службами Notification Services.

Архитектура управления подписками

  • Объект Subscriber представляет отдельного подписчика. Подписчиком является пользователь или процесс, определяемый идентификатором подписчика. Данные подписчика хранятся в базе данных экземпляра, поэтому подписчики могут быть общими для различных приложений.
  • Объект SubscriberDevice представляет отдельное устройство подписчика для подписчика. Устройство подписчика представляет собой конечную точку доставки уведомлений, например адрес электронной почты.
    Каждый подписчик должен иметь хотя бы одно устройство подписчика. Данные об устройстве подписчика, как и данные подписчика, хранятся в базе данных экземпляра.
    У каждого устройства подписчика есть имя и адрес, которые связаны с каналом доставки. Канал доставки представляет собой определенную службу доставки, которая используется для доставки на устройство уведомлений, например отдельный шлюз протокола SMTP. Настройка каналов доставки выполняется при настройке экземпляра служб Notification Services.
  • Объект Subscription представляет отдельную подписку для подписчика. Подписки определяют, какие уведомления будет получать подписчик. Подписки относятся к специальному классу подписки и могут управляться событиями или расписанием. Подписки определяют значения для полей класса подписки.
    Если класс подписок использует условные действия, то подписка может указывать условие, определяющее необходимость формирования уведомления для подписки. Для поддержки разработки условий приложение должно использовать классы подписки в пространстве имен Microsoft.SqlServer.NotificationServices.Rules.
    Данные подписки хранятся в базе данных приложения.

Классы управления подписками

Для разработки интерфейсов управления подписками используются следующие классы в пространстве имен Microsoft.SqlServer.NotificationServices.

Класс Описание

Subscriber

Представляет отдельного подписчика в данном экземпляре служб Notification Services.

SubscriberEnumeration

Представляет коллекцию подписчиков в данном экземпляре служб Notification Services.

SubscriberDevice

Представляет устройство, получающее уведомления.

SubscriberDeviceEnumeration

Представляет коллекцию устройств подписчика.

Subscription

Представляет отдельную подписку.

SubscriptionEnumeration

Представляет коллекцию подписок.

SubscriberLocale

Представляет географический регион, для которого форматируется уведомление.

SubscriberLocaleEnumeration

Представляет коллекцию языковых стандартов подписчиков, доступных в данном экземпляре служб Notification Services.

TimeZone

Представляет действительные данные о часовом поясе, который используется для запланированных подписок.

TimeZoneEnumeration

Представляет коллекцию часовых поясов, доступную в данном экземпляре служб Notification Services.

SubscriptionClass

Представляет класс подписки, заданный для данного приложения.

SubscriptionClassEnumeration

Представляет коллекцию классов подписки в данном приложении служб Notification Services.

NSApplication

Представляет приложение служб Notification Services.

NSInstance

Представляет экземпляр служб Notification Services.

NSException

Представляет исключения при ошибке приложения служб Notification Services.

Условные классы подписок

Если класс подписки содержит правила, использующие условные действия, то необходимо использовать классы в пространстве имен Microsoft.SqlServer.NotificationServices.Rules, чтобы разрешить пользователям определять условия.

Класс Описание

AndCondition

Определяет набор условий, значение которого вычисляется с помощью логического оператора AND.

BetweenLeafCondition

Имеет значение true, если тестируемый аргумент находится между минимальным и максимальным значениями или равен им.

BooleanLeafCondition

Имеет значение true, если истинно логическое значение аргумента.

ConstantValue

Представляет аргумент с предопределенным значением.

ExpressionOperator

Операторы выражений.

ExpressionValue

Представляет аргумент, значение которого определяется с помощью вычисления простого арифметического выражения.

FieldValue

Представляет условный аргумент, значение которого определяется в поле ввода.

FilterAction

Действия фильтра.

FilterRule

Определяет фильтр для входной таблицы или представления на основе результатов вычисления условия. Правило фильтра включает одну или несколько инструкций фильтра.

FilterStatement

Описывает логическую инструкцию в виде «IF Условие THEN Действие».

FunctionValue

Представляет аргумент, получающий значение из пользовательской функции языка Transact-SQL.

IsNullLeafCondition

Имеет значение true, если аргумент равен NULL.

LinkLeafCondition

Вычисляет значения операций в соответствии с результатами связанного правила фильтра.

LinkLeafOperator

Операторы для связи конечных условий.

NotCondition

Инвертирует результат другого условия.

OrCondition

Определяет набор вычисляемых условий с использованием логики OR.

PropertyRule

Позволяет определить правило для любой строки во входной таблице или представлении, результатом которого является скалярное значение. Правило свойства состоит из одной или нескольких инструкций свойств.

PropertyStatement

Позволяет описать логическую инструкцию в форме «IF Условие THEN Результат», где результат представляет собой скалярное значение.

RulesException

Представляет исключение, вызываемое объектом в пространстве имен.

RuleValue

Представляет аргумент, получающий значение из вычисления других правил.

SimpleLeafCondition

Позволяет сравнить два аргумента с помощью операторов отношений и возвращает логический результат.

SimpleOperator

Операторы для простых конечных условий.

TableInputType

Позволяет описать таблицу, которую можно использовать в качестве исходных данных для правила.

ViewInputType

Описывает представление, которое может использоваться в качестве исходных данных для правила.

Классы администрирования подписок

Вышеописанные классы предназначены для управления подписчиками, устройствами подписчиков и данными подписок. При создании приложения для администрирования или управления экземплярами служб Notification Services для включения и отключения подписчиков и подписок используются следующие классы в пространстве имен Microsoft.SqlServer.Management.Nmo.

Класс Описание

Instance

Предоставляет методы включения и отключения управления подписчиками.

Application

Предоставляет методы включения и отключения управления подписками.

Представления управления подписками

Как правило, службы Notification Services используют представления для управления данными подписчиков при тестировании приложений. Дополнительные сведения см. в следующих разделах:

См. также

Основные понятия

Начало разработки проекта управления подписками

Другие ресурсы

Разработка интерфейсов управления подписками
Управление подписчиками
Управление устройствами подписчиков
Управление данными подписки

Справка и поддержка

Получение помощи по SQL Server 2005