Erstellen und Ausführen des Amazon-Cognito-Benutzerpool-Importauftrags - Amazon Cognito

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen und Ausführen des Amazon-Cognito-Benutzerpool-Importauftrags

In diesem Abschnitt wird beschrieben, wie Sie den Benutzerpool-Importauftrag über die Amazon-Cognito-Konsole und die AWS Command Line Interface (AWS CLI) erstellen und ausführen.

Importieren von Benutzern aus einer CSV-Datei (Konsole)

Im folgenden Verfahren wird beschrieben, wie Sie Benutzer aus der CSV-Datei importieren.

So importieren Sie Benutzer aus der CSV-Datei (Konsole)
  1. Melden Sie sich bei der Amazon-Cognito-Konsole an. Sie werden möglicherweise aufgefordert, Ihre AWS-Anmeldeinformationen einzugeben.

  2. Wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus.

  4. Wählen Sie die Registerkarte Users.

  5. Wählen Sie im Abschnitt Import users (Benutzer importieren) die Option Create an import job (Importauftrag erstellen) aus.

  6. Geben Sie auf der Seite Create import job (Importauftrag erstellen) unter Job name einen Auftragsnamen ein.

  7. Wählen Sie dann Create a new IAM role (Neue IAM-Rolle erstellen) oder Use an existing IAM role (Vorhandene IAM-Rolle verwenden) aus.

    1. Wenn Sie Create a new IAM role (Neue IAM-Rolle erstellen) ausgewählt haben, geben Sie einen Namen für Ihre neue Rolle ein. Amazon Cognito erstellt automatisch eine Rolle mit den richtigen Berechtigungen und der richtigen Vertrauensstellung. Der IAM-Prinzipal, der den Importauftrag erstellt, muss über die Berechtigungen zum Erstellen von IAM-Rollen verfügen.

    2. Wenn Sie Use an existing IAM role (Vorhandene IAM-Rolle verwenden) ausgewählt haben, wählen Sie eine Rolle aus der Liste unter IAM role selection (Auswahl der IAM-Rolle) aus. Diese Rolle muss über die in Erstellen der IAM-Rolle für CloudWatch Logs beschriebenen Berechtigungen und Vertrauensrichtlinien verfügen.

  8. Wählen Sie Create job (Auftrag erstellen) aus, um Ihren Auftrag zu übermitteln, jedoch erst später zu starten. Wählen Sie Create and start job (Auftrag erstellen und starten) aus, um Ihren Auftrag zu übermitteln und sofort zu starten.

  9. Wenn Sie Ihren Auftrag erstellt, aber noch nicht gestartet haben, können Sie ihn später starten. Wählen Sie auf der Registerkarte Users (Benutzer) unter Import users (Benutzer importieren) Ihren Importauftrag aus und wählen Sie dann Start (Starten) aus. Sie können auch eine API-Anforderung StartUserImportJob von einem AWS-SDK aus übermitteln.

  10. Überwachen Sie den Fortschritt Ihres Benutzerimportauftrags auf der Registerkarte Users (Benutzer) unter Import users (Benutzer importieren). Wenn Ihr Auftrag nicht erfolgreich ist, können Sie den Status-Wert auswählen. Um weitere Informationen zu erhalten, wählen Sie View the CloudWatch logs for more details (CloudWatch-Protokolle anzeigen, um weitere Informationen zu erhalten) aus und überprüfen Sie alle Probleme in der CloudWatch-Logs-Konsole.

Importieren von Benutzern (AWS CLI)

Die folgenden CLI-Befehle sind für den Import von Benutzern in einen Benutzerpool verfügbar:

  • create-user-import-job

  • get-csv-header

  • describe-user-import-job

  • list-user-import-jobs

  • start-user-import-job

  • stop-user-import-job

Um die Liste der Befehlszeilen-Optionen für diese Befehle zu erhalten, verwenden Sie die Befehlszeilen-Option help. Beispiel:

aws cognito-idp get-csv-header help

Erstellen eines Benutzer-Importauftrags

Nachdem Sie Ihre CSV-Datei erstellt haben, erstellen Sie einen Benutzer-Importauftrag, indem Sie den folgenden CLI-Befehl ausführen, wobei JOB_NAME der von Ihnen gewählte Name für den Auftrag, USER_POOL_ID die Benutzerpool-ID für den Benutzerpool, dem die neuen Benutzer hinzugefügt werden, und ROLE_ARN der Rollen-ARN ist, den Sie in Erstellen der IAM-Rolle für CloudWatch Logs erhalten haben:

aws cognito-idp create-user-import-job --job-name "JOB_NAME" --user-pool-id "USER_POOL_ID" --cloud-watch-logs-role-arn "ROLE_ARN"

Die in der Antwort zurückgegebene PRE_SIGNED_URL ist 15 Minuten lang gültig. Nach dieser Zeit läuft sie ab, und Sie müssen einen neuen Benutzer-Importauftrag erstellen, um eine neue URL zu erhalten.

Beispielantwort:
{ "UserImportJob": { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl": "PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

Statuswerte für einen Benutzer-Importauftrag

In den Antworten auf Ihre Benutzer-Importbefehle sehen Sie einen der folgenden Status-Werte:

  • Created – Der Auftrag wurde erstellt aber noch nicht gestartet.

  • Pending – Ein Übergangsstatus. Sie haben den Auftrag gestartet, aber es wurden bislang noch keine Benutzer importiert.

  • InProgress – Der Auftrag wurde gestartet, und Benutzer werden importiert.

  • Stopping – Sie haben den Auftrag angehalten, aber der Import von Benutzern wurde noch nicht angehalten.

  • Stopped – Sie haben den Auftrag angehalten, und es werden keine Benutzer mehr importiert.

  • Succeeded – Der Schritt wurde erfolgreich ausgeführt.

  • Failed – Der Auftrag wurde aufgrund eines Fehlers angehalten.

  • Expired – Sie haben einen Auftrag erstellt, ihn aber nicht innerhalb von 24-48 Stunden gestartet. Alle mit dem Auftrag verbundenen Daten wurden gelöscht, und der Auftrag kann nicht gestartet werden.

Hochladen der CSV-Datei

Verwenden Sie den folgenden curl-Befehl zum Hochladen der CSV-Datei mit Ihren Benutzerdaten auf die vorsignierte URL, die Sie aus der Antwort des create-user-import-job-Befehls erhalten haben.

curl -v -T "PATH_TO_CSV_FILE" -H "x-amz-server-side-encryption:aws:kms" "PRE_SIGNED_URL"

In der Ausgabe dieses Befehls suchen Sie die Zeichenfolge "We are completely uploaded and fine". Diese Phrase gibt an, dass die Datei erfolgreich hochgeladen wurde.

Beschreiben eines Benutzer-Importauftrags

Um eine Beschreibung Ihres Benutzer-Importauftrag zu erhalten, verwenden Sie den folgenden Befehl, wobei USER_POOL_ID Ihre Benutzerpool-ID und JOB_ID die Auftrags-ID ist, die beim Erstellen des Benutzer-Importauftrags zurückgegeben wurde.

aws cognito-idp describe-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
Beispielantwort:
{ "UserImportJob": { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl": "PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

In der vorherigen Beispielausgabe ist die PRE_SIGNED_URL die URL, zu der Sie die CSV-Datei hochgeladen haben. Der ROLE_ARN ist der ARN der CloudWatch-Logs-Rolle, den Sie beim Erstellen der Rolle erhalten haben.

Auflisten Ihrer Benutzer-Importaufträge

Zum Auflisten Ihrer Benutzer-Importaufträge verwenden Sie den folgenden Befehl:

aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 2
Beispielantwort:
{ "UserImportJobs": [ { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 }, { "CompletionDate": 1470954227.701, "StartDate": 1470954226.086, "Status": "Failed", "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "CompletionMessage": "Too many users have failed or been skipped during the import.", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 5, "CreationDate": 1470953929.313 } ], "PaginationToken": "PAGINATION_TOKEN" }

Aufträge werden in chronologischer Reihenfolge vom zuletzt erstellten bis zum zuerst erstellten aufgelistet. Die Zeichenfolge PAGINATION_TOKEN nach dem zweite Auftrag weist darauf hin, dass weitere Ergebnisse für diesen Listenbefehl vorliegen. Um die zusätzlichen Ergebnisse aufzulisten, verwenden Sie die Option --pagination-token wie folgt:

aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 10 --pagination-token "PAGINATION_TOKEN"

Starten eines Benutzer-Importauftrags

Zum Starten eines Benutzer-Importauftrags verwenden Sie den folgenden Befehl:

aws cognito-idp start-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"

Nur ein Importauftrag kann jeweils aktiv sein.

Beispielantwort:
{ "UserImportJob": { "Status": "Pending", "StartDate": 1470957851.483, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

Anhalten eines Benutzer-Importauftrags

Zum Anhalten eines Benutzer-Importauftrags, während dieser ausgeführt wird, verwenden Sie den folgenden Befehl. Nachdem Sie den Auftrag angehalten haben, kann er nicht neu gestartet werden.

aws cognito-idp stop-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
Beispielantwort:
{ "UserImportJob": { "CompletionDate": 1470958050.571, "StartDate": 1470958047.797, "Status": "Stopped", "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "CompletionMessage": "The Import Job was stopped by the developer.", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957972.387 } }