#oracle #rest #cloud
Вопрос:
Может ли кто-нибудь помочь с образцом полезной нагрузки для вызова метода POST «Импорт приложений» для программного импорта приложения в облачную службу Oracle Visual Builder.
Я знаю, что у меня нет типа содержимого или тела запроса, или и то, и другое неверно. Я использую Postman для проверки конечной точки
Шаги
- Настройте экземпляр облачной службы Oracle Visual Builder в https://cloud.oracle.com/?region=
- Создал экземпляр «Визуального конструктора» в oracle cloud для моего входа/ аренды
- Запустил домашнюю страницу VBCS и создал одно или несколько приложений
- Использовал конечную точку VBCS REST (GET /ресурсы/приложение/экспорт ресурсов/{projectid}-{версия}) для экспорта одного из приложений
- Я пытаюсь импортировать приложение (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
- Войдите в Oracle Cloud, используя свои учетные данные облачной учетной записи и права аренды
- В меню навигации слева вверху -> Классические сервисы OCI ->> Сервисы платформы ->>> Визуальный конструктор
- Создайте экземпляр, если у вас его еще нет. Нажмите на активный экземпляр и запустите его
- Возьмите базовый URL-адрес экземпляра VBCS. Это будет что-то вроде https://yourInstanceName-yourTenancy.builder.ocp.oraclecloud.com/ic/builder/
- Предполагая, что у вас есть визуальное приложение, созданное в вашем экземпляре VBCS. Ссылка здесь
- Предполагая, что вы знакомы с созданием токена на предъявителя для облачных приложений Oracle. OAuthToken, упомянутый в приведенных ниже примерах, создается на основе вашего предпочтительного типа OAuth ( владелец ресурсов или JWT или любая другая настройка, которая у вас есть для вашего облачного приложения).
- Экспортируйте свое приложение. ответом будет содержимое zip-файла. сохраните его в своей файловой системе
завиток —местоположение —запрос ПОЛУЧИТЬ ‘https://yourInstanceName-yourTenancy.builder.ocp.oraclecloud.com/ic/builder/resources/application/exportresources/yourAppId-yourAppVersion’ —заголовок ‘Авторизация: Предъявитель OAuthToken’
- Допустим, вы сохранили экспортированный файл в C:tempyourAppId-yourAppVersion.zip
- Импортируйте приложение как новое приложение в целевом экземпляре
завиток-местоположение-сообщение с запросом ‘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’
- Импортируйте приложение в существующее приложение в целевом экземпляре. Он заменит существующую версию приложения содержимым, которое вы импортируете.
завиток-местоположение-сообщение с запросом ‘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 нет четкой документации. Поэтому для этого мне нужно покопаться в бэкэнд-журналах.