全部产品
Search
文档中心

Object Storage Service:Menghapus objek (OSS SDK untuk Python 2.0)

更新时间:Oct 23, 2025

Topik ini menjelaskan cara menggunakan OSS SDK untuk Python 2.0 guna menghapus satu atau beberapa objek.

Catatan penggunaan

  • Kode contoh dalam topik ini menggunakan ID Wilayah China (Hangzhou) cn-hangzhou dan titik akhir publik secara default. Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang pemetaan antara Wilayah OSS dan titik akhir, lihat Wilayah dan Titik Akhir.

  • Untuk menghapus objek, Anda harus memiliki izin oss:DeleteObject. Untuk informasi lebih lanjut, lihat Memberikan Izin Kustom kepada Pengguna RAM.

Definisi metode

Hapus satu objek

delete_object(request: DeleteObjectRequest, **kwargs) → DeleteObjectResult

Hapus beberapa objek

delete_multiple_objects(request: DeleteMultipleObjectsRequest, **kwargs) → DeleteMultipleObjectsResult

Parameter permintaan

Parameter

Tipe

Deskripsi

request

DeleteObjectRequest

Parameter permintaan, seperti nama objek. Untuk informasi lebih lanjut, lihat DeleteObjectRequest

DeleteMultipleObjectsRequest

Parameter permintaan, seperti daftar objek yang akan dihapus. Untuk informasi lebih lanjut, lihat DeleteMultipleObjectsRequest

Nilai kembali

Tipe

Deskripsi

DeleteObjectResult

Nilai kembali. Untuk informasi lebih lanjut, lihat DeleteObjectResult

DeleteMultipleObjectsResult

Nilai kembali. Untuk informasi lebih lanjut, lihat DeleteMultipleObjectsResult

Kode contoh

Hapus satu objek

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser argumen baris perintah.
parser = argparse.ArgumentParser(description="contoh hapus objek")
# Tambahkan argumen baris perintah --region, yang menentukan wilayah tempat bucket berada. Argumen ini wajib.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
# Tambahkan argumen baris perintah --bucket, yang menentukan nama bucket. Argumen ini wajib.
parser.add_argument('--bucket', help='Nama bucket.', required=True)
# Tambahkan argumen baris perintah --endpoint, yang menentukan nama domain yang dapat digunakan layanan lain untuk mengakses OSS. Argumen ini opsional.
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS')
# Tambahkan argumen baris perintah --key, yang menentukan nama objek. Argumen ini wajib.
parser.add_argument('--key', help='Nama objek.', required=True)

def main():
    args = parser.parse_args()  # Parse argumen baris perintah.

    # Muat kredensial dari variabel lingkungan untuk verifikasi identitas.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Muat konfigurasi default dari SDK dan atur penyedia kredensial.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    # Atur wilayah dalam konfigurasi.
    cfg.region = args.region
    # Jika parameter endpoint diberikan, atur endpoint dalam konfigurasi.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Buat klien OSS menggunakan informasi yang dikonfigurasi.
    client = oss.Client(cfg)

    # Jalankan permintaan untuk menghapus objek. Tentukan nama bucket dan nama objek.
    result = client.delete_object(oss.DeleteObjectRequest(
        bucket=args.bucket,
        key=args.key,
    ))

    # Cetak kode status, ID permintaan, ID versi, dan penanda hapus dari permintaan untuk memeriksa apakah permintaan berhasil.
    print(f'kode status: {result.status_code},'
          f' ID permintaan: {result.request_id},'
          f' ID versi: {result.version_id},'
          f' penanda hapus: {result.delete_marker},'
    )

if __name__ == "__main__":
    main()  # Titik masuk skrip. Fungsi utama dipanggil ketika file dijalankan langsung.

Hapus beberapa objek yang ditentukan

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser argumen baris perintah.
parser = argparse.ArgumentParser(description="contoh hapus beberapa objek")
# Tambahkan argumen baris perintah --region, yang menentukan wilayah tempat bucket berada. Argumen ini wajib.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
# Tambahkan argumen baris perintah --bucket, yang menentukan nama bucket. Argumen ini wajib.
parser.add_argument('--bucket', help='Nama bucket.', required=True)
# Tambahkan argumen baris perintah --endpoint, yang menentukan nama domain yang dapat digunakan layanan lain untuk mengakses OSS. Argumen ini opsional.
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS')
# Tambahkan argumen baris perintah --key, yang menentukan nama objek. Argumen ini wajib.
parser.add_argument('--key', help='Nama objek.', required=True)
# Catatan: Jika Anda ingin menghapus beberapa objek, tambahkan argumen baris perintah --key2, yang menentukan nama objek.
parser.add_argument('--key2', help='Nama objek.', required=True)

def main():
    # Parse argumen baris perintah.
    args = parser.parse_args()

    # Muat kredensial dari variabel lingkungan untuk verifikasi identitas.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Muat konfigurasi default dari SDK dan atur penyedia kredensial.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    # Atur wilayah dalam konfigurasi.
    cfg.region = args.region
    # Jika parameter endpoint diberikan, atur endpoint dalam konfigurasi.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Buat klien OSS menggunakan informasi yang dikonfigurasi.
    client = oss.Client(cfg)

    # Definisikan daftar objek yang akan dihapus.
    # Catatan: Jika Anda ingin menghapus beberapa objek, perluas daftar objek dalam format berikut.
    objects = [oss.DeleteObject(key=args.key), oss.DeleteObject(key=args.key2)]


    # Jalankan permintaan untuk menghapus beberapa objek. Tentukan nama bucket, tipe encoding, dan daftar objek.
    result = client.delete_multiple_objects(oss.DeleteMultipleObjectsRequest(
        bucket=args.bucket,
        encoding_type='url',
        objects=objects,
    ))

    # Cetak kode status, ID permintaan, dan informasi tentang objek yang dihapus untuk memeriksa apakah permintaan berhasil.
    print(f'kode status: {result.status_code},'
          f' ID permintaan: {result.request_id},'
          f' kunci: {result.deleted_objects[0].key},'
          f' ID versi: {result.deleted_objects[0].version_id},'
          f' penanda hapus: {result.deleted_objects[0].delete_marker},'
          f' ID versi penanda hapus: {result.deleted_objects[0].delete_marker_version_id},'
          f' tipe encoding: {result.encoding_type},'
    )


if __name__ == "__main__":
    main() # Titik masuk skrip. Fungsi utama dipanggil ketika file dijalankan langsung.

Referensi