Как мне настроить AWS Amplify без инструмента командной строки? - PullRequest
1 голос
/ 11 июля 2020

Я пытаюсь написать приложение, использующее AWS API из Android приложения, написанного на Java. Похоже, что для этого рекомендуется использовать специальный набор библиотек под названием «Amplify». Мне удалось импортировать соответствующие классы Amplify Java в свой код, но я вижу, что не все параметры, которые я хочу предоставить (например, сегмент S3 или ключ доступа к API), можно указать в качестве аргументов метода.

Все советы, которые я вижу в Интернете, предполагают запуск команды конфигурации из командной строки с использованием npm install aws-amplify. Но я бы предпочел не использовать инструмент командной строки, который задает мне вопросы: я бы предпочел все настраивать в коде. И я не хочу устанавливать npm или возиться с ним (полное раскрытие, я попытался установить его, и возникли некоторые проблемы).

Есть ли способ предоставить конфигурацию Amplify без использования команды - line, возможно, через файл конфигурации или некоторые дополнительные аргументы методов, которые я вызываю в Java?

1 Ответ

1 голос
/ 12 июля 2020

Я понял это!

Amplify.configure() имеет плохо документированную перегрузку, где вы можете указать файл конфигурации в виде Android «ресурса».

Поэтому вместо использования

    Amplify.configure(getApplicationContext());

, как указано в руководствах, я использую

    Amplify.configure(
        AmplifyConfiguration.fromConfigFile(getApplicationContext(), R.raw.amplifyconfiguration),
        getApplicationContext());

. Конфигурационный файл должен быть расположен по пути app/src/main/res/raw/ проекта с именем amplifyconfiguration.json. Среда разработки автоматически генерирует определение значения R.raw.amplifyconfiguration, которое является числом, идентифицирующим файл.

Это решает проблему загрузки конфигурации из явного файла без использования расширенного интерфейса командной строки. Следующее препятствие - выяснить, какие ключи можно указать в файле ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...