Ich habe ein Problem beim Zugriff auf BLOB-Speicher von einer App Service Mobile App (Not MobileService). Ich habe früher eine MobileService ausführt, die den Blob Storage in der folgenden Art und Weise zugegriffen:BLOB-Speicherzugriff von Azure App Service
// Set the URI for the Blob Storage service.
Uri blobEndpoint = new Uri(string.Format("https://{0}.blob.core.windows.net", storageAccountName));
// Create the BLOB service client.
CloudBlobClient blobClient = new CloudBlobClient(blobEndpoint,
new StorageCredentials(storageAccountName, storageAccountKey));
den Code Aktualisieren auf den neuen Dienst zu arbeiten, immer noch nicht helfen. Die Datenverbindung scheint korrekt zu sein:
Daher unter Bezugnahme auf diese Links azure configuration | azure connection string | azure get started blob storage.
Ich habe die Datenverbindung extrahiert und den `MS_AzureStorageAccountConnectionString 'implementiert. Ich habe die folgenden Methoden, um den richtigen Zugang zu überprüfen, wird gefunden:
string tempstorage = "";
try
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("MS_AzureStorageAccountConnectionString"));
tempstorage = storageAccount.BlobEndpoint.ToString() + " " + storageAccount.BlobStorageUri.ToString();
//Uri blobEndpoint = storageAccount.TableStorageUri.GetUri(StorageLocation.Primary);
}
catch
{
}
string cloud = "";
try
{
CloudStorageAccount temp = CloudStorageAccount.DevelopmentStorageAccount;
Uri endPoit = temp.BlobEndpoint;
string uri = temp.BlobStorageUri.ToString();
cloud = uri + " " + endPoit.ToString();
}
catch
{
}
return Ok("coud : " + cloud + " temp storage : " + tempstorage);
Rückgabewert:
coud: Primär = 'http://127.0.0.1:10000/devstoreaccount1'; Secondary = ‚http://127.0.0.1:10000/devstoreaccount1-secondary‘ http://127.0.0.1:10000/devstoreaccount1 Temperaturlagerung:
Dies zeigt, wird der Zugriff auf die Storage emulator
was nicht erwünscht ist.
Frage
Wie die Uri
für die Azure online storage
so erhalten, wie es aus dem Azure app service
zuzugreifen.
Update auf dem Kommentar basierten
ich den Antrag auf Cloud-Konfiguration wie die Anwendungseinstellungen für die App Service
auf dem azurblauen Portal interpretiert.
<configuration>
<connectionStrings>
<add name="MS_AzureStorageAccountConnectionString" connectionString="DefaultEndpointsProtocol=https;AccountName=Name;AccountKey=key1_from_access_Keys" />
</connectionStrings>
<configuration>
Leider nicht ganz klar. Könnten Sie bitte klarstellen, was Sie erhalten, was Sie erhalten müssen? URIs scheinen korrekt zu sein. –
@AlexBelotserkovskiy okay, ich werde umschreiben, wenn ich an einem PC bin.Meine Frage ist, dass das URI-Schema völlig anders ist als bei MobileService. Warum ist das? In den gleichen Zeilen hat die URI devstoreaccount1, was ist nicht der Name des Speichers? Ist der URI, weil sie in derselben Ressourcengruppe existieren und daher eine lokale Verbindung haben? (Ich kann sehen, dass ich die Frage zu lange geschrieben habe. Ich werde umschreiben, danke, dass du meine Aufmerksamkeit darauf gelenkt hast!) – JTIM
Devstoreaccount ist der lokale Speicheremulator. 127.0.0.1 auch. Überprüfe, was du in deiner Cloud-Konfiguration hast - wenn du devstiragaccount siehst, bedeutet das, dass dein Projekt auf etwas Lokales abzielt. –