Titik akhir khusus layanan - AWS SDKsdan Alat

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

Titik akhir khusus layanan

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

Konfigurasikan fungsi ini dengan menggunakan yang berikut ini:

endpoint_url- dibagikan AWS configpengaturan file
AWS_ENDPOINT_URL- variabel lingkungan
aws.endpointUrl- properti JVM sistem: 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 titik akhir khusus layanan yang dikonfigurasi.

Anda juga dapat menggunakan setelan ini dalam services bagian yang dibagikan AWS configfile untuk menetapkan titik akhir kustom untuk layanan tertentu. Untuk daftar semua kunci pengenal layanan yang akan digunakan untuk subbagian dalam services bagian, lihat. Pengidentifikasi untuk titik akhir khusus layanan

Nilai default: none

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

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

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

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

Nilai default: none

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

ignore_configured_endpoint_urls- dibagikan AWS configpengaturan file
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS- variabel lingkungan
aws.ignoreConfiguredEndpointUrls- properti JVM sistem: Hanya Java/Kotlin

Pengaturan ini digunakan untuk mengabaikan semua konfigurasi titik akhir kustom.

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

Nilai default: false

Nilai yang valid:

  • true— Alat SDK atau tidak membaca opsi konfigurasi khusus apa pun dari config file bersama atau dari variabel lingkungan untuk mengatur titik akhirURL.

  • false— Alat SDK atau 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 semua layanan ke titik akhir kustomURL, tetapkan variabel lingkungan AWS_ENDPOINT_URL global.

export AWS_ENDPOINT_URL=http://localhost:4567

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

export AWS_ENDPOINT_URL_DYNAMODB=http://localhost:5678

Sebagai contoh lain, AWS Elastic Beanstalk memiliki serviceId dari Elastic Beanstalk. Bagian Layanan AWS identifier didasarkan pada API model serviceId dengan mengganti semua spasi dengan garis bawah dan huruf atas 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 file bersama config

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

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

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

Contoh berikut menggunakan services definisi untuk mengonfigurasi titik akhir khusus layanan yang akan digunakan URL untuk Amazon S3 dan titik akhir global khusus yang akan 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

Satu profil dapat mengonfigurasi titik akhir untuk beberapa layanan. Contoh ini menunjukkan cara menyetel titik akhir khusus layanan untuk Amazon URLs S3 dan AWS Elastic Beanstalk dalam profil yang sama. AWS Elastic Beanstalk memiliki serviceId dari Elastic Beanstalk. Bagian Layanan AWS identifier didasarkan pada API model serviceId dengan mengganti semua spasi dengan garis bawah dan huruf kecil semua huruf. Dengan demikian, kunci pengidentifikasi layanan menjadi elastic_beanstalk dan pengaturan untuk layanan ini dimulai pada teleponelastic_beanstalk = . Untuk daftar semua kunci pengenal 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 di profil menggunakan kredensyal berbasis peran

Jika profil Anda memiliki kredenal berbasis peran yang dikonfigurasi melalui source_profile parameter untuk fungsi peran IAM asumsikan, SDK hanya menggunakan konfigurasi layanan untuk profil yang ditentukan. Itu tidak menggunakan profil yang dirantai peran untuk itu. 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 membuat panggilan dalam kode Anda ke AmazonEC2, titik akhir akan diselesaikan sebagai. https://profile-b-ec2-endpoint.aws Jika kode Anda membuat permintaan ke layanan lain, resolusi titik akhir tidak akan mengikuti logika kustom apa pun. Titik akhir tidak menyelesaikan titik akhir global yang ditentukan dalam profil. A Agar titik akhir global berlaku untuk profilB, Anda perlu mengatur endpoint_url langsung di dalam profilB. Untuk informasi lebih lanjut tentang source_profile pengaturan, lihatAsumsikan penyedia kredensi peran.

Prioritas pengaturan

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

  1. Pengaturan eksplisit apa pun yang disetel dalam kode atau pada klien layanan itu sendiri lebih diutamakan daripada yang lain.

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

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

  3. Nilai yang diberikan oleh variabel lingkungan endpoint AWS_ENDPOINT_URL global.

  4. Nilai yang diberikan oleh endpoint_url pengaturan bersarang di bawah kunci pengenal layanan dalam services bagian file bersamaconfig.

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

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

Kompatibilitas dengan AWS SDKs

Berikut ini SDKs mendukung fitur dan pengaturan yang dijelaskan dalam topik ini. Setiap pengecualian sebagian dicatat. Pengaturan properti JVM sistem apa pun didukung oleh AWS SDK for Java dan AWS SDK for Kotlin hanya.