Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengakses pengenal penyewa dalam kode fungsi Lambda
Ketika fungsi Lambda Anda mengaktifkan isolasi penyewa, pengenal penyewa yang digunakan untuk memanggil fungsi Anda tersedia dalam objek konteks yang diteruskan ke penangan fungsi Anda. Anda dapat menggunakan pengenal ini untuk mengimplementasikan logika, pemantauan, dan kemampuan debugging khusus penyewa.
Mengakses pengenal penyewa
Pengenal penyewa tersedia melalui tenantId properti objek konteks. Perhatikan bahwa properti ini tersedia selama fase pemanggilan, bukan selama fase inisialisasi.
Pola penggunaan umum
Berikut adalah cara umum untuk menggunakan pengenal penyewa dalam kode fungsi Anda:
Konfigurasi khusus penyewa
Gunakan ID penyewa untuk memuat konfigurasi atau pengaturan khusus penyewa:
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)
Akses data khusus penyewa
Gunakan ID penyewa untuk memastikan isolasi data dan kontrol akses:
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)
Pemantauan dan debugging
Pengenal penyewa secara otomatis disertakan dalam log Lambda saat Anda mengaktifkan logging JSON, sehingga memudahkan untuk memantau dan men-debug masalah khusus penyewa. Anda juga dapat menggunakan ID penyewa untuk metrik dan penelusuran khusus.
contoh Metrik kustom dengan ID penyewa
Contoh berikut menunjukkan cara menggunakan ID penyewa untuk membuat CloudWatch metrik khusus penyewa untuk memantau pola penggunaan dan kinerja oleh penyewa:
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)