An energy utility company is designing a smart grid monitoring platform on Azure. The system will ingest real-time telemetry from 10 million smart meters globally. The architecture has the following requirements:
* Raw telemetry payloads must be stored in an Azure Storage account. The storage account must survive a regional outage.
* A third-party auditing application must be granted temporary read-only access to the raw payloads for a maximum of 2 hours, with the ability to revoke access immediately if credentials are leaked.
* Metadata and event indexing records must be stored in Azure Cosmos DB for NoSQL. The database must sustain a write-heavy ingestion rate (90% writes, 10% reads) and achieve write availability.
* Telemetry records in Cosmos DB contain `meterId` (unique per meter), `readingDate` (daily format), `postalCode` (geographic region), and `usageValue`. Queries typically filter by `meterId` and `readingDate`.
You need to recommend the partition key for Azure Cosmos DB, the redundancy configuration for the storage account, and the security configuration for the auditing application.
Which combination should you recommend?
- Partition key: meterId; Storage redundancy: Geo-redundant storage (GRS); Security: A Service Shared Access Signature (SAS) associated with a Stored Access Policy configured for a 2-hour duration.Answer
- BPartition key: postalCode; Storage redundancy: Geo-redundant storage (GRS); Security: A Service Shared Access Signature (SAS) associated with a Stored Access Policy configured for a 2-hour duration.
- CPartition key: meterId; Storage redundancy: Locally redundant storage (LRS); Security: A Service Shared Access Signature (SAS) associated with a Stored Access Policy configured for a 2-hour duration.
- DPartition key: meterId; Storage redundancy: Geo-redundant storage (GRS); Security: An ad-hoc Shared Access Signature (SAS) token configured with a 1-year lifetime directly embedded in the connection string.