Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Multi-Region Access Points dengan operasi API yang didukung
Amazon S3 menyediakan serangkaian operasi untuk mengelola Multi-Region Access Points. Amazon S3 memproses beberapa operasi ini secara sinkron dan beberapa secara asinkron. Saat Anda menginvoke operasi asinkron, Amazon S3 terlebih dahulu akan mengotorisasi operasi yang diminta secara sinkron. Jika otorisasi berhasil, Amazon S3 akan memberikan token yang dapat Anda gunakan untuk melacak kemajuan dan hasil operasi yang diminta.
Permintaan yang dibuat melalui konsol Amazon S3 selalu sinkron. Konsol menunggu hingga permintaan selesai sebelum memperbolehkan Anda mengirimkan permintaan lain.
Anda dapat melihat status dan hasil operasi asinkron saat ini dengan menggunakan konsol, atau Anda dapat menggunakan DescribeMultiRegionAccessPointOperation di AWS CLI, AWS SDK, atau REST API. Amazon S3 memberikan token pelacakan untuk merespons operasi asinkron. Anda menyertakan token pelacakan itu sebagai argumen untuk DescribeMultiRegionAccessPointOperation. Saat Anda menyertakan token pelacakan, Amazon S3 kemudian memberikan status saat ini dan hasil operasi yang ditentukan, termasuk kesalahan atau informasi sumber daya yang relevan. Amazon S3 melakukan operasi DescribeMultiRegionAccessPointOperation secara sinkron.
Semua permintaan pesawat kontrol untuk membuat atau memelihara Multi-Region Access Point harus diarahkan ke Wil US West (Oregon) ayah. Untuk permintaan bidang data Multi-Region Access Point, Wilayah tidak perlu ditentukan. Untuk bidang kontrol failover Multi-Region Access Point, permintaan harus dialihkan ke salah satu dari lima Wilayah yang didukung. Untuk informasi selengkapnya tentang Multi-Region Wilayah yang didukung Titik Akses, lihatMulti-Region Pembatasan dan batasan Access Point.
Selain itu, Anda harus memberikan s3:ListAllMyBuckets izin kepada pengguna, peran, atau entitas AWS Identity and Access Management (IAM) lainnya yang membuat permintaan untuk mengelola Titik Multi-Region Akses.
Contoh berikut menunjukkan cara menggunakan Multi-Region Access Points dengan operasi yang kompatibel di Amazon S3.
Multi-Region Kompatibilitas Access Point dengan Layanan AWS and AWS SDK
Untuk menggunakan Multi-Region Access Point dengan aplikasi yang memerlukan nama bucket Amazon S3, gunakan Amazon Resource Name (ARN) dari Multi-Region Access Point saat membuat permintaan dengan menggunakan AWS SDK. Untuk memeriksa AWS SDK mana yang kompatibel dengan Multi-Region Access Points, lihat Kompatibilitas dengan AWS SDK.
Multi-Region Kompatibilitas Access Point dengan operasi S3
Anda dapat menggunakan operasi API bidang data Amazon S3 berikut untuk melakukan tindakan pada objek dalam bucket yang terkait dengan Multi-Region Access Point Anda. Operasi S3 berikut dapat menerima ARN Multi-Region Titik Akses:
Multi-Region Access Points mendukung operasi penyal Multi-Region inan menggunakan Access Points hanya sebagai tujuan saat menggunakan Multi-Region Access Point ARN.
Anda dapat menggunakan operasi bidang kontrol Amazon S3 berikut untuk membuat dan mengelola Multi-Region Access Point Anda:
Melihat konfigurasi routing Multi-Region Access Point
- AWS CLI
-
Contoh perintah berikut mengambil konfigurasi rute T Multi-Region itik Akses Anda sehingga Anda dapat melihat status routing saat ini untuk bucket Anda. Untuk menggunakan perintah contoh ini, ganti user input
placeholders dengan informasi Anda sendiri.
aws s3control get-multi-region-access-point-routes
--region eu-west-1
--account-id 111122223333
--mrap arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap
- SDK for Java
-
SDK untuk kode Java berikut mengambil konfigurasi rute T Multi-Region itik Akses Anda sehingga Anda dapat melihat status routing saat ini untuk bucket Anda. Untuk menggunakan contoh sintaks ini, ganti user input
placeholders dengan informasi Anda sendiri.
S3ControlClient s3ControlClient = S3ControlClient.builder()
.region(Region.US_EAST_1)
.credentialsProvider(credentialsProvider)
.build();
GetMultiRegionAccessPointRoutesRequest request = GetMultiRegionAccessPointRoutesRequest.builder()
.accountId("111122223333")
.mrap("arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap")
.build();
GetMultiRegionAccessPointRoutesResponse response = s3ControlClient.getMultiRegionAccessPointRoutes(request);
- SDK for JavaScript
-
SDK berikut untuk JavaScript kode mengambil konfigurasi rute Titik Multi-Region Akses Anda sehingga Anda dapat melihat status perutean saat ini untuk bucket Anda. Untuk menggunakan contoh sintaks ini, ganti user input
placeholders dengan informasi Anda sendiri.
const REGION = 'us-east-1'
const s3ControlClient = new S3ControlClient({
region: REGION
})
export const run = async () => {
try {
const data = await s3ControlClient.send(
new GetMultiRegionAccessPointRoutesCommand({
AccountId: '111122223333',
Mrap: 'arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap',
})
)
console.log('Success', data)
return data
} catch (err) {
console.log('Error', err)
}
}
run()
- SDK for Python
-
SDK untuk kode Python berikut mengambil konfigurasi rute T Multi-Region itik Akses Anda sehingga Anda dapat melihat status routing saat ini untuk bucket Anda. Untuk menggunakan contoh sintaks ini, ganti user input
placeholders dengan informasi Anda sendiri.
s3.get_multi_region_access_point_routes(
AccountId=111122223333,
Mrap=arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap)['Routes']
Perbarui kebijakan bucket Amazon S3
Untuk memberikan akses yang tepat, Anda juga harus memperbarui kebijakan bucket Amazon S3 yang mendasarinya. Contoh berikut mendelegasikan kontrol akses ke kebijakan Multi-Region Access Point. Setelah Anda mendelegasikan kontrol Multi-Region akses ke kebijakan Titik Akses, kebijakan bucket tidak lagi digunakan untuk kontrol akses saat permintaan dibuat melalui Titik Multi-Region Akses.
Berikut adalah contoh kebijakan bucket yang mendelegasikan kontrol akses ke kebijakan Multi-Region Access Point. Untuk menggunakan contoh kebijakan bucket ini, ganti user input
placeholders dengan informasi Anda sendiri. Untuk menerapkan kebijakan ini melalui AWS CLI put-bucket-policy perintah, seperti yang ditunjukkan pada contoh berikutnya, simpan kebijakan dalam file, misalnya,policy.json.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::444455556666:root"
},
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket",
"arn:aws:s3:::amzn-s3-demo-bucket/*"
],
"Condition": {
"StringEquals": {
"s3:DataAccessPointAccount": "444455556666"
}
}
}
]
}
Contoh perintah put-bucket-policy berikut mengaitkan kebijakan bucket S3 yang diperbarui dengan bucket S3 Anda:
aws s3api put-bucket-policy
--bucket amzn-s3-demo-bucket
--policy file:///tmp/policy.json
Memperbarui konfigurasi rute Titik Multi-Region Akses
Perintah contoh berikut memperbarui konfigurasi rute Multi-Region Titik Akses. Multi-Region Perintah rute Access Point dapat dijalankan terhadap lima Wilayah berikut:
-
ap-southeast-2
-
ap-northeast-1
-
us-east-1
-
us-west-2
-
eu-west-1
Dalam konfigurasi routing Multi-Region Access Point, Anda dapat mengatur bucket ke status routing aktif atau pasif. Bucket aktif menerima lalu lintas, sedangkan bucket pasif tidak. Anda dapat menyetel status perutean bucket dengan mengatur nilai TrafficDialPercentage bucket ke 100 untuk aktif atau 0 untuk pasif.
- AWS CLI
-
Perintah contoh berikut memperbarui konfigurasi routing Multi-Region Access Point Anda. Dalam contoh ini, amzn-s3-demo-bucket1 diatur ke status aktif dan amzn-s3-demo-bucket2 diatur ke pasif. Untuk menggunakan contoh perintah ini, ganti user input placeholders dengan informasi Anda sendiri.
aws s3control submit-multi-region-access-point-routes
--region ap-southeast-2
--account-id 111122223333
--mrap arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap
--route-updates Bucket=amzn-s3-demo-bucket1,TrafficDialPercentage=100
Bucket=amzn-s3-demo-bucket2,TrafficDialPercentage=0
- SDK for Java
-
SDK untuk kode Java berikut memperbarui konfigurasi routing Multi-Region Access Point Anda. Untuk menggunakan contoh sintaks ini, ganti user input
placeholders dengan informasi Anda sendiri.
S3ControlClient s3ControlClient = S3ControlClient.builder()
.region(Region.ap-southeast-2)
.credentialsProvider(credentialsProvider)
.build();
SubmitMultiRegionAccessPointRoutesRequest request = SubmitMultiRegionAccessPointRoutesRequest.builder()
.accountId("111122223333")
.mrap("arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap")
.routeUpdates(
MultiRegionAccessPointRoute.builder()
.region("eu-west-1")
.trafficDialPercentage(100)
.build(),
MultiRegionAccessPointRoute.builder()
.region("ca-central-1")
.bucket("111122223333")
.trafficDialPercentage(0)
.build()
)
.build();
SubmitMultiRegionAccessPointRoutesResponse response = s3ControlClient.submitMultiRegionAccessPointRoutes(request);
- SDK for JavaScript
-
SDK berikut untuk JavaScript kode memperbarui konfigurasi rute T Multi-Region itik Akses Anda. Untuk menggunakan contoh sintaks ini, ganti user input
placeholders dengan informasi Anda sendiri.
const REGION = 'ap-southeast-2'
const s3ControlClient = new S3ControlClient({
region: REGION
})
export const run = async () => {
try {
const data = await s3ControlClient.send(
new SubmitMultiRegionAccessPointRoutesCommand({
AccountId: '111122223333',
Mrap: 'arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap',
RouteUpdates: [
{
Region: 'eu-west-1',
TrafficDialPercentage: 100,
},
{
Region: 'ca-central-1',
Bucket: 'amzn-s3-demo-bucket1',
TrafficDialPercentage: 0,
},
],
})
)
console.log('Success', data)
return data
} catch (err) {
console.log('Error', err)
}
}
run()
- SDK for Python
-
SDK untuk kode Python berikut memperbarui konfigurasi rute T Multi-Region itik Akses Anda. Untuk menggunakan contoh sintaks ini, ganti user input
placeholders dengan informasi Anda sendiri.
s3.submit_multi_region_access_point_routes(
AccountId=111122223333,
Mrap=arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap,
RouteUpdates= [{
'Bucket': amzn-s3-demo-bucket,
'Region': ap-southeast-2,
'TrafficDialPercentage': 10
}])
Menambahkan objek ke bucket di Multi-Region Access Point
Untuk menambahkan objek ke bucket yang terkait dengan Multi-Region Access Point, Anda dapat menggunakan PutObject operasi. Agar semua bucket di Multi-Region Access Point tetap sinkron, aktifkan Cross-Region Replikasi.
Untuk menggunakan operasi ini, Anda harus memiliki s3:PutObject izin untuk Titik Multi-Region Akses. Untuk informasi selengkapnya tentang persyaratan izin Multi-Region Access Point, lihatIzin.
- AWS CLI
-
Contoh berikut permintaan pesawat data diunggah example.txt ke Multi-Region Access Point yang ditentukan. Untuk menggunakan contoh ini, ganti user input
placeholdersdengan informasi Anda sendiri.
aws s3api put-object --bucket arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap --key example.txt --body example.txt
- SDK for Java
-
S3Client s3Client = S3Client.builder()
.build();
PutObjectRequest objectRequest = PutObjectRequest.builder()
.bucket("arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap")
.key("example.txt")
.build();
s3Client.putObject(objectRequest, RequestBody.fromString("Hello S3!"));
- SDK for JavaScript
-
const client = new S3Client({});
async function putObjectExample() {
const command = new PutObjectCommand({
Bucket: "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap",
Key: "example.txt",
Body: "Hello S3!",
});
try {
const response = await client.send(command);
console.log(response);
} catch (err) {
console.error(err);
}
}
- SDK for Python
-
import boto3
client = boto3.client('s3')
client.put_object(
Bucket='arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap',
Key='example.txt',
Body='Hello S3!'
)
Mengambil objek dari Multi-Region Access Point
Untuk mengambil objek dari Multi-Region Access Point, Anda dapat menggunakan GetObject operasi.
Untuk menggunakan operasi API ini, Anda harus memiliki s3:GetObject izin untuk Titik Multi-Region Akses. Untuk informasi selengkapnya tentang persyaratan izin Multi-Region Access Point, lihatIzin.
- AWS CLI
-
Contoh permintaan bidang data berikut mengambil example.txt dari Multi-Region Access Point yang ditentukan dan mengunduhnya sebagaidownloaded_example.txt. Untuk menggunakan contoh ini, ganti user input
placeholdersdengan informasi Anda sendiri.
aws s3api get-object --bucket arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap --key example.txt downloaded_example.txt
- SDK for Java
-
S3Client s3 = S3Client
.builder()
.build();
GetObjectRequest getObjectRequest = GetObjectRequest.builder()
.bucket("arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap")
.key("example.txt")
.build();
s3Client.getObject(getObjectRequest);
- SDK for JavaScript
-
const client = new S3Client({})
async function getObjectExample() {
const command = new GetObjectCommand({
Bucket: "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap",
Key: "example.txt"
});
try {
const response = await client.send(command);
console.log(response);
} catch (err) {
console.error(err);
}
}
- SDK for Python
-
import boto3
client = boto3.client('s3')
client.get_object(
Bucket='arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap',
Key='example.txt'
)
Daftar objek yang disimpan dalam bucket yang mendasari Multi-Region Access Point
Untuk mengembalikan daftar objek yang disimpan dalam bucket yang mendasari Multi-Region Access Point Anda, gunakan ListObjectsV2 operasi. Dalam contoh perintah berikut, semua objek untuk Multi-Region Access Point yang ditentukan dicantumkan dengan menggunakan ARN untuk Multi-Region Access Point. Dalam hal ini, Multi-Region Access Point ARN adalah:
arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap
Untuk menggunakan operasi API ini, Anda harus memiliki s3:ListBucket izin untuk Multi-Region Access Point dan bucket yang mendasarinya. Untuk informasi selengkapnya tentang persyaratan izin Multi-Region Access Point, lihatIzin.
- AWS CLI
-
Contoh permintaan bidang data berikut mencantumkan objek dalam bucket yang mendasari Multi-Region Access Point yang ditentukan oleh ARN. Untuk menggunakan contoh ini, ganti user input placeholdersdengan informasi Anda sendiri.
aws s3api list-objects-v2 --bucket arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap
- SDK for Java
-
S3Client s3Client = S3Client.builder()
.build();
String bucketName = "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap";
ListObjectsV2Request listObjectsRequest = ListObjectsV2Request
.builder()
.bucket(bucketName)
.build();
s3Client.listObjectsV2(listObjectsRequest);
- SDK for JavaScript
-
const client = new S3Client({});
async function listObjectsExample() {
const command = new ListObjectsV2Command({
Bucket: "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap",
});
try {
const response = await client.send(command);
console.log(response);
} catch (err) {
console.error(err);
}
}
- SDK for Python
-
import boto3
client = boto3.client('s3')
client.list_objects_v2(
Bucket='arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap'
)
Gunakan URL yang telah ditandatangani sebelumnya dengan Multi-Region Access Points
Anda dapat menggunakan URL yang telah ditandatangani sebelumnya untuk membuat URL yang memungkinkan orang lain mengakses bucket Amazon S3 Anda melalui Titik Akses Amazon S3 Multi-Region . Saat membuat URL yang telah ditetapkan sebelumnya, kaitkan dengan tindakan objek tertentu, seperti unggah S3 (PutObject) atau unduhan S3 (GetObject). Anda dapat membagikan URL yang telah ditetapkan sebelumnya, dan siapa pun yang memiliki akses ke URL dapat melakukan tindakan yang disertakan dalam URL seolah-olah mereka adalah pengguna yang membuat URL sendiri.
URL yang telah ditetapkan sebelumnya memiliki masa berlaku. Ketika masa berlaku habis, URL tidak akan berfungsi lagi.
Sebelum Anda menggunakan S3 Multi-Region Access Points dengan URL yang telah ditandatangani sebelumnya, periksa kompatibilitas AWS SDK dengan algoritma SigV4A. Verifikasi bahwa versi SDK Anda mendukung Sigv4A sebagai implementasi penandatanganan yang digunakan untuk menandatangani permintaan global Wilayah AWS . Untuk informasi selengkapnya tentang penggunaan URL yang telah ditetapkan sebelumnya dengan Amazon S3, lihat Berbagi objek menggunakan URL yang telah ditetapkan sebelumnya.
Contoh berikut menunjukkan bagaimana Anda dapat menggunakan Poin Multi-Region Akses dengan URL yang telah ditandatangani sebelumnya. Untuk menggunakan contoh ini, ganti user input placeholders dengan informasi Anda sendiri.
- AWS CLI
-
aws s3 presign arn:aws:s3::123456789012:accesspoint/MultiRegionAccessPoint_alias/example-file.txt
- SDK for Python
-
import logging
import boto3
from botocore.exceptions import ClientError
s3_client = boto3.client('s3',aws_access_key_id='xxx',aws_secret_access_key='xxx')
s3_client.generate_presigned_url(HttpMethod='PUT',ClientMethod="put_object", Params={'Bucket':'arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap','Key':'example-file'})
- SDK for Java
-
S3Presigner s3Presigner = S3Presigner.builder()
.credentialsProvider(StsAssumeRoleCredentialsProvider.builder()
.refreshRequest(assumeRole)
.stsClient(stsClient)
.build())
.build();
GetObjectRequest getObjectRequest = GetObjectRequest.builder()
.bucket("arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap")
.key("example-file")
.build();
GetObjectPresignRequest preSignedReq = GetObjectPresignRequest.builder()
.getObjectRequest(getObjectRequest)
.signatureDuration(Duration.ofMinutes(10))
.build();
PresignedGetObjectRequest presignedGetObjectRequest = s3Presigner.presignGetObject(preSignedReq);
Untuk menggunakan SigV4a dengan kredensi keamanan sementara — misalnya, saat menggunakan peran IAM — pastikan Anda meminta kredentif sementara dari titik akhir Regional di AWS Security Token Service (), bukan titik akhir global.AWS STS Jika Anda menggunakan titik akhir global untuk AWS STS (sts.amazonaws.com), AWS STS akan menghasilkan kredenSIAL sementara dari titik akhir global, yang tidak didukung oleh Sig4A. Akibatnya, akan terjadi kesalahan. Untuk mengatasi masalah ini, gunakan salah satu titik akhir Regional yang terdaftar untuk AWS STS.
Gunakan bucket yang dikonfigurasi dengan Requester Pays with Multi-Region Access Points
Jika bucket S3 yang terkait dengan Multi-Region Access Points Anda di konfigurasi untuk menggunakan Requester Pays, pemohon akan membayar permintaan bucket, unduhan, dan biaya terkait Poin Multi-Region Akses. Untuk informasi selengkapnya, lihat Harga Amazon S3.
Berikut adalah contoh permintaan pesawat data ke Multi-Region Access Point yang terhubung ke bucket Requester Pays.
- AWS CLI
-
Untuk mengunduh objek dari Multi-Region Access Point yang terhubung ke bucket Requester Pays, Anda harus menentukan --request-payer requester sebagai bagian dari get-object permintaan Anda. Anda juga harus menentukan nama file di dalam bucket dan lokasi penyimpanan file yang diunduh.
aws s3api get-object --bucket MultiRegionAccessPoint_ARN --request-payer requester --key example-file-in-bucket.txt example-location-of-downloaded-file.txt
- SDK for Java
-
Untuk mengunduh objek dari Multi-Region Access Point yang terhubung ke bucket Requester Pays, Anda harus menentukannya RequestPayer.REQUESTER sebagai bagian dari GetObject permintaan Anda. Anda juga harus menentukan nama file dalam bucket, serta lokasi penyimpanannya.
GetObjectResponse getObjectResponse = s3Client.getObject(GetObjectRequest.builder()
.key("example-file.txt")
.bucket("arn:aws:s3::
123456789012:accesspoint/abcdef0123456.mrap")
.requestPayer(RequestPayer.REQUESTER)
.build()
).response();