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.
Zugreifen auf die Mandanten-ID im Lambda-Funktionscode
Wenn für Ihre Lambda-Funktion die Mandantenisolierung aktiviert ist, wird die Mandanten-ID, die zum Aufrufen Ihrer Funktion verwendet wurde, in dem Kontextobjekt verfügbar gemacht, das an Ihren Funktionshandler übergeben wird. Sie können diesen Bezeichner verwenden, um mandantenspezifische Logik-, Überwachungs- und Debugging-Funktionen zu implementieren.
Zugreifen auf die Mandanten-ID
Die Mandanten-ID ist über die tenantId Eigenschaft des Kontextobjekts verfügbar. Beachten Sie, dass diese Eigenschaft während der Aufrufphase und nicht während der Initialisierungsphase verfügbar ist.
Allgemeine Nutzungsmuster
Im Folgenden finden Sie gängige Methoden zur Verwendung der Mandanten-ID in Ihrem Funktionscode:
Mandantenspezifische Konfiguration
Verwenden Sie die Mandanten-ID, um die mandantenspezifische Konfiguration oder Einstellungen zu laden:
def lambda_handler(event, context): tenant_id = context.tenant_id # Load tenant-specific configuration config = load_tenant_config(tenant_id) database_url = config['database_url'] api_key = config['api_key'] # Process with tenant-specific settings return process_request(event, database_url, api_key)
Mandantenspezifischer Datenzugriff
Verwenden Sie die Mandanten-ID, um die Datenisolierung und Zugriffskontrolle sicherzustellen:
import boto3 def lambda_handler(event, context): tenant_id = context.tenant_id # Ensure data access is scoped to the tenant dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('user_data') user_id = event.get('userId') response = table.get_item( Key={ 'tenant_id': tenant_id, 'user_id': user_id } ) return process_results(response.get('Item'), tenant_id)
Überwachung und Debugging
Die Mandanten-ID wird automatisch in Lambda-Logs aufgenommen, wenn Sie die JSON-Protokollierung aktiviert haben, sodass mandantenspezifische Probleme leichter überwacht und debuggt werden können. Sie können die Mandanten-ID auch für benutzerdefinierte Metriken und die Ablaufverfolgung verwenden.
Beispiel Benutzerdefinierte Metriken mit Mandanten-ID
Das folgende Beispiel zeigt, wie Sie die Mandanten-ID verwenden, um mandantenspezifische CloudWatch Metriken zur Überwachung von Nutzungsmustern und Leistung pro Mandant zu erstellen:
import boto3 def lambda_handler(event, context): tenant_id = context.tenant_id cloudwatch = boto3.client('cloudwatch') # Record tenant-specific metrics cloudwatch.put_metric_data( Namespace='MyApp/TenantMetrics', MetricData=[ { 'MetricName': 'RequestCount', 'Dimensions': [ { 'Name': 'TenantId', 'Value': tenant_id } ], 'Value': 1, 'Unit': 'Count' } ] ) return process_request(event, tenant_id)