Как подключить функцию Azure Trigger Blob -Trigger к учетной записи хранилища, которая отличается от той, которая в настC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как подключить функцию Azure Trigger Blob -Trigger к учетной записи хранилища, которая отличается от той, которая в наст

Сообщение Anonymous »

Я пишу функцию 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как подключить функцию Azure Trigger Blob -Trigger к учетной записи хранилища, которая отличается от той, которая в наст
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как подключить функцию Azure Trigger Blob -Trigger к учетной записи хранилища, которая отличается от той, которая в наст
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Пути файлов хранилища Blob Blob -Blob
    Anonymous » » в форуме IOS
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Пути файлов хранилища Blob Blob -Blob
    Anonymous » » в форуме IOS
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Получить ключ учетной записи хранилища вновь создания учетной записи хранения
    Anonymous » » в форуме C#
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»