Экспорт и Импорт Приложений Из VBC С помощью вызовов REST

#oracle #rest #cloud

Вопрос:

Ссылка — https://support.oracle.com/cloud/faces/DocumentDisplay?id=2637471.1amp;_adf.ctrl-state=h87zqwsi3_730amp;_afrLoop=213040896345615

Может ли кто-нибудь помочь с образцом полезной нагрузки для вызова метода POST «Импорт приложений» для программного импорта приложения в облачную службу Oracle Visual Builder.

Я знаю, что у меня нет типа содержимого или тела запроса, или и то, и другое неверно. Я использую Postman для проверки конечной точки

Шаги

  1. Настройте экземпляр облачной службы Oracle Visual Builder в https://cloud.oracle.com/?region=
  2. Создал экземпляр «Визуального конструктора» в oracle cloud для моего входа/ аренды
  3. Запустил домашнюю страницу VBCS и создал одно или несколько приложений
  4. Использовал конечную точку VBCS REST (GET /ресурсы/приложение/экспорт ресурсов/{projectid}-{версия}) для экспорта одного из приложений
  5. Я пытаюсь импортировать приложение (POST /ресурсы/приложение/импорт ресурсов) в другой экземпляр VBCS, но не могу определить правильный «Тип содержимого» или формат полезной нагрузки запроса. Я продолжаю получать ошибку HTTP 415 или 400

Код показан ниже. ИМЯ СЛУЖБЫ-CLOUDACCOUNT.Тип СЛУЖБЫ заменен из учетной записи oracle cloud.

 curl --location --request POST 'https://SERVICENAME-CLOUDACCOUNT.SERVICETYPE.ocp.oraclecloud.com/ic/builder/resources/application/importresources'  
--header 'Authorization: Bearer yourOAuthToken'  
--header 'Content-Type: application/vnd.oracle.adf.error json;application/json;application/vnd.oracle.adf.resourceitem json;application/vnd.oracle.adf.resourcecollection json' 
--header 'REST-Framework-Version: 4' 
--data-raw '{
"branchId": "0",
"importMode": "xyz",
"name": "Test",
"description": "sample",
"location": null,
"fileName": "abc",
"unzip": null
}'
 

Ответ №1:

Я отладил журналы облачных экземпляров visual builder, чтобы найти подробную информацию о вызове rest api. При импорте приложения из внешнего интерфейса ( пользовательский интерфейс платформы разработки OVBCS) логика использует конечную точку «Импорт приложений».

Вот рабочий сценарий curl для импорта ресурсов приложения в облачный экземпляр oracle visual builder с использованием конечных точек REST

  1. Войдите в Oracle Cloud, используя свои учетные данные облачной учетной записи и права аренды
  2. В меню навигации слева вверху -> Классические сервисы OCI ->> Сервисы платформы ->>> Визуальный конструктор
  3. Создайте экземпляр, если у вас его еще нет. Нажмите на активный экземпляр и запустите его
  4. Возьмите базовый URL-адрес экземпляра VBCS. Это будет что-то вроде https://yourInstanceName-yourTenancy.builder.ocp.oraclecloud.com/ic/builder/
  5. Предполагая, что у вас есть визуальное приложение, созданное в вашем экземпляре VBCS. Ссылка здесь
  6. Предполагая, что вы знакомы с созданием токена на предъявителя для облачных приложений Oracle. OAuthToken, упомянутый в приведенных ниже примерах, создается на основе вашего предпочтительного типа OAuth ( владелец ресурсов или JWT или любая другая настройка, которая у вас есть для вашего облачного приложения).
  7. Экспортируйте свое приложение. ответом будет содержимое zip-файла. сохраните его в своей файловой системе

    завиток —местоположение —запрос ПОЛУЧИТЬ ‘https://yourInstanceName-yourTenancy.builder.ocp.oraclecloud.com/ic/builder/resources/application/exportresources/yourAppId-yourAppVersion’ —заголовок ‘Авторизация: Предъявитель OAuthToken’

  8. Допустим, вы сохранили экспортированный файл в C:tempyourAppId-yourAppVersion.zip
  9. Импортируйте приложение как новое приложение в целевом экземпляре

    завиток-местоположение-сообщение с запросом ‘https://yourInstanceName-yourTenancy.builder.ocp.oraclecloud.com/ic/builder/resources/application/importresources?branchId=yourAppIdamp;importMode=CREATE_NEW_APPamp;name=yourAppNameamp;description=SomeOptionalDescamp;fileName=yourAppId-yourAppVersion.zipamp;unzip=true’ —заголовок ‘Авторизация: Носитель OAuthToken’ —заголовок ‘Тип содержимого: приложение/zip’ —двоичные данные ‘@/C:/temp/yourAppId-yourAppVersion.zip’

  10. Импортируйте приложение в существующее приложение в целевом экземпляре. Он заменит существующую версию приложения содержимым, которое вы импортируете.

    завиток-местоположение-сообщение с запросом ‘https://yourInstanceName-yourTenancy.builder.ocp.oraclecloud.com/ic/builder/resources/application/importresources?branchId=yourAppId-yourAppVersionamp;importMode=KEEP_EXISTINGamp;name=YourAppNameamp;description=SomeOptionalDescamp;fileName=yourAppId-yourAppVersion.zipamp;unzip=true’ —заголовок ‘Авторизация: Носитель OAuthToken’ —заголовок ‘Тип содержимого: приложение/zip’ —двоичные данные ‘@/C:/temp/yourAppId-yourAppVersion.zip’

Ответ №2:

Вместо того, чтобы взламывать свой путь — как насчет того, чтобы использовать правильный способ хранения кода в репозитории Git, а затем использовать функции CI/CD VB Studio для перемещения вашего приложения из одного экземпляра в другой? Это также упростит обновление приложения в будущем. Вот вступление: https://blogs.oracle.com/vbcs/post/automate-visual-applications-cicd-with-visual-builder-studio

Комментарии:

1. Ценю ваши отзывы. Мы еще не используем VB studio, и нашей целью было достичь CI/CD с помощью нашего пользовательского инструмента DevOps для визуальных приложений, разработанных на платформе разработки Visual Builder. Нам это удалось, используя стандартные конечные точки REST Visual Builder. Я не смог найти сопоставление запросов, потому что для этих конечных точек REST нет четкой документации. Поэтому для этого мне нужно покопаться в бэкэнд-журналах.