Wie aktualisiere ich „boto3“ und „botocore“ in Lambda, um auf neuere KI-Modelle zuzugreifen?
Ich möchte die neueste Version von „boto3“ und „botocore“ in AWS Lambda installieren, um auf die neuesten KI-Modelle in Amazon Bedrock zuzugreifen.
Kurzbeschreibung
Wenn du eine Lambda-Funktion mit Python verwendest, um ein Amazon-Bedrock-Modell aufzurufen, erhältst du möglicherweise folgende Fehlermeldung „Error: "errorMessage": "Unknown service: 'bedrock'“. Um dieses Problem zu beheben, aktualisiere die Bibliotheken „boto3“ und „botocore“ in Lambda auf die neuesten Versionen.
Hinweis: Wenn du Modelle von Amazon Bedrock Foundation verwendest, musst du die Preisbedingungen des Verkäufers einhalten.
Lösung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Troubleshooting errors for the AWS CLI (Problembehandlung bei der AWS CLI). Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest. Die folgenden AWS-CLI-Befehle funktionieren für Linux-, Unix- und macOS-Betriebssysteme.
Voraussetzung: Stelle sicher, dass du auf die Modelle von Amazon Bedrock Foundation zugreifen kannst.
Führe die folgenden Schritte aus, um boto3 und botocore zu aktualisieren:
-
Führe den folgenden Befehl aus, um einen temporären Ordner zu erstellen:
LIB_DIR=boto3-mylayer/python mkdir -p $LIB_DIRHinweis: Ersetze boto3-mylayer durch den Namen des temporären Ordners.
-
Führe den folgenden Befehl aus, um die boto3-Bibliothek in LIB_DIR zu installieren:
pip3 install boto3==1.42.44 -t $LIB_DIR pip3 install botocore==1.42.44 -t $LIB_DIR -
Führe den folgenden Befehl aus, um alle Abhängigkeiten in /tmp/boto3-mylayer.zip zu komprimieren:
cd boto3-mylayer zip -r /tmp/boto3-mylayer.zip .Hinweis: Ersetze boto3-mylayer durch den Namen des temporären Ordners.
-
Um den Layer zu veröffentlichen, führe den AWS-CLI-Befehl publish-layer-version aus:
aws lambda publish-layer-version --layer-name boto3-mylayer --zip-file fileb:///tmp/boto3-mylayer.zipHinweis: Ersetze layer-name durch den Namen des Lambda-Layers und boto3-mylayer durch den Namen des temporären Ordners. Notiere dir in der Ausgabe den Amazon Resource Name (ARN) des Layers.
-
Um den von dir erstellten Layer an die Lambda-Funktion anzuhängen, führe den Befehl update-function-configuration aus:
aws lambda update-function-configuration --function-name MY_FUNCTION --layer_ARNHinweis: Ersetze layer_ARN durch den Layer-ARN. Weitere Informationen findest du unter Adding layers to functions (Hinzufügen von Layern zu Funktionen).
-
Führe den folgenden Code aus, um das Update zu testen und Anthropic Claude Opus 4.6 aufzurufen:
import boto3 import botocore import json def lambda_handler(event, context): print("Boto3 version:", boto3.__version__) print("Botocore version:", botocore.__version__) bedrock_runtime = boto3.client(service_name='bedrock-runtime', region_name='us-east-1', endpoint_url='https://bedrock-runtime.us-east-1.amazonaws.com') # event = { # "anthropic_version": "bedrock-2023-05-31", # "max_tokens": 4000, # "top_k": 250, # "top_p": 1, # "messages": [ # { # "role": "user", # "content": "Why is the sky blue?" # } # ], # "stop_sequences": ["Command:"] # } print(f"EVENT: {event}") bedrock_str = json.dumps(event) print(f"BEDROCK_STR: {bedrock_str}") modelId = 'global.anthropic.claude-opus-4-5-20251101-v1:0' bodyprompt = { "anthropic_version": "bedrock-2023-05-31", "max_tokens": 4000, "top_k": 250, "top_p": 1, "messages": [ { "role": "user", "content": "Why is the sky blue?" } ], "stop_sequences": ["Command:"] } response = bedrock_runtime.invoke_model(body=bedrock_str, modelId=modelId, accept='application/json', contentType='application/json') # response = bedrock_runtime.invoke_model(body= json.dumps(bodyprompt), modelId=modelId, accept='application/json', contentType='application/json') response_body = json.loads(response.get('body').read()) print(response_body) return {'statusCode': 200, 'body': json.dumps(response_body)}Hinweis: Ersetze region_name durch deine AWS-Region und endpoint_url durch den Endpunkt für Amazon Bedrock.
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 7 Monaten
AWS OFFICIALAktualisiert vor 6 Monaten