AWSCognito - управление наборами данных

Проблема. Я успешно реализовал аутентификацию пула удостоверений. Мои базовые запросы AWS к Dynamo и т. Д. Работают без проблем.

Используя удостоверение пула удостоверений, я пытаюсь управлять набором данных, связанным с удостоверением. Я хочу создать простой набор данных и назначить пары ключ-значение.

Для этого я использую API AWSCognito.

Моя проблема в том, что я получаю сообщение об ошибке после вызова.synchronize(). ContinueWith(block:). Ответ сервера:

{"code":"BadRequest","message":"Identity pool id is missing or incorrect in the request URI.","type":"client"}

Вопросы

  • Как мне установить идентификатор пула?
  • Правильно ли мой AWSConfiguration.json?

Предоставьте фрагменты кода (если применимо)Вот мой файл AWSconfigurationFile

{
    "UserAgent": "aws-amplify/cli",
    "Version": "0.1.0",
    "IdentityManager": {
        "Default": {}
    },
    "CredentialsProvider": {
        "CognitoIdentity": {
            "Default": {
                "PoolId": "us-east-1:f906d38e-f3c3-45a9-8fef-457e8288aa91",
                "Region": "us-east-1"
            }
        }
    },
    "CognitoUserPool": {
        "Default": {
            "PoolId": "us-east-1_GbwGGJCm6",
            "AppClientId": "xxxxxxx",
            "AppClientSecret": "yyyyyyyy",
            "Region": "us-east-1"
        }
    },
    "Auth": {
        "Default": {
            "OAuth": {
                "WebDomain": "myapp88c46c2d-88c46c2d-dev.auth.us-east-1.amazoncognito.com",
                "AppClientId": "xxxxxxx",
                "AppClientSecret": "yyyyyyy",
                "SignInRedirectURI": "myapp://",
                "SignOutRedirectURI": "myapp://",
                "Scopes": [
                    "phone",
                    "email",
                    "openid",
                    "profile",
                    "aws.cognito.signin.user.admin"
                ]
            },
            "authenticationFlowType": "USER_SRP_AUTH"
        }
    },
    "DynamoDBObjectMapper": {
        "Default": {
            "Region": "us-east-1"
        }
    },
    "S3TransferUtility": {
        "Default": {
            "Bucket": "xxxxx-dev",
            "Region": "us-east-1"
        }
    },
    "S3": {
        "Default": {
            "Bucket": "xxxxx-dev",
            "Region": "us-east-1"
        }
    },
    "Cognito": {
        "Default": {
            "PoolId": "us-east-1:f906d38e-f3c3-45a9-8fef-457e8288aa91",
            "Region": "us-east-1"
        }
    }
}

Код для создания набора данных профиля и хранения ключа и значения*

let dataset = AWSCognito.default().openOrCreateDataset("profile")

let data = dataset.getAll()
dataset.setString("horse", forKey: "animal")
dataset.synchronize()?.continueWith(block: { (task:AWSTask<AnyObject>) -> Any? in
      print("Faulted?: \(task.isFaulted)")
      return nil
})

Приведенный выше код получает ответ от сервера как

{"code":"BadRequest","message":"Identity pool id is missing or incorrect in the request URI.","type":"client"}

Какие сервисы AWS вы используете? Amplify (1.0.5) AWSMobileClient (2.15) - для федеративного входа в систему AWSCognito (2.15) - для создания набора данных и управления им.

Окружающая среда (пожалуйста, заполните следующую информацию):

  • Усиление (1.0.5)
  • AWSMobileClient (2.15) - для федеративного входа
  • AWSCognito (2.15) - для создания набора данных и управления им.
  • Версия SDK: 2.15
  • Менеджер зависимостей: Cocoapods
  • Быстрая версия: 5.0

Информация об устройстве (пожалуйста, заполните следующую информацию):

  • Устройство: симулятор и физическое
  • Версия iOS: 14 бета
  • Специально для тренажеров:

0 ответов

Другие вопросы по тегам