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.
Verwenden Sie ein Docker-Verzeichnis, für die eine Authentifizierung für das Training erforderlich ist
Wenn Ihre Docker-Registrierung eine Authentifizierung erfordert, müssen Sie eine AWS Lambda -Funktion erstellen, die Anmeldeinformationen für bereitstellt SageMaker. Erstellen Sie dann einen Trainingsauftrag und geben Sie den ARN dieser Lambda-Funktion in der create_training_job
So erstellen Sie die Lambda-Funktion:
Erstellen Sie eine - AWS Lambda Funktion, die Zugriffsanmeldeinformationen an übergibt SageMaker und eine Antwort zurückgibt. Im folgenden Codebeispiel wird der Lambda-Funktionshandler wie folgt erstellt.
def handler(event, context): response = { "Credentials": {"Username": "username", "Password": "password"} } return response
Die Art der Authentifizierung, die zum Einrichten Ihrers privaten Docker-Verzeichnis verwendet wird, bestimmt den Inhalt der Antwort, die von Ihrer Lambda-Funktion zurückgegeben wird, wie folgt.
-
Wenn Ihr privates Docker-Verzeichnis die Standardauthentifizierung verwendet, gibt die Lambda-Funktion den Benutzernamen und das Passwort zurück, die für die Authentifizierung bei der Registrierung erforderlich sind.
-
Wenn Ihr privates Docker-Verzeichnis die Bearer-Token-Authentifizierung
verwendet, werden der Benutzername und das Passwort an Ihren Autorisierungsserver gesendet, der dann ein Bearer-Token zurückgibt. Dieses Token wird dann zur Authentifizierung bei Ihrem privaten Docker-Verzeichnis verwendet.
Anmerkung
Wenn Sie mehr als eine Lambda-Funktion für Ihre Verzeichnisse in demselben Konto haben und die Ausführungsrolle für Ihre Trainingsaufträge dieselbe ist, dann hätten Trainingsaufträge für Registry One Zugriff auf die Lambda-Funktionen für andere Verzeichnisse.
Gewähren Sie der Lambda-Funktion die korrekte Rolle.
Die IAMrole, die Sie in der create_training_job
API verwenden, muss über die Berechtigung zum Aufrufen einer - AWS Lambda Funktion verfügen. Das folgende Codebeispiel zeigt, wie die Berechtigungsrichtlinie einer IAM-Rolle erweitert werden kann, um myLambdaFunction
aufzurufen.
{ "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:*:function:*myLambdaFunction*" ] }
Weitere Informationen zum Bearbeiten von Rollenberechtigungsrichtlinien finden Sie unter Modifizierung einer Rollenberechitigungsrichtline (Konsole) in dem AWS Benutzerhandbuch für Identitäts- und Zugriffsmanagement.
Anmerkung
Eine IAM-Rolle mit einer angehängten AmazonSageMakerFullAccess verwalteten Richtlinie hat die Berechtigung, jede Lambda-Funktion mit „SageMaker“ im Namen aufzurufen.
So erstellen Sie einen Schnittstellen-Endpunkt für Lambda
Wenn Sie einen Schnittstellenendpunkt erstellen, kann Ihre Amazon VPC mit Ihrer Lambda-Funktion kommunizieren, ohne Datenverkehr über das Internet zu senden. Weitere Informationen finden Sie unterKonfigurieren von Schnittstellen-VPC-Endpunkten für LambdaimAWS Lambda Entwicklerhandbuch.
Nachdem Ihr Schnittstellenendpunkt erstellt wurde, ruft SageMaker das Training Ihre Lambda-Funktion auf, indem es eine Anfrage über Ihre VPC an sendetlambda.region.amazonaws.com
. Wenn Sie bei der Erstellung Ihres Schnittstellenendpunkts die Option DNS-Name aktivieren auswählen, leitet Amazon Route 53 den Anruf an den Lambda-Schnittstellenendpunkt weiter. Wenn Sie einen anderen DNS-Anbieter verwenden, müssen Sie lambda.region.amazonaws.co
m, Ihrem Lambda-Schnittstellenendpunkt zuordnen.