全部产品
Search
文档中心

Object Storage Service:Blokir Akses Publik Global menggunakan OSS SDK untuk PHP 2.0

更新时间:Oct 21, 2025

Topik ini menjelaskan cara mengaktifkan, memperoleh informasi konfigurasi, dan menghapus konfigurasi Blokir Akses Publik global untuk OSS menggunakan OSS SDK untuk PHP 2.0.

Catatan penggunaan

  • Kode contoh dalam topik ini menggunakan ID Wilayah cn-hangzhou dari Wilayah (Hangzhou) Tiongkok. Secara default, titik akhir publik digunakan untuk mengakses sumber daya dalam bucket. Jika Anda ingin mengakses sumber daya di bucket dari layanan Alibaba Cloud lainnya di wilayah yang sama dengan bucket tersebut, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir yang didukung oleh OSS, lihat Wilayah dan Titik Akhir.

Kode contoh

Aktifkan Blokir Akses Publik global untuk OSS

Contoh kode berikut menunjukkan cara mengaktifkan Blokir Akses Publik global.

<?php

// Impor file autoloader untuk memuat pustaka dependensi.
require_once __DIR__ . '/../vendor/autoload.php';

use AlibabaCloud\Oss\V2 as Oss;

// Tentukan deskripsi argumen baris perintah.
$optsdesc = [
    "region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // Wilayah adalah argumen yang diperlukan. Ini menentukan wilayah tempat bucket berada.
    "endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // Titik akhir adalah argumen opsional. Ini menentukan nama domain yang dapat digunakan layanan lain untuk mengakses OSS.
];

// Hasilkan daftar opsi panjang untuk mengurai argumen baris perintah.
$longopts = \array_map(function ($key) {
    return "$key:"; // Tanda titik dua (:) ditambahkan setelah setiap parameter untuk menunjukkan bahwa nilai diperlukan.
}, array_keys($optsdesc));

// Uraikan argumen baris perintah.
$options = getopt("", $longopts);

// Periksa apakah argumen yang diperlukan hilang.
foreach ($optsdesc as $key => $value) {
    if ($value['required'] === True && empty($options[$key])) {
        $help = $value['help'];
        echo "Error: argumen berikut diperlukan: --$key, $help"; // Beri tahu pengguna bahwa argumen yang diperlukan hilang.
        exit(1);
    }
}

// Dapatkan nilai argumen baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.

// Gunakan variabel lingkungan untuk memuat informasi kredensial, termasuk AccessKeyId dan AccessKeySecret.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();

// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault();

// Tetapkan penyedia kredensial.
$cfg->setCredentialsProvider($credentialsProvider);

// Tetapkan wilayah.
$cfg->setRegion($region);

// Jika titik akhir disediakan, tetapkan titik akhir.
if (isset($options["endpoint"])) {
    $cfg->setEndpoint($options["endpoint"]);
}

// Buat instans klien OSS.
$client = new Oss\Client($cfg);

// Bangun permintaan PutPublicAccessBlock untuk menetapkan konfigurasi Blokir Akses Publik.
$request = new Oss\Models\PutPublicAccessBlockRequest(
    publicAccessBlockConfiguration: new Oss\Models\PublicAccessBlockConfiguration(blockPublicAccess: true) // Konfigurasikan untuk memblokir akses publik.
);

// Panggil metode putPublicAccessBlock untuk menetapkan konfigurasi Blokir Akses Publik dan terima hasil yang dikembalikan.
$result = $client->putPublicAccessBlock($request);

// Cetak hasil yang dikembalikan, termasuk kode status dan ID permintaan.
printf(
    'kode status:' . $result->statusCode . PHP_EOL .
    'ID permintaan:' . $result->requestId
);

Peroleh informasi konfigurasi Blokir Akses Publik global untuk OSS

Contoh kode berikut menunjukkan cara memperoleh informasi konfigurasi Blokir Akses Publik global.

<?php

// Impor file autoloader untuk memuat pustaka dependensi.
require_once __DIR__ . '/../vendor/autoload.php';

use AlibabaCloud\Oss\V2 as Oss;

// Tentukan deskripsi argumen baris perintah.
$optsdesc = [
    "region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // Wilayah adalah argumen yang diperlukan. Ini menentukan wilayah tempat bucket berada.
    "endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // Titik akhir adalah argumen opsional. Ini menentukan nama domain yang dapat digunakan layanan lain untuk mengakses OSS.
];

// Hasilkan daftar opsi panjang untuk mengurai argumen baris perintah.
$longopts = \array_map(function ($key) {
    return "$key:"; // Tanda titik dua (:) ditambahkan setelah setiap parameter untuk menunjukkan bahwa nilai diperlukan.
}, array_keys($optsdesc));

// Uraikan argumen baris perintah.
$options = getopt("", $longopts);

// Periksa apakah argumen yang diperlukan hilang.
foreach ($optsdesc as $key => $value) {
    if ($value['required'] === True && empty($options[$key])) {
        $help = $value['help'];
        echo "Error: argumen berikut diperlukan: --$key, $help"; // Beri tahu pengguna bahwa argumen yang diperlukan hilang.
        exit(1);
    }
}

// Dapatkan nilai argumen baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.

// Gunakan variabel lingkungan untuk memuat informasi kredensial, termasuk AccessKeyId dan AccessKeySecret.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();

// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault();

// Tetapkan penyedia kredensial.
$cfg->setCredentialsProvider($credentialsProvider);

// Tetapkan wilayah.
$cfg->setRegion($region);

// Jika titik akhir disediakan, tetapkan titik akhir.
if (isset($options["endpoint"])) {
    $cfg->setEndpoint($options["endpoint"]);
}

// Buat instans klien OSS.
$client = new Oss\Client($cfg);

// Bangun permintaan GetPublicAccessBlock untuk memperoleh konfigurasi Blokir Akses Publik.
$request = new Oss\Models\GetPublicAccessBlockRequest();

// Panggil metode getPublicAccessBlock untuk memperoleh konfigurasi Blokir Akses Publik dan terima hasil yang dikembalikan.
$result = $client->getPublicAccessBlock($request);

// Cetak hasil yang dikembalikan, termasuk kode status, ID permintaan, dan konfigurasi Blokir Akses Publik.
printf(
    'kode status:' . $result->statusCode . PHP_EOL .
    'ID permintaan:' . $result->requestId . PHP_EOL .
    'konfigurasi blokir akses publik:' . var_export($result->publicAccessBlockConfiguration, true)
);

Hapus informasi konfigurasi Blokir Akses Publik global untuk OSS

Contoh kode berikut menunjukkan cara menghapus informasi konfigurasi Blokir Akses Publik global.

<?php

// Impor file autoloader untuk memuat pustaka dependensi.
require_once __DIR__ . '/../vendor/autoload.php';

use AlibabaCloud\Oss\V2 as Oss;

// Tentukan deskripsi argumen baris perintah.
$optsdesc = [
    "region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // Wilayah adalah argumen yang diperlukan. Ini menentukan wilayah tempat bucket berada.
    "endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // Titik akhir adalah argumen opsional. Ini menentukan nama domain yang dapat digunakan layanan lain untuk mengakses OSS.
];

// Hasilkan daftar opsi panjang untuk mengurai argumen baris perintah.
$longopts = \array_map(function ($key) {
    return "$key:"; // Tanda titik dua (:) ditambahkan setelah setiap parameter untuk menunjukkan bahwa nilai diperlukan.
}, array_keys($optsdesc));

// Uraikan argumen baris perintah.
$options = getopt("", $longopts);

// Periksa apakah argumen yang diperlukan hilang.
foreach ($optsdesc as $key => $value) {
    if ($value['required'] === True && empty($options[$key])) {
        $help = $value['help'];
        echo "Error: argumen berikut diperlukan: --$key, $help"; // Beri tahu pengguna bahwa argumen yang diperlukan hilang.
        exit(1);
    }
}

// Dapatkan nilai argumen baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.

// Gunakan variabel lingkungan untuk memuat informasi kredensial, termasuk AccessKeyId dan AccessKeySecret.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();

// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault();

// Tetapkan penyedia kredensial.
$cfg->setCredentialsProvider($credentialsProvider);

// Tetapkan wilayah.
$cfg->setRegion($region);

// Jika titik akhir disediakan, tetapkan titik akhir.
if (isset($options["endpoint"])) {
    $cfg->setEndpoint($options["endpoint"]);
}

// Buat instans klien OSS.
$client = new Oss\Client($cfg);

// Bangun permintaan DeletePublicAccessBlock untuk menghapus konfigurasi Blokir Akses Publik.
$request = new Oss\Models\DeletePublicAccessBlockRequest();

// Panggil metode deletePublicAccessBlock untuk menghapus konfigurasi Blokir Akses Publik dan terima hasil yang dikembalikan.
$result = $client->deletePublicAccessBlock($request);

// Cetak hasil yang dikembalikan, termasuk kode status dan ID permintaan.
printf(
    'kode status:' . $result->statusCode . PHP_EOL .
    'ID permintaan:' . $result->requestId
);

Referensi

  • Untuk kode contoh lengkap yang digunakan untuk mengelola Blokir Akses Publik global untuk OSS, lihat GitHub.

  • Untuk informasi lebih lanjut tentang operasi API yang digunakan untuk mengaktifkan Blokir Akses Publik global untuk OSS, lihat PutPublicAccessBlock.

  • Untuk informasi lebih lanjut tentang operasi API yang digunakan untuk memperoleh informasi konfigurasi Blokir Akses Publik global, lihat GetPublicAccessBlock.

  • Untuk informasi lebih lanjut tentang operasi API yang digunakan untuk menghapus informasi konfigurasi Blokir Akses Publik global, lihat DeletePublicAccessBlock.