private static async Task UpdateTableItemAsync(CloudTable table, CloudBlockBlob blob, string txtFileName) { var txtFileUrl = blob.Container.GetBlockBlobReference(txtFileName).Uri.AbsoluteUri.ToString(); var wavFileName = txtFileName.Replace(".json", ".wav"); var query = new TableQuery <STTEntity>(); var result = await table.ExecuteQuerySegmentedAsync <STTEntity>(query, null); var entity = result.ToList <STTEntity>().Find(x => x.WavFileName == wavFileName); if (entity != null) { var newEntity = new STTEntity() { PartitionKey = entity.PartitionKey, RowKey = entity.RowKey, WavFileName = entity.WavFileName, WavFileUrl = entity.WavFileUrl, TxtFileName = txtFileName, TxtFileUrl = txtFileUrl, }; await table.ExecuteAsync(TableOperation.InsertOrMerge(newEntity)); } }
public async Task <IActionResult> OnPost() { var userName = "******"; var operationId = userName + "_" + DateTime.Now.ToString("yyyyMMdd_HHmmss"); var wavFileName = operationId + "_" + WavFile.FileName; var txtFileName = operationId + "_" + WavFile.FileName.Replace("wav", "json"); var wavFileUrl = await UploadWavFileAsync(_blobContainerClient, operationId, wavFileName, WavFile); var entity = new STTEntity() { PartitionKey = userName, RowKey = operationId, WavFileName = wavFileName, WavFileUrl = wavFileUrl, TxtFileName = txtFileName, }; await InsertTableItemAsync(_tableClient, entity); WavFile = null; var sttEntityList = await GetTableItemsAsync(_tableClient); SttEntityList = AddSasToken(sttEntityList); return(Page()); }
private static async Task CreateTableItemAsync(CloudTable table, CloudBlockBlob blob, string wavFileName) { var wavFileUrl = blob.Container.GetBlockBlobReference(wavFileName).Uri.AbsoluteUri.ToString(); var query = new TableQuery <STTEntity>(); var result = await table.ExecuteQuerySegmentedAsync <STTEntity>(query, null); var entity = result.ToList <STTEntity>().Find(x => x.WavFileName == wavFileName); if (entity == null) { var newEntity = new STTEntity() { PartitionKey = "direct_upload", RowKey = "direct_" + DateTime.Now.ToString("yyyyMMdd_HHmmss"), WavFileName = wavFileName, WavFileUrl = wavFileUrl, //TxtFileName = null, //TxtFileUrl = null, }; await table.ExecuteAsync(TableOperation.InsertOrMerge(newEntity)); } }