ja uaktualniania Azure Storage od 1.7 SDK 2.3 SDK i zostały aktualizowania moje GetBlobReference(string)
połączeń do GetBlockReferenceFromServer(Uri)
GetBlobReferenceFromServer nie działa z względnymi identyfikatorami URI. Błąd: „Tylko adresy bezwzględne są dozwolone”
W przeszłości I zostały z wykorzystaniem względnej URI, ale kiedy mijam te aż do GetBlockReferenceFromServer
pojawia się błąd, który mówi, że nie można używać bezwzględnych URI (zob stosu poniżej) kod
próbki:
Dim myAccount As CloudStorageAccount = CloudStorageAccount.Parse(connectionString)
Dim myClient As CloudBlobClient = myAccount.CreateCloudBlobClient()
Dim myRelativeUri As New Uri("mycontainer/myblob.txt", UriKind.Relative)
Dim myBlobref As ICloudBlob = myClient.GetBlobReferenceFromServer(myRelativeUri) <- Errors on this line
błąd stosu:
System.ArgumentException: Address 'mycontainer/myblob.txt' is a relative address. Only absolute addresses are permitted.Parameter name: uri
at Microsoft.WindowsAzure.Storage.StorageUri.AssertAbsoluteUri(Uri uri)
at Microsoft.WindowsAzure.Storage.StorageUri.set_PrimaryUri(Uri value)
at Microsoft.WindowsAzure.Storage.StorageUri..ctor(Uri primaryUri, Uri secondaryUri)
at Microsoft.WindowsAzure.Storage.StorageUri..ctor(Uri primaryUri)
at Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient.GetBlobReferenceFromServer(Uri blobUri, AccessCondition accessCondition, BlobRequestOptions options, OperationContext operationContext) at MySoftware.MyReference...
Nie rozumiem dlaczego Uri musi być absolutna, gdy CloudBlobClient
ma BaseUri
do pracy. Czy muszę próbować ręcznie dodawać BaseUri
zanim spróbuję uzyskać referencję?
Brak informacji na temat tego w technical reference.
Czy ktoś ma względne identyfikatory URI do pracy z GetBlobReferenceFromServer
? Czy jest coś, co zasadniczo robię źle?
Nastąpiło wiele przełomowych zmian między wersją biblioteki pamięci masowej 1.7 i 2.0 (był to numer wersji, gdy została wydana). Wydaje się, że to był jeden z nich. Próbowałem wyszukać informacje o wersji 2.0 (https://github.com/Azure/azure-storage-net/blob/master/ changelog.txt), ale niestety zaczyna się ona dopiero od 2.0.1. Sądzę, że musisz po prostu założyć, że była to jedna z przełomowych zmian i musisz podać absolutny URI. –