большая загрузка данных в отделе продаж - PullRequest
0 голосов
/ 09 октября 2019

Я столкнулся со странным ограничением, хочу узнать, решил ли кто-нибудь эту проблему.

Постановка проблемы: загрузить данные в отдел продаж извне. объем данных составляет 1 миллион записей в серии, каждые 3 часа.

мой инструмент оркестровки источника (NiFi) способен создавать столько API REST, но отдел продаж попросил не использовать REST с такой большой пропускной способностью. Я не уверен, что лимит продаж или группа разработчиков создали искусственный потолок.

они предложили использовать dataloader, который, кажется, является пакетным загрузчиком для salesforce, но это не так быстро. также это имеет разные проблемы. Я не могу запустить загрузчик данных, когда получаю данные, так что это тоже не очень полезно.

Давным-давно я использовал Informatica для подключения к Salesforce, и мы использовали для передачи аналогичного объема данных, и без проблем. Может кто-нибудь ответить, как разъем informatica решил проблему узких мест?

также есть ли другой способ передать эти данные в отдел продаж?

1 Ответ

0 голосов
/ 10 октября 2019

Краткий ответ: переосмыслите свой вариант использования. Перепишите приложение, чтобы использовать другой механизм подключения к SF.

Длинный ответ: Стандартный Salesforce API (SOAP или REST, не имеет значения) является синхронным. Запрос-ответ, работа выполнена. Максимально 200 записей в одном вызове API. Ваши тома лучше подходят для массового API. Это только REST (хотя он может принимать XML, JSON или CSV), до 10K записей за один вызов API. Главное отличие в том, что он асинхронный. Вы отправляете задание, возвращаете идентификатор задания, вы можете проверить его (каждые 10 секунд? Каждую минуту?) "Сделано ли это еще? Если да, верните мне результаты моих успехов / неудач". Но каждая из этих проверок, конечно, тоже потребляет 1 вызов API. Тем временем SF получил от вас кучу заархивированных файлов и будет работать над их разархивированием и обработкой настолько быстро, насколько позволяют ресурсы.

Итак (игнорируя первоначальный вызов login) давайте поговорим об ограничениях. В песочницах 24-часовой скользящий лимит вызовов API составляет 5 миллионов вызовов. Массивная. В производстве это 15 000 вызовов API + 1 КБ на каждого пользователя с полной лицензией (облако продаж, облако обслуживания) + вы можете купить больше емкости ... Или просто зайдите в Настройка -> Информация о компании и проверьте свой лимит.

допустим, у вас 5 пользователей, поэтому 20 тыс. звонков в день в производстве. За 24 часа на максимальной мощности вы сможете добавить 10K * 20K = 200M вставок / обновлений. Ну, немного меньше из-за вызовов при входе в систему, проверки статуса и извлечения файла результатов, но все же - довольно хорошо. Если этого недостаточно - у вас есть большие проблемы;) Использование стандартного API позволит вам перейти на 200 * 20K = просто 4M записей.

Поддержка SF говорит вам использовать Data Loader, потому что в DL это просто галочка для использованиямассовое API. Вам все равно, что механизм бэкенда отличается. Вы даже можете написать скрипт Data Loader для запуска из командной строки (https://resources.docs.salesforce.com/216/latest/en-us/sfdc/pdf/salesforce_data_loader.pdf глава 4). Или, если это приложение Java - просто используйте файл JAR, поверх которого построен пользовательский интерфейс DL.

Это может также помочь:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...