Yandex cloud android studio

Запускаем приложение на Express.js в Yandex Cloud Functions

Node.js — удобная масштабируемая серверная платформа для работы с JavaScript. С помощью нее и различных поддерживаемых фреймворков, таких как Express, Connect или Koa, можно создавать полноценные приложения.

Если идти по пути упрощения администрирования, возникает желание загрузить приложение в Yandex Cloud Functions и вызывать его из облака. К сожалению, пока нельзя просто так взять и запустить в облаке приложение, написанное на любом популярном node.js-фреймворке. Фреймворки пишут ответ в сокет HTTP(S). Рантайм функций ожидает получить от пользовательского кода функции объект определенного содержания.

«Из коробки» это работать не будет, но можно научить приложение возвращать ответ в ожидаемом формате. Разберем, как это сделать, на примере приложения Express.js с двумя эндпоинтами.

Создаем и запускаем новый проект

Создаем новую директорию и инициируем в ней новый проект:

Далее в index.js добавляем следующий код:

Запускаем проект и проверяем, что приходят ожидаемые ответы:

Адаптируем проект под Serverless

Это универсальный враппер, он поддерживает не только Express, но и Connect, Koa, restana, а также экспериментально другие фреймворки: Sails, Hapi, Fastify, Restify, Polka и LoopBack.

Затем модифицируем наш пример. Заменяем запуск сервера на порте 3000 экспортом функции-обработчика, которая будет вызываться serverless-рантаймом облака:

Теперь наше приложение готово к запуску в облаке.

Развертываем приложение в облаке

Для того чтобы развернуть код в облаке, проще всего воспользоваться утилитой serverless. У Yandex.Cloud есть свой плагин, который позволяет деплоить функции. Из него пока нельзя развернуть еще один ключевой компонент системы — Yandex API Gateway, мы чуть позже сделаем это вручную через консоль.

Читайте также:  Помощник заточки ножей для андроид

Устанавливаем Serverless Framework и плагин к нему:

Далее создаем в проекте файл serverless.yaml с содержимым:

Деплоим функцию командой:

Если сделать функцию публичной и вызвать ее по предложенному URL, передав путь /api/info , то в ответ мы получим следующую ошибку:

необходима настройка API Gateway.

Создание API Gateway

Спецификация должна соответствовать стандарту OpenAPI 3.0, для нашего простого API ее можно написать руками:

Не забудьте поменять %function_id% и %service_account_id% на ваши значения. У сервисного аккаунта должна быть роль serverless.functions.invoker или выше, если вы оставили функцию без публичного доступа.

В более сложных случаях можно попробовать сгенерировать спецификацию OpenAPI на основе уже имеющегося кода API. Для этого подойдет express-oas-generator.

Теперь наше приложение работает и доступно по URL.

Кстати, к API Gateway можно привязать свой домен. Как приязать домен — читайте в этом посте.

Новый параметр API Gateway

Совсем недавно в API Gateway появилась возможность указать параметр вида . В этом случае будут матчиться и вложенные пути.

В первом параметре функции event в проперти path будет лежать значение вида /api/%7Bproxy+%7D и роутер Express.js будет ломаться.

Решения как минимум два:

написать честный provider для Yandex.Cloud по образу того, что сейчас есть для AWS;

пропатчить объект event, положив в path значение из url (строки 13–19 в примере ниже).

Пример готового скрипта можно скачать.

Источник

Яндекс.Диск API

Работал кто-нибудь с этим API? Запускаю дефолтный пример яндекса, и при авторизации через браузер показывает вот это:

Никто не сталкивался с такой проблемой?

Яндекс диск api.Adroid studio
Здравствуйте дорогие форумчане, нужна ваша скромная помощь. Помогите разобраться с тем как.

Реализация Яндекс SpeechKit Cloud API
Добрый день! Пытаюсь встроить в своё приложение распознование речи от яндекса. У меня получилось.

Читайте также:  Женские голосовые сообщения андроид

Android SDK Manager не отображает платформы 2.3.3 (API 10), 2.3.1 (API 9). Как быть?
Добрый день! Использую Android Studio под Windows 7. Из-за несовместимости с операционной системой.

Android Studio не дает работать с API 8 без установленного API 21
Удалил все не интересующие меня библиотеки и поставил только API Level 8. Но при создании.

Callback URI не могу посмотреть так как акrаунт за яндексом зарегистрирован, но предполагаю что он http://localhost

Решение

Судя по вашему манифесту, он должен быть yandexdisk://чтоугодно в противном случае ничего работать не будет. Есть два пути решения вашей проблемы:

1) Регистрируйте свой аккаунт и сделайте в нем нормальный Callback URI. Нормальный это например такой:
имяВашегоПриложения://чтоугодно/
Затем в манифесте меняете строчку

И всё начинает работать.

2) Этот вариант нужно использовать если аккаунт не ваш, и изменить Callback URI вы не можете. Чтоб всё заработало нужно заменить строчку

Спасибо! Вы очень помогли!

Дабы не создавать новую тему про API облачных хранилищ задам вопрос в этом топике.

Разбирался с Dropbox Datastore API и столкнулся со следующей проблемой.

При попытке получить экземпляр DbxAccountManager

вылетает следующее исключение:

Причем это происходит и в примерах Dropbox и в моих поделках)

Запускаю приложение, диалог как положено открывает браузер предоставления прав моему «testapp» приложению предлагая авторизоваться под УЗ Яндекса. Нажимаю «предоставить», браузер открывает адрес:

В котором по идее есть токен, тип, время жизни, т.е. всё по плану. Но вместо перехода в приложение остаюсь в браузере с текстом:

На страничке настройки приложения https://oauth.yandex.ru/ есть так же чекбокс «Веб-сервисы» если отметить который появляется ещё одной поле ввода «Callback URI #1» и кнопка «Подставить URL для разработки» по нажатию на которую в поле ввода подставляется «https://oauth.yandex.ru/verification_code». В некоторых инструкциях по авторизации в Yandex OAuth так и написано было сделать, я оставил. Тоже не заработало, но есть некоторые изменения. После предоставления приложению доступа к ресурсам пользования (Диску в данном случае) редиректит на

Читайте также:  Как узнать пароль от вайфая с планшета андроид

А токен таже дублируется в теле самой странички в браузере. Но дальнейшего перехода в приложение тоже не происходит. onCreate/onResume не вызывается. По несколько раз всё перепроверил — id приложения, пакет, SHA256
Это какой-то тупик, кто-нибудь можнет подсказать где я ошибся, что-то со схемой, перехватом Intent’а и др? Настройки приложения из примера Яндекса не доступны, их же нельзя посмотреть, что бы сделать у себя по аналогии.

Яндекс карты и Яндекс MapKit
Передо мной стоят такие задачи: показать карту, на ней показать маркеры на определенных.

Ошибка minSDK(API 23, N preview) != deviceSDK(API 17)
Недавно начал учить андроид и возникла такая ошибка, когда я пытаюсь запустить проект на своем.

Яндекс Диск Api
Всем привет! Решил разобраться с Яндекс Диск Api, а именно WebDAV.

Источник

Оцените статью