Я пишу функцию Azure, которая должна контролировать контейнер для хранения Blob и действовать на новые капли в этом контейнере. На учетную запись хранилища, которую использует мое приложение для функций для файлов и журналов, ссылается имя учетной записи в настройке приложения Azure «AzureWebJobsStorage__accountName». Учетная запись хранения, в которой контролируется контейнер Blob, хранится в настройке приложения «OtherstorageConnection__accountName». storageAccountB
OtherStorageConnection => connection string to storage account b from azure storage account -> Security + Networking -> Access Keys blade
OtherStorageConnection__serviceUri => https://storageAccountB.blob.core.windows.net
my function is set up like это: < /p>
[Function("Transfers")]
public async Task SftpTransfers([BlobTrigger("container-in/{name}", Connection = "OtherStorageConnection", Source = BlobTriggerSource.LogsAndContainerScan)] BlobClient blobClient)
{
_logger.LogInformation($"SftpTransfers triggered by blob {blobClient.Name}");
var storeSuccesful = await _blobService.StoreDocument(blobClient);
if (storeSuccesful)
{
_logger.LogInformation($"Stored blob {blobClient.Name}");
await _blobService.DeleteBlob(blobClient);
}
else
{
_logger.LogError($"Failed to store blob {blobClient.Name}");
}
await Task.CompletedTask;
}
< /code>
Когда я развертываю свое приложение, я вижу следующую ошибку: < /p>
Уровень серьезности: информация, сообщение: запрос [xxxxxxxx-a9ad-4eff-b7b9-xxxxxxxxxx] https: // storageaccounta .blob.core.windows.net/? restype = service & comp = properties
Уровень серьезности: Предупреждение, сообщение: Ошибка ошибки [xxxxxxx-A9AD-4EFF-B7B9-XXXXXXXXXXXXXXXXXX-A9AD-4EFF-B7B9-XXXXXXXXXX разрешение. (00.1s) < /p>
Я не ожидал бы, что это будет успешным, так как MI, назначенный системой приложения. Однако я не понимаю, почему он пытается подключиться к StorageCcounta, а не StorageAccountb, как указано в триггере Blob через параметр подключения. Действительно, потому что я также запускаю AzurestorageConnection, чтобы проверить контейнер Blob при запуске, например: < /p>
public static IServiceCollection AddBlobStorage(this IServiceCollection services, BlobStorageOptions options, TokenCredential credential, ILogger logger)
{
var blobClientOptions = new BlobClientOptions
{
Transport = new HttpClientTransport(new HttpClient { Timeout = TimeSpan.FromSeconds(60) }),
Retry = { NetworkTimeout = TimeSpan.FromSeconds(60) }
};
logger.LogInformation($"blob storage url: {options.Url}");
services.AddAzureClients(clientBuilder =>
{
clientBuilder.ConfigureDefaults(options =>
{
logger.LogInformation($"client builder application id: {options.Diagnostics?.ApplicationId}");
options.Diagnostics.IsLoggingEnabled = true;
options.Diagnostics.IsLoggingContentEnabled = true;
options.Diagnostics.IsTelemetryEnabled = true;
});
clientBuilder.AddBlobServiceClient(Environment.GetEnvironmentVariable("OtherStorageConnection"));
});
if (options == null || String.IsNullOrWhiteSpace(options.Url)) { return services; }
logger.LogInformation($"starting blob configuration: url {options.Url}");
var blobClient = new BlobServiceClient(new Uri(options.Url), credential, blobClientOptions);
logger.LogInformation($"Created blob service client: uri {blobClient.Uri}, accountName {blobClient.AccountName}");
var theBlobContainerClient = blobClient.GetBlobContainerClient("container-in");
logger.LogInformation($"Created blob container client: name {theBlobContainerClient.Name}, account {theBlobContainerClient.AccountName}, uri {theBlobContainerClient.Uri}");
theBlobContainerClient.CreateIfNotExists();
logger.LogInformation($"Created blob container container-in");
services.AddSingleton(provider => blobClient);
return services;
}
< /code>
И это успешно создало контейнер «контейнер» в Storageaccountb. контролирует storageaccountb вместо Storageaccounta?
Подробнее здесь: https://stackoverflow.com/questions/795 ... fferent-th
Как подключить функцию Azure Trigger Blob -Trigger к учетной записи хранилища, которая отличается от той, которая в наст ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Получить ключ учетной записи хранилища вновь создания учетной записи хранения
Anonymous » » в форуме C# - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-