全部产品
Search
文档中心

Object Storage Service:Bilah kemajuan unggah

更新时间:Aug 13, 2025

Anda dapat menggunakan bilah kemajuan untuk memantau kemajuan unggah objek.

Catatan penggunaan

  • Dalam topik ini, titik akhir publik Wilayah China (Hangzhou) digunakan. Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir OSS, lihat Wilayah dan Titik Akhir.

  • Dalam topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasi Kredensial Akses (Python SDK V1).

  • Dalam topik ini, instans OSSClient dibuat dengan menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient dengan menggunakan nama domain kustom atau Layanan Token Keamanan (STS), lihat Inisialisasi.

Contoh

Kode sampel berikut menunjukkan cara menggunakan bilah kemajuan saat Anda menggunakan bucket.put_object untuk mengunggah objek:

# -*- coding: utf-8 -*-
from __future__ import print_function
import os
import sys
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi. 
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur titik akhir ke https://oss-cn-hangzhou.aliyuncs.com. 
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"

# Tentukan ID wilayah yang sesuai dengan titik akhir. Contoh: cn-hangzhou. Parameter ini diperlukan jika Anda menggunakan algoritma tanda tangan V4.
region = "cn-hangzhou"

# Tentukan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# consumed_bytes menentukan ukuran data yang telah diunggah. 
# total_bytes menentukan ukuran total data yang ingin Anda unggah. Jika ukuran data yang ingin Anda unggah tidak dapat ditentukan, nilai parameter total_bytes adalah None. 
def percentage(consumed_bytes, total_bytes):
    if total_bytes:
        rate = int(100 * (float(consumed_bytes) / float(total_bytes)))
        print('\r{0}% '.format(rate), end='')
        sys.stdout.flush()
# progress_callback adalah parameter opsional yang digunakan untuk mengembalikan informasi kemajuan. 
bucket.put_object('yourObjectName', 'a'*1024*1024, progress_callback=percentage)

Referensi

Untuk kode sampel lengkap tentang cara menggunakan bilah kemajuan selama unggah objek, kunjungi GitHub.