Вот решение.
Предварительное требование
Если вы хотите использовать учетные данные в aws-sdk (Ручной процесс)
1. Создайте пользователя IAM и назначьте роль Cognito вашему пользователю.
2. Сгенерируйте ключ доступа и секретный ключ для этого пользователя.
3. Используйте этот ключ доступа и секретный ключ в aws-sdk.
Как это,
let AWS = require("aws-sdk");
AWS.config.update({
accessKeyId: "YOURKEY",
secretAccessKey: "YOURSECRET",
region: "YOURREGION"
});
Создать объект CognitoIdentityServiceProvider , класс
const COGNITO_CLIENT = new AWS.CognitoIdentityServiceProvider({
apiVersion: "2016-04-19",
region: "us-east-1"
});
var poolData = {
UserPoolId: "XXXXXXXXX",
Username: "kurulezomi@themailpro.net",
DesiredDeliveryMediums: ["EMAIL"],
TemporaryPassword: "Abc@321",
UserAttributes: [
{
Name: "email",
Value: "kuri@themailpro.net"
},
{
Name: "email_verified",
Value: "true"
}
]
};
COGNITO_CLIENT.adminCreateUser(poolData, (error, data) => {
console.log(error);
console.log(data);
callback(null, {
statusCode: 200,
body: JSON.stringify(data)
});
});
В противном случае вы можете напрямую назначить роль IAM своему экземпляру EC2, в этом случае вам не нужно устанавливать учетные данные в AWS.config разделе.