Wie verbinde ich eine Azure -Funktion eines Blob -Triggers mit einem anderen Speicherkonto als in der AzurewebjobSstoragC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie verbinde ich eine Azure -Funktion eines Blob -Triggers mit einem anderen Speicherkonto als in der AzurewebjobSstorag

Post by Anonymous »

Ich schreibe eine Azure -Funktion, die einen Blob -Speicherbehälter überwachen und auf neue Blobs in diesem Container wirkt. Das Speicherkonto, das meine Funktion App für Dateien und Protokolle verwendet, wird mit dem Kontonamen in der Azure -App -Einstellung "AzureWebjobStorage__AccountName" verwiesen. Der Speicherkonto, in dem der BLOB -Container überwacht wird, wird in der App -Einstellung "OTHERSTORAGECONNECTION__ACCOUNTNAME" gespeichert. /> OTHERSTORAGECONNECTION => Verbindungszeichenfolge zum Speicherkonto B aus Azure -Speicherkonto -> Sicherheit + Networking -> Zugriffstasten Blade
oTherStorageConnection__Serviceuri => https://storageAccountb.blobe[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>
Wenn ich meine Anwendung bereitete, sehe ich den folgenden Fehler: < /p>
Schweregradstufe: Informationen, Nachricht: Anforderung [xxxxxxxx-A9AD-4eff-B7B9-XXXXXXXXXX] https://storageAccountA.blob.core.windows.net/?restype=service&comp=properties
Severity level: Warning, Message: Error response [xxxxxxxx-a9ad-4eff-b7b9-xxxxxxxxxxxx] 403 This request is not authorized to perform this operation using this permission. . Was ich jedoch nicht verstehe, ist, warum es versucht, eine Verbindung zu StorageAccounta und nicht in StorageAccountb zu verbinden, wie im BLOB -Auslöser über den Verbindungsparameter angegeben. Starten Sie auch eine AzurestorageConnection, um beim Start nach dem Start auf den Blob Container zu suchen: < /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>
und dies erstellte erfolgreich den Container "Container" in storaageAccountb. storageAccountb anstelle von storaageacounta?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post