장치 테이블 저장소를 다시 생성할 때의 주석

3911 단어 Azure
Azure가 사용하고 있다는 것은 잘 이해하지 못하지만, 이번에는 생산 환경을 연결해 보았다.
로컬 개발 구조에서 아무런 문제가 발생하지 않았기 때문에 Azure의 생산 환경에서 저장소를 디버깅한 결과 테이블을 삭제하고 만드는 과정에서 갑자기 멈추었습니다.
코드는 정말 흔한 코드입니다.호출 유형은 다음과 같습니다.
samepleWorkerRole.cs
table.DeleteAllTable();
table.CreateTable("samepleTable");
sampleClass.cs
public static void DeleteAllTable()
{
    var tableClient = StorageHelper.CreateTableClient();
    var tableList = tableClient.ListTables();
    foreach (var item in tableList)
    {
        item.DeleteIfExists();
    }
}

public static void CreateTable(string tableName)
{
    var tableClient = StorageHelper.CreateTableClient();
    CloudTable gridTable = tableClient.GetTableReference(tableName);
    gridTable.CreateIfNotExists();
}
VisualStudio에서 다음 화면을 중지합니다.

내 생각에는 무엇인지 많이 찾아봤는데 오류 코드의 409 정도를 찾아봤는데 MSDN 페이지에 있었다.
http://msdn.microsoft.com/library/azure/dd179387.aspx
테이블을 삭제하려면 최소 40초가 걸릴 수 있습니다.삭제 중인 테이블에 대해 작업을 시도하면 서비스가 상태 코드 409와 다른 오류 정보를 되돌려 줍니다. 이 테이블이 삭제 중임을 나타냅니다.
영어지만 Azure Store Explorer와 코드 삭제표를 통해 비동기적으로 처리된다고 설명합니다.또한 40초 동안 삭제하는 동안 다시 만들면 409의 오류 코드가 발생합니다.
http://www.microsofttrends.com/2014/01/08/creating-a-custom-windows-azure-table-storage-importer/
Important Note on Deleting Tables: if you delete a table either through Azure Storage Explorer or through code, it performs the action asynchronously. According to Microsoft it can take up to 40 seconds for the actual delete to happen and if you try to create the table while its in progress of being deleted, you will receive a StorageException with a “409” error.
그래서 삭제 후 슬립 40초, 제작 후 순조롭게 진행되었습니다.
끝.

좋은 웹페이지 즐겨찾기