Я играл с AWS Amplify.Будучи относительно новичком в AWS, я большой поклонник того, как Amplify предоставляет мне необходимые ресурсы и роли IAM в AWS.Мой вопрос касается использования Lambda с GraphQL.Следуя документации, я могу создать собственный запрос GraphQL, который вызывает функцию Lambda и возвращает ответ GraphQL.Однако я нигде не могу найти в документации о том, как взаимодействовать с другими ресурсами AWS из этой функции Lambda.Например, я ищу взаимодействия с DynamoDB или даже сервисами RDS.В документации упоминается возможность извлечения данных из других ресурсов (например, базы данных MySQL), поэтому я предполагаю, что это возможно.
Когда я пытался взаимодействовать с DynamoDB (например), я получил«Отказано в доступе», и я предполагаю, что это потому, что функция Lambda не имеет необходимых политик / разрешений для этого.У меня была идея войти в консоль IAM вручную и присоединить эти политики самостоятельно, но, учитывая, что Amplify генерирует все это для вас и по сути управляет вашей «облачной инфраструктурой / состоянием», я не уверен, что это правильный способ сделать это,Я заметил шаблон Cloud Formation, который Amplify генерирует, когда вы добавляете ресурс Lambda для GraphQL, поэтому я предпочел добавить туда политику DynamoDB, а затем запустить ampify push , чтобы Amplify генерировал и управлял политиками для меня,Если это правильный способ, думаю, мне придется научиться писать шаблоны Cloud Formation.Наконец, мне интересно, мешает ли мой мозг, и могу ли я просто передать идентификационную информацию Cognito через AWS JavaScript SDK в Lambda, и тогда все будет просто «работать» - но я не совсем уверен.Заранее извиняюсь, если я не использую правильную терминологию - как я уже сказал, я относительно новичок в AWS.Любая помощь или направление с благодарностью.