У меня проблема с пользовательской сборкой AWS-SDK.Может быть, это просто глупая проблема, потому что я не вижу дерево в лесу, но это сводит меня с ума.Итак, мы получили.
Я построил на основе базовой версии 2.247.1 SDK со всеми сервисами Cognito и DynamoDB, как Amazon сообщает нам здесь .
Тогда я«Я попытался сделать это в моем коде следующим образом:
const AWS = require('../../../../assets/scripts/aws-sdk-2.247.1.js');
Далее я следовал примеру реализации, который AWS показывает нам здесь .
Итак, я подошелс этим кодом, чтобы получить сеанс для уже вошедшего в систему пользователя:
getUserSession(
response: ICognitoResponse,
callback: ( callbackResponse: ICognitoResponse ) => {} ) {
// Validate the Usersession
this.cognitoUser.getSession((err: any, session: any) => {
if (err) {
response = assign(response, { err });
callback( response );
return;
} else {
/**
* Set the right URL
* @type {string}
*/
const URL = 'cognito-idp.' +
environment.AWS_REGION +
'.amazonaws.com/' +
environment.USERPOOL_ID;
/**
* Update the Credentials with the current updated URL
* @type {AWS.CognitoIdentityCredentials}
*/
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
/**
* your identity pool id here
*/
IdentityPoolId: environment.USERPOOL_ID,
Logins: {
/**
* Change the key below according to the
* specific region your user pool is in.
*/
URL: session.getIdToken().getJwtToken(),
},
});
}
});
}
Он компилируется без ошибок, и я могу войти в систему.НО непосредственно после этого я получаю следующую ошибку:
Uncaught: TypeError: AWS.CognitoIdentityCredentials не является конструктором
Если я использую тот же код с полным javascriptSDK, кстати, безумно огромный, все работает отлично.
Надеюсь, некоторые из вас могут мне помочь.Я попробовал несколько разных методов импорта, таких как import * как AWS и так далее.Ничего не сработало.