Используйте одинаковые идентификаторы без аутентификации для AWS Analytics и Cognito Sync
Я занимаюсь разработкой приложения, которое использует как AWS Mobile Analytics, так и Cognito Sync для пользовательских данных. Просматривая мои сетевые журналы, я вижу, что AMA.Manager
для Mobile Analytics выполняет те же вызовы API, что и Cognito Sync, чтобы запросить ограниченные временные учетные данные из AWS.
AWS.config.credentials.get()
Мой вопрос, если это возможно для обоих new AMA.Manager()
а также new AWS.CognitoSyncManager()
использовать ту же неаутентифицированную личность, которая первоначально запрашивается у AWS.config.credentials.get()
? Предполагая, что они оба используют один и тот же пул удостоверений.
1 ответ
Решил мою собственную проблему. Пока оба AMA.Manager
а также AWS.CognitoSyncManager
инициализируются с тем же поставщиком учетных данных, используя один IdentityPoolId, он работает нормально. Пример моего кода ниже:
AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: SHARED_COGNITO_IDENTITY_POOL_ID
});
var analytics = null;
var syncClient = null;
var options = {
appId : MOBILE_ANALYTICS_APP_ID
};
AWS.config.credentials.get(function(err) {
if(!err){
syncClient = new AWS.CognitoSyncManager();
analytics = new AMA.Manager(options);
}
});