删除 Cloud Storage 存储分区中的对象的归档世代。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
using Google.Cloud.Storage.V1;
using System;
public class DeleteFileArchivedGenerationSample
{
public void DeleteFileArchivedGeneration(
string bucketName = "your-bucket-name",
string objectName = "your-object-name",
long? generation = 1579287380533984)
{
var storage = StorageClient.Create();
storage.DeleteObject(bucketName, objectName, new DeleteObjectOptions
{
Generation = generation
});
Console.WriteLine($"Generation ${generation} of file {objectName} was deleted from bucket {bucketName}.");
}
}
C++
如需了解详情,请参阅 Cloud Storage C++ API 参考文档。
namespace gcs = ::google::cloud::storage;
[](gcs::Client client, std::string const& bucket_name,
std::string const& object_name, std::int64_t object_generation) {
google::cloud::Status status = client.DeleteObject(
bucket_name, object_name, gcs::Generation{object_generation});
if (!status.ok()) throw std::runtime_error(status.message());
std::cout << "Deleted " << object_name << " generation "
<< object_generation << " in bucket " << bucket_name << "\n";
}
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
import (
"context"
"fmt"
"io"
"time"
"cloud.google.com/go/storage"
)
// deleteOldVersionOfObject deletes a noncurrent version of an object.
func deleteOldVersionOfObject(w io.Writer, bucketName, objectName string, gen int64) error {
// bucketName := "bucket-name"
// objectName := "object-name"
// gen is the generation of objectName to delete.
// gen := 1587012235914578
ctx := context.Background()
client, err := storage.NewClient(ctx)
if err != nil {
return fmt.Errorf("storage.NewClient: %v", err)
}
defer client.Close()
ctx, cancel := context.WithTimeout(ctx, time.Second*10)
defer cancel()
obj := client.Bucket(bucketName).Object(objectName)
if err := obj.Generation(gen).Delete(ctx); err != nil {
return fmt.Errorf("Bucket(%q).Object(%q).Generation(%v).Delete: %v", bucketName, objectName, gen, err)
}
fmt.Fprintf(w, "Generation %v of object %v was deleted from %v\n", gen, objectName, bucketName)
return nil
}
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
import com.google.cloud.storage.BlobId;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;
public class DeleteOldVersionOfObject {
public static void deleteOldVersionOfObject(
String projectId, String bucketName, String objectName, long generationToDelete) {
// The ID of your GCP project
// String projectId = "your-project-id";
// The ID of your GCS bucket
// String bucketName = "your-unique-bucket-name";
// The ID of your GCS object
// String objectName = "your-object-name";
// The generation of objectName to delete
// long generationToDelete = 1579287380533984;
Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
storage.delete(BlobId.of(bucketName, objectName, generationToDelete));
System.out.println(
"Generation "
+ generationToDelete
+ " of object "
+ objectName
+ " was deleted from "
+ bucketName);
}
}
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
/**
* TODO(developer): Uncomment the following lines before running the sample.
*/
// The ID of your GCS bucket
// const bucketName = 'your-unique-bucket-name';
// The ID of your GCS file
// const fileName = 'your-file-name';
// The generation of fileName to delete
// const generation = 1579287380533984;
// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');
// Creates a client
const storage = new Storage();
async function deleteOldVersionOfFile() {
// Deletes the file from the bucket with given version
await storage
.bucket(bucketName)
.file(fileName, {
generation,
})
.delete();
console.log(
`Generation ${generation} of file ${fileName} was deleted from ${bucketName}`
);
}
deleteOldVersionOfFile().catch(console.error);
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
use Google\Cloud\Storage\StorageClient;
/**
* Delete an archived generation of the given object.
*
* @param string $bucketName The name of your Cloud Storage bucket.
* @param string $objectName The name of your Cloud Storage object.
* @param string $generationToDelete the generation of the object to delete.
*/
function delete_file_archived_generation($bucketName, $objectName, $generationToDelete)
{
// $bucketName = 'my-bucket';
// $objectName = 'my-object';
// $generationToDelete = 1579287380533984;
$storage = new StorageClient();
$bucket = $storage->bucket($bucketName);
$object = $bucket->object($objectName, [
'generation' => $generationToDelete,
]);
$object->delete();
printf(
'Generation %s of object %s was deleted from %s',
$generationToDelete,
$objectName,
$bucketName
);
}
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
from google.cloud import storage
def delete_file_archived_generation(bucket_name, blob_name, generation):
"""Delete a blob in the bucket with the given generation."""
# bucket_name = "your-bucket-name"
# blob_name = "your-object-name"
# generation = 1579287380533984
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)
bucket.delete_blob(blob_name, generation=generation)
print(
f"Generation {generation} of blob {blob_name} was deleted from {bucket_name}"
)
Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
def delete_file_archived_generation bucket_name:, file_name:, generation:
# The ID of your GCS bucket
# bucket_name = "your-unique-bucket-name"
# The ID of your GCS object
# file_name = "your-file-name"
# The generation of the file to delete
# generation = 1579287380533984
require "google/cloud/storage"
storage = Google::Cloud::Storage.new
bucket = storage.bucket bucket_name, skip_lookup: true
file = bucket.file file_name
file.delete generation: generation
puts "Generation #{generation} of file #{file_name} was deleted from #{bucket_name}"
end
后续步骤
如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。