Arama kaydı: Kendi Azure depolama alanınızı getirme hızlı başlangıcı
Bu hızlı başlangıç, Arama Kaydı için Kendi Azure depolama alanınızı getirin özelliğini kullanmaya başlamanızı sağlar. Kendi Azure Depolama işlevselliğinizi getirin işlevini kullanmaya başlamak için Arama Kaydı API'lerini bildiğinizden emin olun.
Ön koşul: Yönetilen Kimlik ve Rol Tabanlı Erişim Denetimleri (RBAC) rol atamalarını ayarlama
1. Azure İletişim Hizmetleri için sistem tarafından atanan yönetilen kimliği etkinleştirme
- Azure İletişim Hizmetleri kaynağınızı açın. Soldaki Kimlik'e gidin.
- Sistem Tarafından Atanan Yönetilen Kimlik etkinleştirildi ve Kaydet'e tıklayın.
- Tamamlandıktan sonra, yeni oluşturulan kimliğin Nesne sorumlusu kimliğini görebilirsiniz.
- Kimlik başarıyla oluşturulduktan sonra Rol atamaları eklemeye başlamak için Azure rol atamaları'na tıklayın.
2. Rol ataması ekleme
- "Rol ataması ekle" seçeneğine tıklayın
- "Rol ataması ekle" panelinde aşağıdaki değerleri seçin
- Kapsam: Depolama
- Abonelik: Aboneliğinizi seçin
- Kaynak: Depolama hesabınızı seçin
- Rol: Azure İletişim Hizmetleri depolama hesabınıza yazabilmek için "Depolama Blob Veri Katkıda Bulunanı" gerekir.
- "Kaydet"e tıklayın.
- Tamamlandıktan sonra yeni eklenen rol atamasını "Azure rol ataması" penceresinde görürsünüz.
Belirtilen dış depolama alanıyla kaydı başlatma oturumu
Çağrı başlatılırken alınan sunucu çağrı kimliğini kullanın.
Dış depolama için Azure blob depolamayı kullanma
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);
Dış depolama için Azure blob depolamayı kullanma
StartRecordingOptions recordingOptions = new StartRecordingOptions(new ServerCallLocator("<serverCallId>"))
.setExternalStorage(new BlobStorage("<Insert Container / Blob Uri>"));
Response<StartCallRecordingResult> response = callAutomationClient.getCallRecording()
.startRecordingWithResponse(recordingOptions, null);
Başarılı dışarı aktarma bildirimi
Kaydedilen medya hazır olduğunda ve dış depolama konumuna aktarıldığında hizmetlerinizi bilgilendirmek için bir Azure Event Grid web kancası veya tetiklenen başka bir eylem kullanın.
Olay şemasının bu örneğine bakın.
{
"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
}
Arama Kaydı için Klasör Yapısı
Kayıtlar diyagramda gösterildiği gibi aşağıdaki biçimde depolanır.
- /YYYYMMDD/callId/first_8_of_recordingId + '-' + unique guid/[chunk-id]-acsmetadata.documentId.json
- /YYYYMMDD/callId/first_8_of_recordingId + '-' + unique guid/[chunk-id]-audiomp3.documentId.mp3
Sonraki adımlar
Daha fazla bilgi için aşağıdaki makaleleri inceleyin:
- Java çağrı kaydı örnek uygulamamızı indirin
- Arama Kaydı hakkında daha fazla bilgi edinin
- Çağrı Otomasyonu hakkında daha fazla bilgi edinin