# Отличия вычислительной службы Dynamo от классического приложения Dynamo

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

## Что такое DaaS?

Термины DaaS, «Dynamo как служба», «вычислительная служба Dynamo» и др. означают одно и то же: основную среду выполнения Dynamo, выполняемую в контексте облака. То есть граф выполняется не на локальном компьютере. В настоящее время доступ к DaaS можно получить только с помощью расширения Dynamo Player для Forma. В этом случае пользователи могут выгружать файлы `.dyn`, созданные в классическом приложении, и управлять ими, запускать файлы `.dyn`, которыми коллеги поделились с помощью расширения, а также использовать предварительно загруженные процедуры `.dyn`, предоставленные Autodesk в качестве примеров.

Так как графы выполняются в контексте облака, а не на локальном компьютере, DaaS в настоящее время не может напрямую использовать традиционные контексты узла Dynamo (Revit, Civil 3D и т. д.). Если требуется использовать типы из этих программ в графе, необходимо сериализовать (сохранить) их в графе с помощью узла `Data.Remember` или других методов сериализации в графе. Они аналогичны рабочим процессам, которые необходимо использовать при создании графов для модуля генеративного проектирования в Revit.

## Какая версия Dynamo выполняет мой код?

Эта версия основана на выпуске 3.x и часто обновляется на основе главной ветви Dynamo с открытым исходным кодом.

## Какие пакеты или узлы доступны в этой версии Dynamo?

* Для большинства основных узлов см. некоторые конкретные ограничения в следующем разделе.
* `DynamoFormaBeta` — пакет для взаимодействия с API Forma.
* `VASA` — для вокселизации/эффективного анализа.
* `MeshToolKit` — для работы с сетью. Начиная с версии Dynamo 3.4, доступен готовый комплект методических материалов для работы с сетью.
* `RefineryToolkit` — для полезных алгоритмов, позволяющих выполнять проверку на наличие конфликтов, просматривать расстояние, кратчайший путь, концепции isovist и т. д.

## На что следует обратить внимание при написании графов для DaaS?

* Узлы Python не будут работать. Они *в настоящее время* просто не выполняются.
* Невозможно использовать пользовательские пакеты.
* Слой пользовательского интерфейса/вида узлов пользовательского интерфейса не будет выполнен. Мы не предполагаем, что это будет проблемой для основных функций, но это полезно иметь в виду, если вы видите ошибку, связанную с узлом с настраиваемым интерфейсом.
* Функции, предназначенные только для Windows, работать не будут. Например, при попытке использовать реестр Windows или WPF произойдет сбой.
* Расширения видов не будут загружены.
* Узлы файловой системы будут не очень полезны. Все файлы, на которые вы ссылаетесь на локальном компьютере, не будут существовать при запуске в DaaS.
* Узлы взаимодействия Excel/DSOffice не будут работать. Узлы Open XML должны работать.
* Сетевые запросы, как правило, не работают, хотя вы можете делать вызовы к API Forma.

## Как запомнить все это? Что делать, если что-то изменится?

* В будущем мы планируем внедрить в классическое приложение Dynamo инструменты, которые упростят обеспечение единообразной работы графа в обоих контекстах.

## Сколько это стоит?

* В рамках этой бета-версии плата за время вычислений не взимается.

## С чего начать?

Чтобы начать работу, ознакомьтесь с [этой публикацией в блоге](https://dynamobim.org/dynamo-as-a-service-powers-up-dynamo-player-in-forma/), [серией видеороликов на YouTube](https://www.youtube.com/playlist?list=PLY-ggSrSwbZqlbQG1i45bpT8clCJp08wD) или примерами в расширении Forma. Эти ресурсы предоставляют информацию по следующим темам:

* получение доступа к Autodesk Forma;
* установка DynamoFormaBeta for Dynamo на настольном компьютере и расширения Dynamo в Forma;
* написание первого графа.

## Безопасность

* Обратите внимание, что общедоступные графы хранятся в Forma.
* Максимальное время выполнения графа в данный момент меньше 30 минут. Это значение может изменяться.
* Скорость запросов на выполнение ограничена, поэтому вы можете столкнуться с ошибками, если вы сделаете много запросов на вычисление за слишком короткий промежуток времени.
