की समाप्ति पहुंच हस्ताक्षर साझा किया है, जब वे समाप्त हो जाते हैं तो मुझे एज़ूर ब्लॉब्स और साझा एक्सेस हस्ताक्षर के साथ परेशानी हो रही है। मुझे 1 घंटे (7 दिन) से अधिक समय तक ब्लॉब तक पहुंच प्रदान करने की आवश्यकता है, इसलिए मैं एक नामित कंटेनर नीति का उपयोग कर रहा हूं, लेकिन दुर्भाग्य से मैं उन 7 दिनों के बाद नए यूआरएल उत्पन्न नहीं कर सकता।एज़ूर ब्लॉब कंटेनर ने
मेरे पास "डिफ़ॉल्ट" नीति बनाने के लिए निम्न कोड है।
CloudStorageAccount account = new CloudStorageAccount(credentials, true);
CloudBlobClient client = new CloudBlobClient(account.BlobEndpoint, credentials);
CloudBlobContainer container = client.GetContainerReference("files");
SharedAccessPolicy sharedAccessPolicy = new SharedAccessPolicy();
sharedAccessPolicy.Permissions = SharedAccessPermissions.Read;
sharedAccessPolicy.SharedAccessStartTime = DateTime.UtcNow;
sharedAccessPolicy.SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(1);
BlobContainerPermissions blobContainerPermissions = new BlobContainerPermissions();
blobContainerPermissions.SharedAccessPolicies.Add("default", sharedAccessPolicy);
container.SetPermissions(blobContainerPermissions);
मैं उसके बाद निम्न के साथ एक SharedAccessSignature URL बनाएं::
CloudStorageAccount account = new CloudStorageAccount(credentials, true);
CloudBlobClient client = new CloudBlobClient(account.BlobEndpoint, credentials);
CloudBlobContainer container = client.GetContainerReference("files");
CloudBlob blob = container.GetBlobReference(path);
string sas = blob.GetSharedAccessSignature(new SharedAccessPolicy(), "default");
Console.WriteLine(blob.Uri.AbsoluteUri + sas);
यह इस कोड में नोट, मैं समाप्ति सेट कर रहा हूं अब से 1 मिनट हो सकता है, यह परीक्षण करने के लिए आसान बनाने के लिए एक यूआरएल उत्पन्न करता है, और यूआरएल अगले मिनट (या वास्तविक कोड में 7 दिन) के लिए ठीक से काम करता है। एक मिनट खत्म हो जाने के बाद, यूआरएल अमान्य है और अपेक्षित के रूप में काम नहीं करता है।
लेकिन एक बार जब समाप्ति समाप्त हो जाती है, तो मैं एक नया यूआरएल उत्पन्न करने के लिए कोड फिर से चलाता हूं। दुर्भाग्य से, यह वही यूआरएल उत्पन्न करता है, जो अभी भी अमान्य है।
कंटेनर नीतियों के लिए प्रारंभ/समाप्ति बार पूर्ण कर रहे हैं, जिसका अर्थ है जब मुझे लगता है कि नीति सेट अभी उस नीति को उपयोग करते हुए
sharedAccessPolicy.SharedAccessStartTime = DateTime.UtcNow;
sharedAccessPolicy.SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(1);
कुछ भी 10:11 बजे तक केवल 10:10 बजे (EDT) से मान्य है (ईडीटी) आज?
तो कंटेनर नीतियों के लिए प्रारंभ/समाप्ति बार पूर्ण कर रहे हैं। मैंने भी सोचा कि वे रिश्तेदार थे। – nmit026