Wie behebe ich häufige Fehler beim Importvorgang in Amazon Cognito?

Lesedauer: 5 Minute
0

Ich möchte häufige Fehler beim Importvorgang in Amazon Cognito beheben.

Kurzbeschreibung

Im Folgenden sind häufige Fehler im Zusammenhang mit dem Amazon-Cognito-Importvorgang aufgeführt:

Benutzermigration: AWS-Lambda-Auslöser-Importfehler:

  • AccessDeniedException
  • UserCodeSyntaxError
  • ResourceNotFoundException
  • ImportModuleError

Fehler beim Import von CSV-Dateien:

  • Unerwartete Header
  • Fehlgeschlagener oder übersprungener Benutzer
  • Importaufgabe ist abgelaufen
  • Ungültiger Attributwert
  • Für die CloudWatch-Logs-Rolle fehlt die Berechtigung

Lösung

Wenn Sie eine CSV-Datei oder einen Lambda-Auslöser für den Import in Amazon Cognito verwenden, werden die Fehler in Amazon CloudWatch Logs protokolliert. Sehen Sie sich diese Fehler in Ihrem AWS-Konto an und suchen Sie danach.

Benutzermigration: Lambda-Auslöser-Importfehler

AccessDeniedException:

Dieser Fehler wird protokolliert, wenn der Lambda-Rolle eine AWS Identity and Access Management (IAM)-Berechtigung zum Ausführen einer Amazon-Cognito-Aktion fehlt. Zum Beispiel AdminInitiateAuth. Der AccessDeniedException-Fehler sieht in etwa wie folgt aus:

An error occurred (AccessDeniedException) when calling the AdminInitiateAuth operation: User: arn:aws:sts::ACCOUNT_ID:assumed-role/TestingMigration-role/TestingMigration is not authorized to perform: cognito-idp:AdminInitiateAuth on resource: arn:aws:cognito-idp:eu-central-1:ACCOUNT_ID:userpool/eu-central-1_YYYYOOOO
    because no identity-based policy allows the cognito-idp:AdminInitiateAuth action

Gehen Sie wie folgt vor, um den AccessDeniedException-Fehler zu beheben:

  1. Öffnen Sie die IAM-Konsole.
  2. Wählen Sie im Navigationsbereich Rollen aus und suchen Sie nach der Lambda-Ausführungsrolle.
  3. Wählen Sie den Tab Berechtigungen für die IAM-Rolle.
  4. Erweitern Sie die Berechtigungsrichtlinie, um die mit dem Benutzer verknüpften Berechtigungen anzuzeigen.
  5. Stellen Sie sicher, dass die Richtlinie die folgenden Parameter enthält:
    cognito-idp:AdminInitiateAuth in der Liste Aktionen
    Lassen Sie die Wirkung zu.
  6. Wenn die Richtlinie die Parameter nicht enthält, aktualisieren Sie die Richtlinie, um sie einzubeziehen.
    -oder-
    Erstellen Sie eine neue Richtlinie, die den Parametern folgt, und hängen Sie die Richtlinie an die IAM-Rolle an. Weitere Informationen finden Sie unter Kundenverwaltete Richtlinien bearbeiten (Konsole).

UserCodeSyntaxError:

Dieser Fehler wird protokolliert, wenn in Ihrem Lambda-Code ein Codeproblem festgestellt wird. Zum Beispiel ein Einrückungsproblem.

Der UserCodeSyntaxError-Fehler sieht in etwa wie folgt aus:

[ERROR] Runtime.UserCodeSyntaxError: Syntax error in module 'lambda_function': unexpected indent

Um diesen Fehler zu beheben, stellen Sie sicher, dass Sie in Ihrem Code die korrekte Syntaxverwendung überprüfen.

ResourceNotFoundException:

Dieser Fehler wird protokolliert, wenn eine Ressource, auf die in Ihrem Lambda-Code verwiesen wird, in Ihrem AWS-Konto oder in Ihrer AWS-Region nicht gefunden wird. Zum Beispiel ein Amazon-Cognito-App-Client.

Der ResourceNotFoundException-Fehler sieht in etwa wie folgt aus:

[ERROR] ResourceNotFoundException: An error occurred (ResourceNotFoundException) when calling the AdminInitiateAuth operation: User pool client 52rXXXXXXXXXXXXXXXXXXge does not exist.

Um diesen Fehler zu beheben, vergewissern Sie sich, dass die fragliche Ressource in Ihrem AWS-Konto und Ihrer Region vorhanden ist. Vergewissern Sie sich anschließend, dass Sie die ID, den Namen oder den Amazon-Ressourcennamen (ARN) in Ihrem Lambda-Code korrekt angegeben haben.

ImportModuleError:

Dieser Fehler wird protokolliert, wenn Sie versuchen, ein Modul zu importieren oder zu referenzieren, das in Ihrem Lambda-Code nicht vorhanden ist.

Der ImportModuleError-Fehler sieht in etwa wie folgt aus:

[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named lambda_function

Um diesen Fehler zu beheben, vergewissern Sie sich, dass das Modul, das Sie in Ihren Code importieren möchten, keine Tippfehler oder nicht existierende Modulverweise enthält.

Fehler beim Import von CSV-Dateien

Unerwartete Header:

Dieser Fehler wird protokolliert, wenn ein Problem mit fehlenden oder falsch formatierten Headern in Ihrer CSV-Datei auftritt.

Der Fehler Unerwartete Header sieht in etwa wie folgt aus:

The header in the CSV file does not match the expected headers. Use the GetCSVHeader API to get the expected headers.

Gehen Sie zur Behebung dieses Fehlers folgendermaßen vor:

Rufen Sie eine Liste der richtigen Header ab, indem Sie den folgenden Befehl ausführen, wobei USER_POOL_ID der Benutzerpool ist, in den Sie Benutzer importieren:

aws cognito-idp get-csv-header --user-pool-id "USER_POOL_ID"

Sie können den Header der CSV-Datei auch mithilfe der Amazon-Cognito-Konsole herunterladen. Weitere Informationen finden Sie unter Herunterladen des CSV-Dateiheaders (Konsole).

Fehlgeschlagener oder übersprungener Benutzer:

Dieser Fehler wird protokolliert, wenn es ein Problem mit doppelten Benutzerreferenzen gibt oder wenn Pflichtfelder in Ihrer CSV-Datei fehlen. Zum Beispiel email_verified oder cognito:mfa_enabled.

Der Benutzerfehler Fehlgeschlagener oder übersprungener Benutzer sieht in etwa wie folgt aus:

Too many users have failed or been skipped during the import.

Um diesen Fehler zu beheben, stellen Sie sicher, dass Sie doppelte Benutzer aus der CSV-Datei entfernen und sicherstellen, dass die erforderlichen Attribute angegeben sind. Weitere Informationen finden Sie unter Erstellen der CSV-Datei für den Benutzerimport.

Importaufgabe ist abgelaufen

Dieser Fehler wird protokolliert, wenn Sie eine Aufgabe erstellen, die Aufgabe aber nicht innerhalb von 24–48 Stunden starten.

Der Fehler Importaufgabe ist abgelaufen sieht etwa wie folgt aus:

The user import job has expired.

Um dieses Problem zu beheben, starten Sie eine Benutzerimportaufgabe mit dem folgenden Befehl:

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

Sie können die Aufgabe auch mit der Amazon-Cognito-Konsole starten. Weitere Informationen finden Sie unter Benutzer aus einer CSV-Datei importieren (Konsole).

Hinweis: Für jedes Konto kann jeweils nur eine Importaufgabe aktiv sein.

Ungültiger Attributwert

Dieser Fehler weist darauf hin, dass ein ungültiger Wert für ein Attribut in Ihrer CSV-Datei angegeben wurde.

Der Fehler Ungültiger Attributwert sieht etwa wie folgt aus:

The User Record contains an invalid value for [attribute].

Um dieses Problem zu beheben, überprüfen Sie die für das Attribut angegebenen Werte. Weitere Informationen zu Attributwerten, z. B. das richtige Format für Telefonnummern, finden Sie unter Benutzerpool-Attribute.

Für die CloudWatch-Logs-Rolle fehlt die Berechtigung

Dieser Fehler weist darauf hin, dass die für den CSV-Importvorgang angegebene CloudWatch-Logs-Rolle eines der folgenden Probleme aufweist:

  • Fehlende Berechtigungen, z. B. Protokollgruppe oder Streams erstellen.
  • Richtlinie zur Vertrauensbeziehung mit einem Auftraggeber, die nicht gültig ist.

Der Fehler Fehlende Berechtigung für die CloudWatch-Logs-Rolle sieht in etwa wie folgt aus:

Der konfigurierten CloudWatch-Logs-Rolle fehlen Berechtigungen oder sie hat eine ungültige Vertrauensrichtlinie.

Um dieses Problem zu beheben, stellen Sie sicher, dass Sie über Identitätsberechtigungen für CloudWatch-Aktionen verfügen. Stellen Sie außerdem sicher, dass cognito-idp.amazonaws.com in der Vertrauensbeziehungs-Richtlinie als Service-Prinzipal zugelassen ist. Weitere Informationen finden Sie unter Erstellen der IAM-Rolle von CloudWatch Logs.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr