Существует множество причин для переноса файлов из Salesforce: затраты на хранение, требования к соблюдению нормативных требований или просто консолидация мест хранения контента вашей организации.
Как ни странно, существуют также веские причины поступить иначе — перенести файлы из устаревшей CRM-системы или другой бизнес-системы в Salesforce в ходе миграции CRM, консолидации систем или проекта интеграции.
Оба варианта можно реализовать без использования скриптов, включая сложную часть — обеспечение привязки файлов к нужным записям, предотвращение дубликатов и сохранение метаданных.
Want to migrate Salesforce files to SharePoint without coding?
Discover how Document Extractor создан для платформы Salesforce can make migrations smooth
#1 Знайте, что вы перевозите
Перед самим переездом необходимо провести быструю диагностику текущего состояния вашей организации.
- Запустить отчет по хранилищу: Перейти к Настройки > Данные > Использование памяти чтобы определить точный объем вашего файлового хранилища по сравнению с объемом хранилища данных.
- Запрос к схеме: Выполните быстрый запрос SOQL или воспользуйтесь инструментом API, чтобы узнать количество строк в таблицах «Attachment», «Document» и «ContentVersion».
- Выявление больших файлов: Выделите аномальные значения. Планируете ли вы передавать большое количество файлов большого размера? Определите пороговое значение (например, 25 МБ) и отфильтруйте файлы, размер которых превышает это пороговое значение, так как именно они впоследствии будут определять размеры пакетов и пределы пропускной способности сети.
Имейте в виду, что если у вас используется организация старого типа Salesforce, документы могут быть распределены между хранилищем классической версии и современным хранилищем Lightning.
Классический (устаревший):
- Вложения: файлы, прикреплённые непосредственно к записям в старой модели
- Примечания: примечания в виде простого текста к записям
- Папки «Документы»: старая вкладка «Документы»
«Молния» (современная версия):
- Файлы (ContentDocument / ContentVersion): действующий стандарт
- Расширенные заметки: более насыщенный формат заметок, представленный в Lightning
- Библиотеки (Salesforce CRM Content): общие хранилища файлов
Настоящая сложность при миграции файлов формата Salesforce заключается не в перемещении необработанных двоичных блоков (PDF-файлов, изображений или журналов), а в сохранении контекста взаимосвязей.
В модели Classic вложение представляет собой простой дочерний элемент родительской записи. В Lightning объект ContentVersion хранит фактические данные файла, которые агрегируются в объект ContentDocument, который затем сопоставляется с записями с помощью связующего объекта под названием ContentDocumentLink.
Если вы переносите файлы из Salesforce, вам необходимо извлечь эти взаимосвязи, чтобы целевая система (например, SharePoint, Azure Blob или корзина AWS S3) знала, какой файл относится к какой учетной записи или делу. Если вы переносите файлы в систему, вам необходимо сопоставить старые файлы с этой современной многоуровневой архитектурой Lightning. Чтобы сделать это без написания пользовательских пакетных программ на Apex или скриптов на Python, потребуется инструмент, который изначально понимает эти базовые взаимосвязи API.
#2 Определите исходный и целевой тексты
Если ваша цель — SharePoint: Document Extractor
Document Extractor специально разработана для переноса файлов формата Salesforce в систему SharePoint Online и обратно, а также в локальную среду.
Она берет на себя всю тяжелую работу. Document Extractor отслеживает документы, связанные с объектами Salesforce: «Учетные записи», «Контакты», «Потенциальные клиенты», «Возможности», «Предложения», «Контракты», «Заказы», «Активы», «Сообщения электронной почты» и «Пользовательские объекты», а также создает соответствующую структуру папок в SharePoint. Он обрабатывает все необходимые связи, нестандартные случаи и установку связей.
Ваши пользователи ничего не замечают. После перемещения файла в SharePoint на его месте в Salesforce остается ссылка. В фоновом режиме некоторые файлы могут уже находиться в SharePoint, в то время как другие по-прежнему хранятся в Salesforce, но для пользователей работа с Salesforce остаётся неизменной. Это означает, что вы можете осуществлять миграцию поэтапно, проверять результаты по ходу работы и избегать рискованного перехода на новую систему ’одним махом».
Укажите дату начала. Если вы не хотите переносить все сразу, вы можете указать дату и перенести только файлы, созданные после этой даты, что удобно для крупных организаций, желающих проводить миграцию поэтапно.
Метаданные. Стандартные атрибуты файлов метаданных, такие как «Создатель», «Владелец», «Описание», «Версия» и «Изменил», сопоставляются напрямую с SharePoint наряду с любыми настраиваемыми полями, определёнными в объекте ContentVersion. Это позволяет сохранять полную историю файлов, обеспечивать соответствие нормативным требованиям и сохранять пользовательский контекст даже в тех случаях, когда файлы покидают экосистему Salesforce. Помимо атрибутов файлов, Document Extractor сопоставляет поля родительской записи (например, «Название учетной записи») с соответствующей иерархией папок SharePoint.
Полное освещение событий в сериях «Классик» и «Лайтнинг». Поддерживаются вложения, заметки, папки с документами, файлы, расширенные заметки и библиотеки. Ничего не упускается.
Поддерживаемые версии Salesforce: Professional, Enterprise, Unlimited и Developer — как в классическом интерфейсе, так и в Lightning Experience. Поддерживаемые версии SharePoint: 2013, 2016, 2019, а также SharePoint Online / Office 365.
Существует бесплатная 15-дневная пробная версия SaaS, кредитная карта не требуется, а этого времени вполне хватит для проведения полноценной проверки работоспособности. Если вы хотите запустить пробную версию на собственном сервере или вам нужна дополнительная информация, есть простой форма которые можно использовать для связи.
Если ваша цель отличается от SharePoint: Connect Bridge
Не каждый процесс переноса файлов начинается или заканчивается с SharePoint. Источником или местом назначения ваших файлов может быть устаревшая CRM-система, локальное хранилище файлов, проприетарная система управления документами или что-то совершенно другое. Именно в этом случае Connect Bridge вступает в дело.
Connect Bridge — это интеграционная платформа, которая обеспечивает подключение Salesforce практически к любой базе данных или бизнес-приложению. Для взаимодействия с Connect Bridge используется стандартный синтаксис SQL, а «под капотом» она преобразует SQL-запросы (SELECT, INSERT, UPDATE, DELETE) в соответствующие вызовы API Salesforce.
Это особенно полезно для:
- Синхронизация Salesforce с локальными базами данных или устаревшими системами
- Создание пользовательских интеграций, в которых целевой объект не является SharePoint
- Организации, к которым предъявляются особые требования в отношении соблюдения нормативных требований или размещения данных
Что касается обратного направления, Connect Bridge поддерживает любой внешний источник, из которого необходимо перенести файлы в Salesforce, что делает его подходящим инструментом и для входящей миграции.
Как формируются цены
Стоимость услуги Document Extractor зависит от количества пользователей Salesforce, а не от объема или размера переносимых файлов. В случае услуги Connect Bridge стоимость зависит от количества пользователей Salesforce и количества переносимых файлов.
Это имеет большое значение, если вы работаете с большими наборами файлов: инструменты, в которых оплата взимается за гигабайт или за файл, могут привести к неожиданно высоким счетам, когда объем данных достигает сотен гигабайт.
Ценообразование на основе количества пользователей позволяет предсказать расходы независимо от объема передаваемых данных и дает вам возможность осуществлять миграцию поэтапно и повторно запускать задания по мере необходимости, не беспокоясь о расходах.
Стоит ли всё-таки рассмотреть вариант самостоятельного ремонта?
Если вы хорошо владеете Python, использование REST API (например, для извлечения данных из ContentVersion и отправки в Microsoft Graph) является приемлемым вариантом для разовой миграции среднего объема. Однако он сопряжён с реальными скрытыми затратами: время разработчиков, обработка ограничений на частоту запросов, логика дедупликации для ContentDocumentLink, сохранение метаданных, а также крайние случаи, которые выявляются лишь на полпути в процессе крупной миграции.
Для большинства организаций использование готового инструмента с бесплатной пробной версией, проверенной репутацией и ценообразованием, основанным на количестве пользователей, является вариантом с меньшим риском. Использование скриптов имеет смысл в том случае, если у вас есть требования, которым не может удовлетворить ни один стандартный инструмент, или если у вас есть разработчик, располагающий достаточными свободными ресурсами для полного сопровождения проекта от начала до конца.
- Переход на версию SharePoint или импорт данных из SharePoint в Salesforce? Document Extractor предлагает 15-дневную бесплатную пробную версию, кредитная карта не требуется.
- Есть ли ещё какие-нибудь источники или цели? Connect Bridge предлагает бесплатную демо-версию.
и готов ответить на ваши вопросы через контактная форма в любое время.
Дополнительная литература для специалистов по курсу Salesforce
Об авторе

По адресу Ана Нето, технический консультант в Connecting Software.
Я работаю инженером-программистом с 1997 года, а в последнее время полюбил писать и выступать публично". У вас есть вопросы или комментарии по поводу этой статьи? Я буду рад получить ваш отзыв, оставьте комментарий ниже!"
