admin-create-user 命令无法正常工作

abd*_*lem 1 amazon-web-services aws-cli amazon-cognito

我正在尝试运行官方文档中所示的 admin-create-user cli 命令,但它似乎无法正常运行。

尽管它们在命令中,但我没有得到所有属性创建事件。我总是只得到命令中输入的最后一个属性。

难道我做错了什么?有什么解决办法吗?

aws cognito-idp admin-create-user --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --user-attributes=Name=email,Value=kermit2@somewhere.com,Name=phone_number,Value="+15555551212" --message-action SUPPRESS

Run Code Online (Sandbox Code Playgroud)

我得到

{
    "User": {
        "Username": "diego@example.com",
        "Enabled": true,
        "UserStatus": "FORCE_CHANGE_PASSWORD",
        "UserCreateDate": 1566470568.864,
        "UserLastModifiedDate": 1566470568.864,
        "Attributes": [
            {
                "Name": "sub",
                "Value": "5dac8ce5-2997-4185-b862-86cf15aede77"
            },
            {
                "Name": "phone_number",
                "Value": "+15555551212"
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

代替

{
  "User": {
      "Username": "7325c1de-b05b-4f84-b321-9adc6e61f4a2",
      "Enabled": true,
      "UserStatus": "FORCE_CHANGE_PASSWORD",
      "UserCreateDate": 1548099495.428,
      "UserLastModifiedDate": 1548099495.428,
      "Attributes": [
          {
              "Name": "sub",
              "Value": "7325c1de-b05b-4f84-b321-9adc6e61f4a2"
          },
          {
              "Name": "phone_number",
              "Value": "+15555551212"
          },
          {
              "Name": "email",
              "Value": "diego@example.com"
          }
      ]
  }
}
Run Code Online (Sandbox Code Playgroud)

hep*_*ump 8

速记符号,你正在使用,如在文档中引用在这里,确实似乎产生您收到的结果。

解决此问题的一种快速方法是更改​​为对user-attributes选项使用 JSON 格式。如果您修改user-attributes选项以使用 JSON,您的命令将如下所示:

aws cognito-idp admin-create-user --user-pool-id us-west-2_aaaaaaaaa --username a567 --user-attributes '[{"Name": "email","Value": "kermit2@somewhere.com"},{"Name": "phone_number","Value": "+15555551212"}]' --message-action SUPPRESS

执行时,会产生以下输出:

{
    "User": {
        "Username": "a567", 
        "Enabled": true, 
        "UserStatus": "FORCE_CHANGE_PASSWORD", 
        "UserCreateDate": 1566489693.408, 
        "UserLastModifiedDate": 1566489693.408, 
        "Attributes": [
            {
                "Name": "sub", 
                "Value": "f6ff3e05-5f15-4a53-a45f-52e939b941fd"
            }, 
            {
                "Name": "phone_number", 
                "Value": "+15555551212"
            }, 
            {
                "Name": "email", 
                "Value": "kermit2@somewhere.com"
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)