Вы правы в том, что режим авторизации ключа API не заполняет идентичность, даже когда вы вызываете свой API с клиента.
Однако вы все равно можете добавить объект идентификации в свой тестовый контекст. Для этого вам необходимо:
- Получите режим авторизации, который вы будете использовать в будущем (IAM, Cognito, OIDC).
- Найдите поля, которые предоставляет режим авторизации, в ctx.identity. Вы можете найти это здесь: Справочник по контексту Resolver
Добавьте эти поля в свой тестовый контекст. Например, контекст теста IAM может выглядеть следующим образом:
{
"личность": {
"accountId": "мой аккаунт aws",
"cognitoIdentityPoolId": "строка",
"cognitoIdentityId": "строка",
"sourceIp": ["string"],
"имя пользователя": "строка",
"userArn": "строка"
},
«аргументы»: {},
"источник": {
"лямбда": "Привет, мир!",
"testCtx": "Привет, мир!"
},
"result": "Привет, мир!"
}
Шаблон отображения запроса может выглядеть следующим образом:
{
"account: "$ctx.identity.accountId"
}
и шаблон сопоставления оцененного запроса будет выглядеть следующим образом, когда будет запущен ваш тестовый контекст:
{
"account: "my aws account"
}
Примечание. Вы также можете просто переключить свой API в режим авторизации, который вы планируете использовать, а затем попробовать запросы как зарегистрированный пользователь.