View a markdown version of this page

Service-specific titik akhir - AWS SDK dan Alat

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Service-specific titik akhir

catatan

Untuk bantuan dalam memahami tata letak halaman pengaturan, atau dalam menafsirkan tabel AWS Dukungan oleh SDK dan alat berikut, lihatMemahami halaman pengaturan panduan ini.

Service-specific konfigurasi titik akhir menyediakan opsi untuk menggunakan titik akhir yang Anda pilih untuk permintaan API dan agar pilihan itu tetap ada. Pengaturan ini memberikan fleksibilitas untuk mendukung titik akhir lokal, titik akhir VPC, dan lingkungan pengembangan lokal AWS pihak ketiga. Titik akhir yang berbeda dapat digunakan untuk pengujian dan lingkungan produksi. Anda dapat menentukan URL titik akhir untuk individu Layanan AWS.

Konfigurasikan fungsi ini dengan menggunakan yang berikut:

endpoint_url- pengaturan AWS config file bersama
AWS_ENDPOINT_URL- variabel lingkungan
aws.endpointUrl- Properti sistem JVM: hanya Java/Kotlin

Ketika ditentukan langsung dalam profil atau sebagai variabel lingkungan, pengaturan ini menentukan titik akhir yang digunakan untuk semua permintaan layanan. Titik akhir ini diganti oleh setiap titik akhir khusus layanan yang dikonfigurasi.

Anda juga dapat menggunakan pengaturan ini dalam services bagian AWS config file bersama untuk menetapkan titik akhir khusus untuk layanan tertentu. Untuk daftar semua kunci pengidentifikasi layanan yang akan digunakan untuk subbagian dalam services bagian, lihatPengidentifikasi untuk titik akhir khusus layanan.

Nilai default: none

Nilai yang valid: URL termasuk skema dan host untuk titik akhir. URL dapat secara opsional berisi komponen jalur yang berisi satu atau lebih segmen jalur.

AWS_ENDPOINT_URL_<SERVICE>- variabel lingkungan
aws.endpointUrl<ServiceName>- Properti sistem JVM: hanya Java/Kotlin

AWS_ENDPOINT_URL_<SERVICE>, di <SERVICE> mana pen Layanan AWS gidentifikasi, menetapkan titik akhir khusus untuk layanan tertentu. Untuk daftar semua variabel lingkungan khusus layanan, lihat. Pengidentifikasi untuk titik akhir khusus layanan

Titik akhir khusus layanan ini mengesampingkan setiap titik akhir global yang ditetapkan. AWS_ENDPOINT_URL

Nilai default: none

Nilai yang valid: URL termasuk skema dan host untuk titik akhir. URL dapat secara opsional berisi komponen jalur yang berisi satu atau lebih segmen jalur.

ignore_configured_endpoint_urls- pengaturan AWS config file bersama
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS- variabel lingkungan
aws.ignoreConfiguredEndpointUrls- Properti sistem JVM: hanya Java/Kotlin

Pengaturan ini digunakan untuk mengabaikan semua konfigurasi titik akhir khusus.

Perhatikan bahwa setiap titik akhir eksplisit yang ditetapkan dalam kode atau pada klien layanan itu sendiri digunakan terlepas dari pengaturan ini. Misalnya, menyertakan parameter baris --endpoint-url perintah dengan AWS CLI perintah atau meneruskan URL titik akhir ke konstruktor klien akan selalu berlaku.

Nilai default: false

Nilai yang valid:

  • true- SDK atau alat tidak membaca opsi konfigurasi khusus apa pun dari config file bersama atau dari variabel lingkungan untuk mengatur URL titik akhir.

  • false— SDK atau alat menggunakan titik akhir yang disediakan pengguna yang tersedia dari config file bersama atau dari variabel lingkungan.

Konfigurasikan titik akhir menggunakan variabel lingkungan

Untuk merutekan permintaan untuk semua layanan ke URL titik akhir khusus, tetapkan variabel lingkungan AWS_ENDPOINT_URL global.

export AWS_ENDPOINT_URL=http://localhost:4567

Untuk merutekan permintaan tertentu Layanan AWS ke URL titik akhir khusus, gunakan variabel AWS_ENDPOINT_URL_<SERVICE> lingkungan. Amazon DynamoDB memiliki satu serviceId dari DynamoDB. Untuk layanan ini, variabel lingkungan URL titik akhir adalahAWS_ENDPOINT_URL_DYNAMODB. Titik akhir ini diutamakan daripada titik akhir global yang ditetapkan AWS_ENDPOINT_URL untuk layanan ini.

export AWS_ENDPOINT_URL_DYNAMODB=http://localhost:5678

Sebagai contoh lain, AWS Elastic Beanstalk memiliki a serviceId of Elastic Beanstalk. Pen Layanan AWS gidentifikasi didasarkan pada model API serviceId dengan mengganti semua spasi dengan garis bawah dan huruf besar semua huruf. Untuk mengatur titik akhir untuk layanan ini, variabel lingkungan yang sesuai adalahAWS_ENDPOINT_URL_ELASTIC_BEANSTALK. Untuk daftar semua variabel lingkungan khusus layanan, lihat. Pengidentifikasi untuk titik akhir khusus layanan

export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:5567

Konfigurasikan titik akhir menggunakan yang dibagikan config file

Dalam config file bersama, endpoint_url digunakan di tempat yang berbeda untuk fungsionalitas yang berbeda.

  • endpoint_urlditentukan langsung di dalam a profile menjadikan titik akhir itu titik akhir global.

  • endpoint_urlbersarang di bawah kunci pengidentifikasi layanan dalam services bagian membuat titik akhir itu berlaku untuk permintaan yang dibuat hanya untuk layanan itu. Untuk detail tentang menentukan services bagian dalam config file bersama Anda, lihatFormat file konfigurasi.

Contoh berikut menggunakan services definisi untuk mengonfigurasi URL titik akhir khusus layanan yang akan digunakan untuk Amazon S3 dan titik akhir global kustom untuk digunakan untuk semua layanan lainnya:

[profile dev-s3-specific-and-global] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = https://play.min.io:9000

Profil tunggal dapat mengonfigurasi titik akhir untuk beberapa layanan. Contoh ini menunjukkan cara menyetel URL titik akhir khusus layanan untuk Amazon S3 dan AWS Elastic Beanstalk di profil yang sama. AWS Elastic Beanstalk memiliki satu serviceId dari Elastic Beanstalk. Pen Layanan AWS gidentifikasi didasarkan pada model API serviceId dengan mengganti semua spasi dengan garis bawah dan mengurangi semua huruf. Dengan demikian, kunci pengidentifikasi layanan menjadi elastic_beanstalk dan pengaturan untuk layanan ini dimulai pada bariselastic_beanstalk = . Untuk daftar semua kunci pengidentifikasi layanan yang akan digunakan di services bagian ini, lihatPengidentifikasi untuk titik akhir khusus layanan.

[services testing-s3-and-eb] s3 = endpoint_url = http://localhost:4567 elastic_beanstalk = endpoint_url = http://localhost:8000 [profile dev] services = testing-s3-and-eb

Bagian konfigurasi layanan dapat digunakan dari beberapa profil. Misalnya, dua profil dapat menggunakan services definisi yang sama sambil mengubah properti profil lainnya:

[services testing-s3] s3 = endpoint_url = https://localhost:4567 [profile testing-json] output = json services = testing-s3 [profile testing-text] output = text services = testing-s3

Konfigurasikan titik akhir dalam profil menggunakan kredenSIAL berbasis peran

Jika profil Anda memiliki kredentif berbasis peran yang dikonfigurasi melalui source_profile parameter untuk fungsionalitas peran asumsi IAM, SDK hanya menggunakan konfigurasi layanan untuk profil yang ditentukan. Itu tidak menggunakan profil yang dirantai peran padanya. Misalnya, menggunakan config file bersama berikut:

[profile A] credential_source = Ec2InstanceMetadata endpoint_url = https://profile-a-endpoint.aws/ [profile B] source_profile = A role_arn = arn:aws:iam::123456789012:role/roleB services = profileB [services profileB] ec2 = endpoint_url = https://profile-b-ec2-endpoint.aws

Jika Anda menggunakan profil B dan melakukan panggilan dalam kode Anda ke Amazon EC2, titik akhir diselesaikan sebagai. https://profile-b-ec2-endpoint.aws Jika kode Anda membuat permintaan ke layanan lain, resolusi titik akhir tidak akan mengikuti logika khusus apa pun. Titik akhir tidak diselesaikan ke titik akhir global yang ditentukan dalam profilA. Agar titik akhir global berlaku untuk profilB, Anda harus mengatur endpoint_url langsung di dalam profilB. Untuk informasi lebih lanjut tentang source_profile pengaturan, lihatAsumsikan peran penyedia kredensia.

Prioritas pengaturan

Pengaturan untuk fitur ini dapat digunakan pada saat yang sama tetapi hanya satu nilai yang akan diprioritaskan per layanan. Untuk panggilan API yang dilakukan ke tertentu Layanan AWS, urutan berikut digunakan untuk memilih nilai:

  1. Setiap pengaturan eksplisit yang ditetapkan dalam kode atau pada klien layanan itu sendiri diutamakan daripada yang lain.

    • Untuk AWS CLI, ini adalah nilai yang disediakan oleh parameter baris --endpoint-url perintah. Untuk SDK, penugasan eksplisit dapat mengambil bentuk parameter yang Anda tetapkan saat Anda membuat instance Layanan AWS klien atau objek konfigurasi.

  2. Nilai yang disediakan oleh variabel lingkungan khusus layanan seperti. AWS_ENDPOINT_URL_DYNAMODB

  3. Nilai yang disediakan oleh variabel lingkungan titik akhir AWS_ENDPOINT_URL global.

  4. Nilai yang disediakan oleh endpoint_url pengaturan yang bersarang di bawah kunci pengenal layanan di dalam services bagian config file bersama.

  5. Nilai yang disediakan oleh endpoint_url pengaturan yang ditentukan langsung di profile dalam config file bersama.

  6. Setiap URL titik akhir default untuk masing-masing Layanan AWS digunakan terakhir.

Dukungan oleh AWS SDK dan alat

SDK berikut mendukung fitur dan pengaturan yang dijelaskan dalam topik ini. Setiap pengecualian sebagian dicatat. Setiap pengaturan properti sistem JVM didukung oleh AWS SDK untuk Java dan AWS SDK untuk Kotlin satu-satunya.