Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Accès à l'identifiant du locataire dans le code de fonction Lambda
Lorsque l'isolation des locataires est activée dans votre fonction Lambda, l'identifiant de locataire utilisé pour appeler votre fonction est mis à disposition dans l'objet de contexte transmis à votre gestionnaire de fonctions. Vous pouvez utiliser cet identifiant pour implémenter des fonctionnalités de logique, de surveillance et de débogage spécifiques au locataire.
Accès à l'identifiant du locataire
L'identifiant du locataire est disponible via la tenantId propriété de l'objet de contexte. Notez que cette propriété est disponible pendant la phase d'appel, et non pendant la phase d'initialisation.
Modèles d'utilisation courants
Voici les méthodes les plus courantes pour utiliser l'identifiant du locataire dans votre code de fonction :
Configuration spécifique au locataire
Utilisez l'ID du locataire pour charger la configuration ou les paramètres spécifiques au locataire :
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)
Accès aux données spécifique au locataire
Utilisez l'ID du locataire pour garantir l'isolation des données et le contrôle d'accès :
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)
Surveillance et débogage
L'identifiant du locataire est automatiquement inclus dans les journaux Lambda lorsque la journalisation JSON est activée, ce qui facilite le suivi et le débogage des problèmes spécifiques au locataire. Vous pouvez également utiliser l'ID du locataire pour des mesures et un suivi personnalisés.
Exemple Métriques personnalisées avec identifiant de locataire
L'exemple suivant montre comment utiliser l'ID du locataire pour créer des CloudWatch métriques spécifiques au locataire afin de surveiller les modèles d'utilisation et les performances par locataire :
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)