Hívásrögzítés: Saját Azure Storage-gyorsútmutató
Ez a rövid útmutató a saját Azure Storage hívásrögzítéshez való használatának első lépéseit ismerteti. A Saját Azure Storage-funkciók használatának megkezdéséhez győződjön meg arról, hogy ismeri a hívásrögzítési API-kat.
Előfeltétel: Felügyelt identitás- és szerepköralapú hozzáférés-vezérlési (RBAC-) szerepkör-hozzárendelések beállítása
1. A rendszer által hozzárendelt felügyelt identitás engedélyezése az Azure Communication Serviceshez
- Nyissa meg az Azure Communication Services-erőforrást. Navigáljon a bal oldali identitáshoz .
- Engedélyezett rendszer által hozzárendelt felügyelt identitás, és kattintson a Mentés gombra.
- Miután elkészült, láthatja az újonnan létrehozott identitás objektumnév-azonosítóját.
- Az identitás sikeres létrehozása után kattintson az Azure-szerepkör-hozzárendelésekre a szerepkör-hozzárendelések hozzáadásának megkezdéséhez.
2. Szerepkör-hozzárendelés hozzáadása
- Kattintson a "Szerepkör-hozzárendelés hozzáadása" elemre
- A "Szerepkör-hozzárendelés hozzáadása" panelen válassza ki a következő értékeket
- Hatókör: Tároló
- Előfizetés: Válassza ki az előfizetését
- Erőforrás: A tárfiók kiválasztása
- Szerepkör: Az Azure Communication Servicesnek szüksége van a "Storage Blob Data Contributor" kifejezésre, hogy képes legyen írni a tárfiókba.
- Kattintson a "Mentés" gombra.
- Miután elkészült, megjelenik az újonnan hozzáadott szerepkör-hozzárendelés az "Azure-szerepkör-hozzárendelés" ablakban.
Rögzítési munkamenet indítása megadott külső tárterülettel
Használja a hívás kezdeményezése során kapott kiszolgálói hívásazonosítót.
Az Azure Blob Storage használata külső tároláshoz
StartRecordingOptions recordingOptions = new StartRecordingOptions(new ServerCallLocator("<serverCallId>"))
{
//...
ExternalStorage = new BlobStorage(new Uri("<Insert Container / Blob Uri>"))
};
Response<RecordingStateResult> startRecordingWithResponse = await callAutomationClient.GetCallRecording()
.StartRecordingAsync(options: recordingOptions);
Az Azure Blob Storage használata külső tároláshoz
StartRecordingOptions recordingOptions = new StartRecordingOptions(new ServerCallLocator("<serverCallId>"))
.setExternalStorage(new BlobStorage("<Insert Container / Blob Uri>"));
Response<StartCallRecordingResult> response = callAutomationClient.getCallRecording()
.startRecordingWithResponse(recordingOptions, null);
Értesítés a sikeres exportálásról
Az Azure Event Grid webes horoggal vagy más aktivált műveletekkel értesítheti a szolgáltatásokat, ha a rögzített adathordozó készen áll és exportálva van a külső tárolóhelyre.
Tekintse meg ezt a példát az eseménysémára.
{
"id": "string", // Unique guid for event
"topic": "string", // /subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}
"subject": "string", // /recording/call/{call-id}/serverCallId/{serverCallId}
"data": {
"storageType": "string", // AzureBlob etc.
"recordingId": "string", // unique id for recording
"recordingStorageInfo": {
"recordingChunks": [
{
"documentId": "string", // Document id for the recording chunk
"contentLocation": "string", //Azure Communication Services URL where the content is located
"metadataLocation": "string", // Azure Communication Services URL where the metadata for this chunk is located
"deleteLocation": "string", // Azure Communication Services URL to use to delete all content, including recording and metadata.
"index": "int", // Index providing ordering for this chunk in the entire recording
"endReason": "string", // Reason for chunk ending: "SessionEnded", "ChunkMaximumSizeExceeded”, etc.
}
]
},
"recordingStartTime": "string", // ISO 8601 date time for the start of the recording
"recordingDurationMs": "int", // Duration of recording in milliseconds
"sessionEndReason": "string" // Reason for call ending: "CallEnded", "InitiatorLeft”, etc.
},
"eventType": "string", // "Microsoft.Communication.RecordingFileStatusUpdated"
"dataVersion": "string", // "1.0"
"metadataVersion": "string", // "1"
"eventTime": "string" // ISO 8601 date time for when the event was created
}
A hívásrögzítés mappastruktúrája
A felvételeket a diagramon látható módon a következő formátumban tárolja a rendszer.
- /YYYYMMDD/callId/first_8_of_recordingId + '-' + egyedi guid/[chunk-id]-acsmetadata.documentId.json
- /YYYYMMDD/callId/first_8_of_recordingId + '-' + unique guid/[chunk-id]-audiomp3.documentId.mp3
Következő lépések
További információért tekintse át az alábbi cikkeket:
- Java-hívásrögzítési mintaalkalmazás letöltése
- További információ a hívásrögzítésről
- További információ a Hívásautomatizálásról
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: