Mengambil konten dari server asal ke titik kehadiran (POPs). Hal ini mengurangi beban pada server asal karena pengguna dapat langsung mengakses cache pada kunjungan pertama mereka.
Deskripsi operasi
Operasi ini mendukung permintaan POST dengan parameter yang dikirim sebagai form.
Operasi terkait: RefreshObjectCaches dan PushObjectCache.
Kuota prefetch URL (harian): Secara default, setiap akun dapat mengirimkan hingga 1.000 tugas prefetch URL per hari. Jika bandwidth puncak harian akun Anda melebihi 200 Mbps, Anda dapat submit a ticket untuk meminta peningkatan kuota. Alibaba Cloud akan mengevaluasi kebutuhan bisnis Anda dan menyesuaikan kuota sesuai kebutuhan.
Setiap Akun Alibaba Cloud dapat mengirimkan hingga 100 URL sekaligus.
Aturan antrian prefetch: Setiap akun dapat memiliki hingga 100.000 URL dalam antrian prefetch. Alibaba Cloud CDN melakukan prefetch konten berdasarkan urutan pengiriman URL. Jika jumlah URL dalam antrian mencapai 100.000, Alibaba Cloud CDN akan menolak tugas prefetch baru.
Anda dapat memanggil operasi ini hingga 50 kali per detik per akun.
Untuk mengotomatiskan operasi refresh atau prefetch, lihat Refresh and prefetch batch script.
Batasan
Setelah tugas prefetch dikirim dan berhasil dieksekusi, POPs CDN segera mengambil resource yang diperlukan dari origin server. Mengirimkan banyak tugas prefetch secara bersamaan akan menghasilkan banyak unduhan konkuren, menyebabkan lonjakan bandwidth dan permintaan kembali-ke-asal, sehingga meningkatkan tekanan pada origin server.
Waktu penyelesaian tugas prefetch sebanding dengan ukuran file yang diprefetch. Dalam kebanyakan kasus, tugas prefetch memerlukan waktu 5 hingga 30 menit; file yang lebih kecil memerlukan waktu lebih singkat untuk diselesaikan.
Jika ingin menggunakan Pengguna Resource Access Management (RAM) untuk menjalankan operasi refresh atau prefetch, Anda harus terlebih dahulu memberikan izin yang diperlukan kepada Pengguna RAM tersebut. Untuk informasi selengkapnya, lihat Grant a RAM user the permissions to refresh and prefetch.
Secara default, permintaan prefetch menyertakan header Accept-Encoding:gzip. Jika Anda ingin menyertakan header lain atau menerapkan prefetch multi-replika, Anda dapat menentukan header prefetch kustom dengan mengonfigurasi parameter WithHeader.
Selama proses prefetch, jika origin server mengembalikan kode status yang terkait dengan Pengalihan seperti 307, tugas prefetch tidak akan mengikuti alamat pengalihan tersebut, sehingga prefetch gagal. Namun, jika origin server mengembalikan kode status 301 atau 302 dan CDN telah mengaktifkan fitur follow origin 301/302, prefetch tetap berjalan normal.
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
cdn:PushObjectCache |
none |
*Domain
|
None | None |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| ObjectPath |
string |
Yes |
URL yang akan diprefetch. Formatnya adalah nama domain yang dipercepat/file yang akan diprefetch. Catatan Pisahkan beberapa URL dengan line feed (\n) atau (\r\n). Panjang maksimum setiap ObjectPath adalah 1.024 karakter. |
example.com/image/1.png\nexample.org/image/2.png |
| Area |
string |
No |
Wilayah tempat konten diprefetch. Nilai yang valid:
Jika Anda tidak mengatur parameter ini, konten dalam Wilayah akselerasi nama domain Anda akan diprefetch. Catatan Jika Wilayah akselerasi nama domain Anda adalah Global dan Anda tidak mengisi parameter ini, konten akan diprefetch secara global. |
domestic |
| L2Preload |
boolean |
No |
Menentukan apakah konten akan diprefetch ke points of presence (POPs) L2. Nilai yang valid:
|
true |
| WithHeader |
string |
No |
Secara default, permintaan prefetch menyertakan header Accept-Encoding:gzip. Jika Anda ingin permintaan prefetch menyertakan header lain atau menerapkan prefetch multi-replika, Anda dapat menentukan header prefetch kustom dengan mengonfigurasi parameter WithHeader. Nilainya harus dalam format JSON. Catatan Jika Anda tidak ingin menyertakan header Accept-Encoding selama prefetch, kirimkan hal berikut:
|
{ "Accept-Encoding": [ "gzip, deflate, br" ] } |
| QueryHashkey |
boolean |
No |
Menentukan apakah akan mengaktifkan mode kueri hash key saat menjalankan tugas prefetch. Nilai yang valid:
|
true |
| ConsistencyHash |
boolean |
No |
Jika Wilayah akselerasi nama domain adalah daratan Tiongkok dan pengambilan asal HASH diaktifkan, Anda dapat menggunakan parameter ini untuk mengatur prefetching HASH guna mengkonvergen trafik pengambilan asal regional dan mengurangi bandwidth pengambilan asal yang dihasilkan oleh prefetching.
Penting Parameter ini hanya berlaku untuk nama domain dengan Wilayah akselerasi daratan Tiongkok. |
true |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
|
||
| PushTaskId |
string |
ID tugas prefetch. Jika beberapa tugas dikembalikan, ID-nya dipisahkan dengan koma (,). ID tugas digabung berdasarkan aturan berikut:
|
9524xxxx |
| RequestId |
string |
ID permintaan. |
16A96B9A-F203-4EC5-8E43-CB92E68F4CD8 |
Contoh
Respons sukses
JSONformat
{
"PushTaskId": "9524xxxx",
"RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F4CD8"
}
Kode kesalahan
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | SingleRequest.OverLimit | A maximum of 1000 URLs are supported for each request. | |
| 400 | QuotaExceeded.Preload | Your preload attempts have exceeded the daily limit. | The maximum number of URL prefetches on the current day is exceeded. |
| 400 | InvalidObjectPath.Malformed | The specified ObjectPath is invalid. | |
| 400 | InvalidExtensiveDomain.ValueNotSupported | The specified ExtensiveDomain is not supported. | |
| 400 | PreloadQueueFull | The warming queue is full,please try again later. | |
| 400 | QuotaPerMinuteExceeded.Refresh | You have exceeded the prescribed preload limits per minute. | |
| 400 | InvalidObjectPath.ExceedsMaximum | The maximum number of urls is exceeded. | The number of submitted URLs exceeds the maximum limit. |
| 400 | InvalidCustomHeader | Parse preload header failed. | Custom header parsing error. |
| 429 | TooManyRequests | System load fluctuates, please try again later. | System load fluctuates, please try again later. |
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.