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 AWSconfig
pengaturan fileAWS_ENDPOINT_URL
- variabel lingkunganaws.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 AWSconfig
file untuk menetapkan titik akhir kustom untuk layanan tertentu. Untuk daftar semua kunci pengenal layanan yang akan digunakan untuk subbagian dalamservices
bagian, lihat. Pengidentifikasi untuk titik akhir khusus layananNilai 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 lingkunganaws.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 layananTitik 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 AWSconfig
pengaturan fileAWS_IGNORE_CONFIGURED_ENDPOINT_URLS
- variabel lingkunganaws.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 dariconfig
file bersama atau dari variabel lingkungan untuk mengatur titik akhirURL. -
false
— Alat SDK atau menggunakan titik akhir yang disediakan pengguna yang tersedia dariconfig
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
AWS_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
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_url
ditentukan secara langsung dalam aprofile
menjadikan titik akhir itu titik akhir global. -
endpoint_url
bersarang di bawah kunci pengenal layanan dalamservices
bagian membuat titik akhir tersebut berlaku untuk permintaan yang dibuat hanya untuk layanan tersebut. Untuk detail tentang mendefinisikanservices
bagian dalamconfig
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
[servicess3-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
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
[profiledev
] 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
[profiletesting-json
] output = json services =testing-s3
[profiletesting-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/
[profileB
] source_profile =A
role_arn =arn:aws:iam::123456789012:role/roleB
services =profileB
[servicesprofileB
] 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:
-
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.
-
-
Nilai yang diberikan oleh variabel lingkungan khusus layanan seperti.
AWS_ENDPOINT_URL_DYNAMODB
-
Nilai yang diberikan oleh variabel lingkungan endpoint
AWS_ENDPOINT_URL
global. -
Nilai yang diberikan oleh
endpoint_url
pengaturan bersarang di bawah kunci pengenal layanan dalamservices
bagian file bersamaconfig
. -
Nilai yang diberikan oleh
endpoint_url
pengaturan ditentukan langsungprofile
dalamconfig
file bersama. -
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.
SDK | Didukung | Catatan atau informasi lebih lanjut |
---|---|---|
AWS CLI v2 | Ya | |
SDKuntuk C ++ | Tidak | |
SDKuntuk Go V2 (1.x) |
Ya | |
SDKuntuk Go 1.x (V1) | Tidak | |
SDKuntuk Java 2.x | Ya | |
SDKuntuk Java 1.x | Tidak | |
SDKuntuk JavaScript 3.x | Ya | |
SDKuntuk JavaScript 2.x | Tidak | |
SDKuntuk Kotlin | Ya | |
SDKuntuk. NET3.x | Ya | |
SDKuntuk PHP 3.x | Ya | |
SDKuntuk Python (Boto3) |
Ya | |
SDKuntuk Ruby 3.x | Ya | |
SDKuntuk Rust | Tidak | |
SDKuntuk Swift | Tidak | |
Alat untuk PowerShell | Ya |