मेरे पास एक ऐसी स्थिति है जहां मैं एक स्टोरेज कंटेनर से दूसरे ब्लॉब्स की प्रतिलिपि बना रहा हूं और कुछ ब्लॉब्स की प्रतिलिपि बनाई गई है, लेकिन कॉपी की शुरुआत के बाद से उनमें से बहुत से दो दिनों के बाद लंबित हैं।Azure SDK 2.0 में StartCopyFromBlob दिन ले रहे हैं?
Microsoft.WindowsAzure.StorageClient.StorageClientException : There is currently a pending copy operation. ----> System.Net.WebException : The remote server returned an error: (409) Conflict.
क्या मैं इस बारे में कुछ कर सकते हैं: मैं तथ्य यह है कि अगर मैं गंतव्य ब्लॉब मैं नीचे त्रुटि हो रही है के साथ कुछ भी करने की कोशिश के आधार पर यह निर्धारण करने कर रहा हूँ? उदाहरण के लिए मैं इस तथ्य के बाद प्रतिलिपि रोक सकता हूं?
यहां कॉपी कोड है जिसका उपयोग मैं प्रतिलिपि करने के लिए कर रहा हूं।
try
{
destinationBlob.StartCopyFromBlob(
new Uri(sourceBlob.Uri.AbsoluteUri + signature));
System.Diagnostics.Trace.TraceInformation(
"Copying: {0}", destinationEndpoint.EndpointState.BlobName);
}
catch (Exception ex)
{
var we = ex.InnerException as WebException;
if (we != null && we.Status == WebExceptionStatus.ProtocolError)
{
System.Diagnostics.Trace.TraceError(
"conflict with blob copy for blob {0}", sourceBlob.Uri.AbsoluteUri);
return 0;
}
}
सही। बस मुझे क्या पता होना चाहिए। तथ्य के बाद निरस्त करने के लिए प्रतिलिपि आईडी का उपयोग करेंगे। बहुत धन्यवाद! – chutch
हालांकि एक आखिरी सवाल है, आप कॉपी ऑपरेशन के संबंध में कतार प्राथमिकता कैसे बदलते हैं? मैंने दस्तावेज़ों की खोज की है और इस बारे में कोई संदर्भ नहीं दिख रहा है। – chutch
वह मेरा बुरा था! आप वास्तव में कतार प्राथमिकता नहीं बदल सकते हैं। तो एक बार प्रतिलिपि नौकरी कतारबद्ध हो जाने के बाद, आप या तो नौकरी खत्म करने या AbortCopy का उपयोग करके उस नौकरी को रद्द करने की प्रतीक्षा करते हैं। मैंने अपना जवाब अपडेट कर लिया है। –