public static async Task BackupBlob([EventGridTrigger] EventGridEvent eventGridEvent, ILogger log, ExecutionContext context) { var blob = eventGridEvent.Subject.Split("/blobs/")[1]; var container = eventGridEvent.Subject.Split("/")[4]; var storageAccount = eventGridEvent.Topic.Split("/")[8]; log.LogInformation($"Backing up {blob} from container {container} in storage account {storageAccount}"); var connection = GetConnection(storageAccount, context.FunctionAppDirectory); await AzCopyClient.CopyBlob(connection.OriginalConnection, connection.BackupConnection, container, blob); log.LogInformation($"Backed up {blob} from container {container} in storage account {storageAccount}"); }
public static async Task Run([CosmosDBTrigger( databaseName: "", collectionName: "", ConnectionStringSetting = "CosmosConnection", CreateLeaseCollectionIfNotExists = true, LeaseCollectionName = "backupLease")] IReadOnlyList <Document> documents, ILogger log) { var connection = GetEnvironmentVariable("CosmosBackupConnection"); foreach (var document in documents) { log.LogInformation("Backing up document " + document.Id); await AzCopyClient.UploadBlob(connection, "", document.Id, document.ToString()); log.LogInformation("Backed up document " + document.Id); } }