Могу ли я настроить WebJobs для использования этого cloudStorageAccount вместо строки подключения AzureWebJobsStorage?
Да, вы можете использовать cloudStorageAccount
, чтобы получить учетную запись BLOB-объекта и выполнить некоторые операции с BLOB-объектами.Тем не менее, вы все равно должны предоставить AzureWebJobsDashboard
и AzureWebJobsStorage
при использовании Webjob.Поскольку они являются не только строкой соединения, они также являются путем журнала.
В моем тесте я установил AzureWebJobsStorage
значение с storage1
подключением, а в коде я получил storage2
учетную запись, и она работает.
AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
string accessToken = azureServiceTokenProvider.GetAccessTokenAsync("https://storage.azure.com/").Result;
StorageCredentials storageCredentials = new StorageCredentials(new TokenCredential(accessToken));
CloudStorageAccount cloudStorageAccount = new CloudStorageAccount(storageCredentials, "storage2", "core.windows.net", true);
CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
CloudBlobContainer cloudBlobContainer = cloudBlobClient.GetContainerReference("mycontainer");
CloudBlockBlob cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference("hello.txt");
cloudBlockBlob.UploadTextAsync("aaaaaaaa").Wait();
Для получения более подробной информации о назначении роли и получении токена доступа вы можете обратиться к этой статье .