Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве показано, как создать решение для анализа тональности социальных сетей, введя события X (ранее Twitter) в Центры событий Azure, а затем проанализировать их с помощью Stream Analytics. Вы создаете запрос Azure Stream Analytics для анализа данных и хранения результатов для последующего использования или создания панели мониторинга Power BI для предоставления аналитических сведений в режиме реального времени.
Средства аналитики для социальных сетей помогают организациям определить популярные темы, Популярные темы — это темы и настроения, о которых публикуется большое количество сообщений в социальных сетях. Анализ тональности, также называемый анализом мнений, использует инструменты аналитики социальных сетей, чтобы определить отношение к продукту или идее.
Анализ трендов в X в режиме реального времени — отличный пример инструмента аналитики, поскольку модель подписки на хэштеги позволяет отслеживать определённые ключевые слова (хэштеги) и проводить анализ тональности ленты.
Сценарий анализа тональности социальных сетей в режиме реального времени
Компания, владеющая новостным сайтом, заинтересована в том, чтобы получить преимущество перед конкурентами, размещая на сайте материалы, которые сразу актуальны для её читателей. Компания использует анализ социальных сетей по темам, представляющим интерес для читателей, проводя анализ тональности данных X в режиме реального времени.
Чтобы выявлять актуальные темы в режиме реального времени на платформе X, компании нужна аналитика в реальном времени об объёме твитов и тональности по ключевым темам.
Предварительные требования
В этом руководстве вы используете клиентское приложение, которое подключается к X и ищет твиты с определенными хэштегами (которые можно задать). В следующем списке приведены предварительные требования для запуска приложения и анализа твитов с помощью Аналитики потоковой передачи Azure.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.
Учетная запись X.
Приложение TwitterClientCore, которое читает ленту X. Чтобы получить это приложение, скачайте TwitterClientCore.
Установите пакет SDK для .NET Core версии 2.1.0.
Вот архитектура решения, которую вы собираетесь реализовать.
Создание концентратора событий для входных потоковых данных
Пример приложения создает события и отправляет их в концентратор событий. Центры событий Azure — это предпочтительный метод приема событий для Stream Analytics. Дополнительные сведения см. в статье Что такое Центры событий?.
Создайте пространство имен Event Hubs и центр событий
Следуйте инструкциям из краткого руководства: Создание концентратора событий с помощью портала Azure, чтобы создать пространство имен Службы "Центры событий" и концентратор событий с именем socialx-eh. Вы можете использовать другое имя. В таком случае запишите его, так как это имя понадобится вам позже. Другие параметры концентратора событий указывать не нужно.
Предоставление доступа к концентратору событий
Для того чтобы процесс смог отправлять данные в концентратор событий, концентратор должен иметь политику, разрешающую доступ. Политика доступа создает строку подключения, которая включает сведения об авторизации.
В панели навигации слева от пространства имен Центров событий выберите центры событий, расположенные в разделе "Сущности ". Затем выберите только что созданный концентратор событий.
На панели навигации слева выберите Политики общего доступа, расположенные в разделе Параметры.
Примечание.
Существует параметр политик общего доступа для пространства имен и концентратора событий. Убедитесь, что вы работаете в контексте вашего концентратора событий, а не пространства имен.
На странице политик общего доступа нажмите кнопку +Добавить на панели команд. Затем введите socialx-access в поле Имя политики и установите флажок Управление.
Нажмите кнопку создания.
После развертывания политики выберите ее в списке политик общего доступа.
Найдите текстовое поле с пометкой Строка подключения — первичный ключ и нажмите кнопку копирования рядом со строкой подключения.
Вставьте строку подключения в текстовый редактор. Эта строка подключения понадобится в следующем разделе после внесения в нее небольших изменений.
Строка подключения выглядит следующим образом:
Endpoint=sb://EVENTHUBS-NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=socialx-access;SharedAccessKey=XXXXXXXXXXXXXXX;EntityPath=socialx-eh
Обратите внимание, что строка подключения содержит несколько пар "ключ — значение", которые разделены точкой с запятой: Endpoint, SharedAccessKeyName, SharedAccessKey и EntityPath.
Примечание.
В целях безопасности в примере были удалены части строки подключения.
Настройка и запуск клиентского приложения X
Клиентское приложение получает события твита непосредственно из X. Для этого требуется разрешение на вызов API потоковой передачи Twitter. Чтобы настроить это разрешение, создайте приложение в X, которое создает уникальные учетные данные (например, маркер OAuth). Затем можно настроить в клиентском приложении использование этих учетных данных при вызовах API.
Создание приложения X
Если у вас еще нет приложения X, которое можно использовать для этого руководства, можно создать его. У вас уже должна быть учетная запись X.
Примечание.
Точный процесс в X для создания приложения и получения ключей, секретов и маркеров может измениться. Если эти инструкции не соответствуют тому, что вы видите на сайте X, обратитесь к документации разработчика X.
В веб-браузере перейдите к X Developer, создайте учетную запись разработчика и выберите " Создать приложение". Может появиться сообщение о том, что вам нужно подать заявку на учетную запись разработчика X. Не стесняйтесь сделать это, и после того как ваша заявка будет одобрена, вы получите письмо с подтверждением. Чтобы получить утверждения учетной записи разработчика, может потребоваться несколько дней.
На странице Create an application (Создание приложения) укажите сведения для нового приложения, а затем выберите Create your Twitter application (Создать приложение Twitter).
На странице приложения перейдите на вкладку Keys and Tokens (Ключи и маркеры) и скопируйте значения ключа API потребителя и секретного ключа API потребителя. Также выберите Создать в разделе Токен доступа и секрет токена доступа, чтобы создать токены доступа. Скопируйте значения маркера доступа и секрета маркера доступа.
Сохраните значения, полученные для приложения X. Эти значения потребуются позже.
Примечание.
Ключи и секреты для приложения X предоставляют доступ к учетной записи X. Эти сведения обрабатываются как конфиденциальные, так же, как и пароль X. Например, не внедряйте эти сведения в приложения, которые предоставляете другим пользователям.
Настройка клиентского приложения
Мы создали клиентское приложение, которое подключается к данным X с помощью API потоковой передачи Twitter для сбора событий твита по определенному набору тем.
Перед запуском приложения ему потребуются от вас определённые сведения, например ключи доступа Twitter и строка подключения к Центру событий.
Убедитесь, что вы загрузили и распаковали приложение TwitterClientCore, как указано в списке необходимых компонентов.
Используйте текстовый редактор, чтобы открыть файл App.config. Внесите следующие изменения в элемент
<appSettings>:- Задайте для
oauth_consumer_keyзначение ключа пользователя Twitter (ключ API). - Задайте для
oauth_consumer_secretзначение секрета пользователя Twitter (секрет API). - Установите для
oauth_tokenзначение «токен доступа Twitter». - Задайте для
oauth_token_secretсекрет токена доступа Twitter. - Задайте
EventHubNameConnectionStringстроку подключения. - Укажите для
EventHubNameимя концентратора событий (то есть значение пути к сущности).
- Задайте для
Откройте командную строку и перейдите в каталог, где находится приложение TwitterClientCore. Используйте команду
dotnet buildдля сборки проекта. Затем используйте командуdotnet run, чтобы запустить приложение. Приложение отправляет твиты в центры событий.
Создайте задание Stream Analytics
Теперь, когда события твита передаются в режиме реального времени из X, можно настроить задание Stream Analytics для анализа этих событий в режиме реального времени.
На портале Azure перейдите к используемой группе ресурсов и выберите + Добавить. Затем найдите задание Stream Analytics и выберите Создать.
Назовите задание
socialx-sa-jobи укажите подписку, группу ресурсов и расположение.Мы рекомендуем поместить задание и концентратор событий в одном регионе, чтобы достичь оптимальной производительности и не оплачивать передачу данных между регионами.
Нажмите кнопку создания. Затем перейдите к своему заданию после завершения развертывания.
Указание входных данных для задания
В задании Stream Analytics выберите Входные данные из раздела Топология задания.
Выберите + Добавить потоковый вход>Концентратор событий. Заполните форму для Создания входа, указав следующую информацию:
Параметр Рекомендуемое значение Description Псевдоним входа TwitterStream Введите псевдоним для входных данных. Подписка <Ваша подписка> Выберите подписку Azure, которую нужно использовать. Пространство имен Центров событий asa-x-eventhub Имя концентратора событий socialx-eh Выберите Использовать существующее. Затем выберите созданный концентратор событий. Тип сжатия событий Gzip Тип сжатия данных. Оставьте остальные значения по умолчанию и выберите Сохранить.
Укажите запрос задания
Stream Analytics поддерживает простую декларативную модель запроса для описания преобразований. Дополнительные сведения о языке см. в разделе Справочник по языку запросов Azure Stream Analytics. Это руководство помогает создавать и тестировать несколько запросов по данным X.
Чтобы сравнить количество упоминаний по разным темам, воспользуемся переворачивающимся окном. Это позволит получать количество упоминаний по теме каждые 5 секунд.
В Обзоре своего задания щелкните Изменить запрос в верхнем правом углу поля запроса. Azure перечислит входные и выходные данные, настроенные для задания, и позволит создать запрос, преобразующий входной поток, отправляемый на выход.
Измените запрос в редакторе кода, сделав следующее.
SELECT * FROM TwitterStreamДанные о событиях из сообщений должны появиться в окне Предварительная версия ввода, расположенном под запросом. Убедитесь, что Представление имеет значение JSON. Если вы не видите никаких данных, убедитесь, что генератор данных отправляет события в концентратор событий и что вы выбрали Gzip в качестве типа сжатия для входных данных.
Выберите Тестовый запрос и обратите внимание на результаты в окне Результаты теста под запросом.
Замените запрос в редакторе кода приведенным ниже кодом, а затем выберите Протестировать запрос:
SELECT System.Timestamp as Time, text FROM TwitterStream WHERE text LIKE '%Azure%'Этот запрос возвращает все твиты, включающие ключевое слово Azure.
Создание приемника выходных данных
Теперь вы определили поток событий, входные данные концентратора событий для приема событий и запрос для выполнения преобразования по потоку. Последний шаг — определить приемник вывода для задания.
В этом руководстве вы запишете агрегированные события твитов из запроса задания в хранилище BLOB-объектов Azure. Кроме того, в зависимости от потребностей приложения можно передать результаты в базу данных SQL Azure, хранилище таблиц Azure, Центры событий или Power BI.
Указание выходных данных для задания
В разделе Топология задания, находящемся в меню навигации слева, выберите Выходные данные.
На странице «Выходные данные» выберите + Добавить и Хранилище BLOB-объектов/Data Lake Storage 2-го поколения:
-
Выходной псевдоним: используйте имя
TwitterStream-Output. - Параметры импорта: выберите хранилище из подписок.
- Учетная запись хранения. Затем выберите учетную запись хранения.
-
Контейнер: Выберите Создать новую, а затем введите
socialx.
-
Выходной псевдоним: используйте имя
Выберите Сохранить.
Запуск задания
Указаны входные данные задания, запрос и выходные данные. Вы готовы запустить задание Stream Analytics.
Убедитесь, что приложение TwitterClientCore запущено.
В обзоре задания выберите Запустить.
На странице Запуск задания для параметра Время начала создания выходных данных задания выберите Сейчас и щелкните Запуск.
Получение поддержки для Azure Stream Analytics
За дополнительной информацией перейдите на страницу вопросов и ответов об Azure Stream Analytics.