[英]Google Cloud Storage: Deleting contents of a bucket
Im successfully uploading files to google storage like this: 我成功将文件上传到Google存储,如下所示:
Task upload = Task.Run(async () =>
{
var clientSecrets = new ClientSecrets();
clientSecrets.ClientId = "*****";
clientSecrets.ClientSecret = "*****";
var scopes = new[] { @"https://www.googleapis.com/auth/devstorage.full_control" };
var cts = new CancellationTokenSource();
var userCredential = await GoogleWebAuthorizationBroker.AuthorizeAsync(clientSecrets, scopes, "mail@example.com ", cts.Token);
await userCredential.RefreshTokenAsync(cts.Token);
var service = new StorageService();
var bucketsQuery = service.Buckets.List("MyProjectName");
bucketsQuery.OauthToken = userCredential.Token.AccessToken;
var buckets = bucketsQuery.Execute();
Bucket bucketToUpload = buckets.Items.FirstOrDefault();
var newFile = new Google.Apis.Storage.v1.Data.Object()
{
Bucket = bucketToUpload.Name,
Name = TargetFileName
};
FileStream fileStream = null;
try
{
fileStream = new FileStream(TargetFilePath, FileMode.Open);
var uploadRequest = new ObjectsResource.InsertMediaUpload(service, newFile, bucketToUpload.Name, fileStream, "audio/wav");
uploadRequest.OauthToken = userCredential.Token.AccessToken;
await uploadRequest.UploadAsync();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
if (fileStream != null) fileStream.Dispose();
}
});
await upload;
What I´d also like to do though, is deleting all the contents from a bucket. 我还想做的是从存储桶中删除所有内容。 I can´t seem to find a way that works when searching the internet.
搜索互联网时,我似乎找不到可行的方法。 Can anybody provide me with a code example?
有人可以给我提供代码示例吗?
Thanks a lot in advance! 在此先多谢!
I suggest using the C# client libraries . 我建议使用C#客户端库 。 With these, deleting the files within a bucket could be achieved by using the following code:
有了这些,可以通过使用以下代码来删除存储桶中的文件:
using System;
using Google.Cloud.Storage.V1;
namespace csharp {
public class deletingFilesFromBucket
{
static void Main(string[] args)
{
var storage = StorageClient.Create();
var bucketName = "MyBucket"
foreach (var storageObject in storage.ListObjects(bucketName, ""))
{
storage.DeleteObject(bucketName, storageObject.Name);
Console.WriteLine($"Deleted {storageObject.Name}.");
}
}
}
}
You could find the reference for this in this document . 您可以在本文档中找到此参考。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.