Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
Charles Weyland
Member

Откуда: Feorina "Fury" 161
Сообщений: 4338
Гуглил и наткнулся на стстью, где какая-то нонейм компания предлагает скачать их SSIS Web API Integration Pack, который может и с api общаться, и json'ы читать.
А сам ssis разве это не умеет?...

Есть некоторая самописная БД - вопрос стоит в том, как оттуда данные забирать по таймеру, а также отправлять ей какие-то уведомления об успешном (или нет) окончании процесса.
23 окт 18, 09:50    [21711931]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
msLex
Member

Откуда:
Сообщений: 8000
Charles Weyland
Гуглил и наткнулся на стстью, где какая-то нонейм компания предлагает скачать их SSIS Web API Integration Pack, который может и с api общаться, и json'ы читать.
А сам ssis разве это не умеет?...

Есть некоторая самописная БД - вопрос стоит в том, как оттуда данные забирать по таймеру, а также отправлять ей какие-то уведомления об успешном (или нет) окончании процесса.


В самом SSIS есть Script Component, в котором на C# можно написать все, что только хочется
23 окт 18, 10:12    [21711962]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3237
msLex,

Ну, читать json это не очень помогает, ибо подключать Nuget packages в SSIS удовольствие сомнительное. У меня не взлетело, когда я пробовал. Т.е. либо сваливать JSON в базу 2016+ и парсить там, либо руками деплоить соотв. библиотеки в GAC сервера, не говоря уже о том, что у SSIS проекта появляется неочевидная зависимость от внешних компонентов, про которую очень легко забыть.

А так-то да, HttpWebRequest - наше все.
23 окт 18, 13:30    [21712279]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
msLex
Member

Откуда:
Сообщений: 8000
Ennor Tiegael
msLex,

Ну, читать json это не очень помогает, ибо подключать Nuget packages в SSIS удовольствие сомнительное. У меня не взлетело, когда я пробовал. Т.е. либо сваливать JSON в базу 2016+ и парсить там, либо руками деплоить соотв. библиотеки в GAC сервера, не говоря уже о том, что у SSIS проекта появляется неочевидная зависимость от внешних компонентов, про которую очень легко забыть.

А так-то да, HttpWebRequest - наше все.


Парсим и собираем как JSON так и огромные XML- ки и ничего в Gac ни ручками ни атоматикой не выкладываем.
23 окт 18, 20:36    [21712775]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
bideveloper
Member

Откуда:
Сообщений: 500
Charles Weyland,

Сам искал такой компонент SSIS для Google Analytics. Стандартного вроде нет, а сторонние все платные (и не просто платные, а ежегодная подписка около $1000 за набор компонентов).
В результате написал на C# прогу, которая грузит нужные мне данные в csv файл. Ну а файл уже обрабатывается стандартным компонентом SSIS.

А вот в составе Power BI есть компонент для загрузки из Google Analytics (хотя тоже пишется, что он 3-d party). Но из Power BI данные нельзя выгрузить в БД, только использовать в нем же.
24 окт 18, 00:35    [21712908]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3237
msLex
Ennor Tiegael
msLex,

Ну, читать json это не очень помогает, ибо подключать Nuget packages в SSIS удовольствие сомнительное. У меня не взлетело, когда я пробовал. Т.е. либо сваливать JSON в базу 2016+ и парсить там, либо руками деплоить соотв. библиотеки в GAC сервера, не говоря уже о том, что у SSIS проекта появляется неочевидная зависимость от внешних компонентов, про которую очень легко забыть.

А так-то да, HttpWebRequest - наше все.


Парсим и собираем как JSON так и огромные XML- ки и ничего в Gac ни ручками ни атоматикой не выкладываем.
С XML все понятно, для этого в .NET уже есть нужные дырочки классы. А json чем - регекспами, что ли? Или свой велосипед?
24 окт 18, 02:45    [21712950]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3657
Ennor Tiegael
С XML все понятно, для этого в .NET уже есть нужные дырочки классы. А json чем - регекспами, что ли? Или свой велосипед?

Так и для JSON есть: DataContractJsonSerializer и JavaScriptSerializer.
24 окт 18, 07:39    [21712976]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31332
Дмитрий Мух
Ennor Tiegael
С XML все понятно, для этого в .NET уже есть нужные дырочки классы. А json чем - регекспами, что ли? Или свой велосипед?

Так и для JSON есть: DataContractJsonSerializer и JavaScriptSerializer.
Это же сериализация

А нужно что то вроде XmlReader и XDocument
24 окт 18, 08:54    [21713012]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
Диклевич Александр
Member

Откуда:
Сообщений: 608
чтобы не заморачиваться с GAC, можно написать консольное приложение на том же C#, подключить туда какие угодно пакеты из Nuget, тот же Google Analytics, потом вызвать из SSIS через Execute Process Task.
Сами уходим от Script Component в сторону таких вот консолек.
24 окт 18, 09:37    [21713046]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
msLex
Member

Откуда:
Сообщений: 8000
Ennor Tiegael
msLex
пропущено...


Парсим и собираем как JSON так и огромные XML- ки и ничего в Gac ни ручками ни атоматикой не выкладываем.
С XML все понятно, для этого в .NET уже есть нужные дырочки классы. А json чем - регекспами, что ли? Или свой велосипед?
NewtonSoft. Любые сборки (свои или сторонние) подключаем через рефлекшн, там буквально по две строки кода на сборку.
24 окт 18, 09:50    [21713065]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 27721
alexeyvg
Дмитрий Мух
пропущено...

Так и для JSON есть: DataContractJsonSerializer и JavaScriptSerializer.
Это же сериализация

А нужно что то вроде XmlReader и XDocument

Я так понял, что в следующей цитате речь идёт о NuGet пакете Newtonsoft.Json.
Ennor Tiegael
Ну, читать json это не очень помогает, ибо подключать Nuget packages в SSIS удовольствие сомнительное.

Альтернатива ему вышеуказанные классы.
24 окт 18, 10:18    [21713111]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 27721
Ну и одна из перегрузок метода DataContractJsonSerializer.ReadObject принимает на вход Stream, что может быть и FileStream.
24 окт 18, 10:22    [21713121]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31332
skyANA
Альтернатива ему вышеуказанные классы.
Да? Я полагал, что Newtonsoft.Json - это средства для работы с Json, позволяющие читать, парсить и т.п., а вышеуказанные классы могут только сериализовать/десериализовать, то есть инициализировать экзеспляр класса данными из Json с соотв. декларированным маппингом.

Но это я всё фантазирую, я с XML достаточно поработал в своих ETL-лях, а вот с Json не приходилось сталкиваться.
skyANA
Ну и одна из перегрузок метода DataContractJsonSerializer.ReadObject принимает на вход Stream, что может быть и FileStream.
Да, вообще похоже...
24 окт 18, 10:38    [21713150]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31332
msLex
Ennor Tiegael
пропущено...
С XML все понятно, для этого в .NET уже есть нужные дырочки классы. А json чем - регекспами, что ли? Или свой велосипед?
NewtonSoft. Любые сборки (свои или сторонние) подключаем через рефлекшн, там буквально по две строки кода на сборку.
Ага, потом отсылаем письмом пакет админам, они его ставят в джоб на сервере, и он нормально работает. Или... ?
24 окт 18, 10:42    [21713158]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
msLex
Member

Откуда:
Сообщений: 8000
alexeyvg,

НЕТ конечно, пакеты разварачиваем мы.
24 окт 18, 12:02    [21713280]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31332
msLex
alexeyvg,

НЕТ конечно, пакеты разварачиваем мы.
Так вот из за этого и не любят добавлять сторонние библиотеки в скрипт-таски, хотя, конечно, в принципе всё возможно.

Хочется, что бы для выполнения пакета было достаточно того, что уже гарантированно есть на сервере.
24 окт 18, 13:19    [21713427]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3237
Дмитрий Мух
Ennor Tiegael
С XML все понятно, для этого в .NET уже есть нужные дырочки классы. А json чем - регекспами, что ли? Или свой велосипед?
Так и для JSON есть: DataContractJsonSerializer и JavaScriptSerializer.
Не знал, спасибо. Интересно, почему ими никто не пользуется настолько, что мне никто в отделе не упомянул их, все знают только про NewtonSoft. Но конечно, в моей ситуации выбирать не приходится.
24 окт 18, 14:59    [21713675]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Диклевич Александр
чтобы не заморачиваться с GAC, можно написать консольное приложение на том же C#, подключить туда какие угодно пакеты из Nuget, тот же Google Analytics, потом вызвать из SSIS через Execute Process Task.
Сами уходим от Script Component в сторону таких вот консолек.

А консольные приложения на Go не пробовали вместо использования C#? Там ведь вообще один бинарник, деплой получается невероятно простым.
24 окт 18, 15:03    [21713690]     Ответить | Цитировать Сообщить модератору
 Re: Ssis: возможно ли выгружать данные из web-служб или web-api?  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3237
alexeyvg
msLex
alexeyvg,

НЕТ конечно, пакеты разварачиваем мы.
Так вот из за этого и не любят добавлять сторонние библиотеки в скрипт-таски, хотя, конечно, в принципе всё возможно.

Хочется, что бы для выполнения пакета было достаточно того, что уже гарантированно есть на сервере.
Даже веселее, я делаю git commit, а дальше включается CI/CD. Ручками деплоить - очень накладно выходит, при моем теперешнем рейте.
24 окт 18, 15:06    [21713695]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить