В настоящее время AWS AppSync предоставляет возможность добавить тестовый контекст, чтобы протестировать ваш преобразователь, чтобы убедиться, что все правильно. Однако, поскольку я использую API-ключ для аутентификации, я не уверен, как установить это в шаблоне сопоставления запросов, чтобы можно было запускать тестовый контекст, и я мог проверить правильность своего API (тем более, что это единственный auth, у которого нет раздела идентификации в тестовом контексте)? Кто-нибудь может помочь?


Вы правы в том, что режим авторизации ключа API не заполняет личность, даже когда вы вызываете свой API из клиента.
Однако вы все равно можете добавить объект идентификации в свой тестовый контекст. Для этого вам необходимо:
Добавьте эти поля в свой тестовый контекст. Например, контекст теста IAM может выглядеть так:
{ "личность": { "accountId": "моя учетная запись aws", "ognitoIdentityPoolId ":" строка ", "ognitoIdentityId ":" строка ", "sourceIp": ["строка"], "имя пользователя": "строка", "userArn": "строка" }, "arguments": {}, "источник": { "лямбда": "Привет, мир!", "testCtx": "Привет, мир!" }, "result": "Привет, мир!" }
Шаблон отображения запроса может выглядеть так:
{
"account: "$ctx.identity.accountId"
}
и шаблон сопоставления оцененного запроса будет выглядеть следующим образом при запуске вашего тестового контекста:
{
"account: "my aws account"
}
Примечание: вы также можете просто переключить свой API в режим авторизации, который вы планируете использовать, а затем попробовать запросы от имени вошедшего в систему пользователя.
Я бы не смог дать ответ на шаблон сопоставления ответов, возвращающий ноль, не увидев ваш шаблон сопоставления ответов. На странице преобразователя есть кнопка тестирования, которая проверяет преобразователь в вашем веб-браузере с использованием созданного вами тестового контекста. Если вы запустите запрос со страницы запроса консоли, ваш запрос будет отправлен в службу AppSync, контекст будет заполнен службой, и вы получите ответ после того, как ваш преобразователь будет запущен в службе.
спасибо за этот совет! Однако даже когда я меняю режим авторизации, когда я запускаю тест, шаблон сопоставления ответов становится нулевым? И я должен был запустить запрос, чтобы появился тестовый контекст?