AWSCognito - управление наборами данных - PullRequest
0 голосов
/ 05 августа 2020

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

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

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

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

{"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) - Для создания набора данных и управления им.

Среда (заполните следующую информацию):

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

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

  • Устройство: имитатор и физическое
  • iOS Версия: 14 Beta
  • Спецификация c для симуляторов:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...