

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

# Konfigurasi AWS SDKs dan alat secara global
<a name="creds-config-files"></a>

Dengan AWS SDKs dan alat AWS pengembang lainnya, seperti AWS Command Line Interface (AWS CLI), Anda dapat berinteraksi dengan AWS layanan APIs. Namun, sebelum mencobanya, Anda harus mengonfigurasi SDK atau alat dengan informasi yang diperlukan untuk melakukan operasi yang diminta. 

Informasi ini mencakup item-item berikut:
+ **Informasi kredensional** yang mengidentifikasi siapa yang memanggil API. Kredensialnya digunakan untuk mengenkripsi permintaan ke server. AWS Dengan menggunakan informasi ini, AWS mengonfirmasi identitas Anda dan dapat mengambil kebijakan izin yang terkait dengannya. Kemudian dapat menentukan tindakan apa yang diizinkan untuk Anda lakukan.
+ **Detail konfigurasi lain** yang Anda gunakan untuk memberi tahu AWS CLI atau SDK cara memproses permintaan, ke mana harus mengirim permintaan (ke titik akhir AWS layanan mana), dan cara menafsirkan atau menampilkan respons.

Setiap SDK atau alat mendukung beberapa sumber yang dapat Anda gunakan untuk menyediakan informasi kredensi dan konfigurasi yang diperlukan. Beberapa sumber unik untuk SDK atau alat, dan Anda harus merujuk ke dokumentasi untuk alat atau SDK tersebut untuk detail tentang cara menggunakan metode tersebut.

Namun, alat AWS SDKs dan mendukung pengaturan umum dari sumber utama di luar kode itu sendiri. Bagian ini mencakup topik-topik berikut:

**Topics**
+ [Menggunakan `credentials` file bersama `config` dan untuk mengkonfigurasi AWS SDKs dan alat secara global](file-format.md)
+ [Menemukan dan mengubah lokasi berbagi `config` dan `credentials` file AWS SDKs dan alat](file-location.md)
+ [Menggunakan variabel lingkungan untuk mengkonfigurasi AWS SDKs dan alat secara global](environment-variables.md)
+ [Menggunakan properti sistem JVM untuk mengkonfigurasi dan AWS SDK untuk Java AWS SDK untuk Kotlin](jvm-system-properties.md)

# Menggunakan `credentials` file bersama `config` dan untuk mengkonfigurasi AWS SDKs dan alat secara global
<a name="file-format"></a>

File bersama AWS `config` dan `credentials` file adalah cara paling umum yang dapat Anda tentukan otentikasi dan konfigurasi ke AWS SDK atau alat.

`credentials`File yang dibagikan `config` dan berisi satu set profil. Profil adalah seperangkat pengaturan konfigurasi, dalam pasangan kunci-nilai, yang digunakan oleh AWS SDKs, AWS Command Line Interface (AWS CLI), dan alat lainnya. Nilai konfigurasi dilampirkan ke profil untuk mengonfigurasi beberapa aspek SDK/tool kapan profil itu digunakan. File-file ini “dibagikan” karena nilai mempengaruhi aplikasi, proses, atau SDKs lingkungan lokal apa pun untuk pengguna.

Baik file bersama `config` maupun `credentials` file adalah file teks biasa yang hanya berisi karakter ASCII (dikodekan UTF-8). Mereka mengambil bentuk apa yang umumnya disebut sebagai [file INI](https://wikipedia.org/wiki/INI_file).

## Profil
<a name="file-format-profile"></a>

Pengaturan dalam `credentials` file bersama `config` dan dikaitkan dengan profil tertentu. Beberapa profil dapat didefinisikan dalam file untuk membuat konfigurasi pengaturan yang berbeda untuk diterapkan di lingkungan pengembangan yang berbeda.

 `[default]`Profil berisi nilai yang digunakan oleh SDK atau operasi alat jika profil bernama tertentu tidak ditentukan. Anda juga dapat membuat profil terpisah yang dapat Anda referensikan secara eksplisit berdasarkan nama. Setiap profil dapat menggunakan pengaturan dan nilai yang berbeda sesuai kebutuhan aplikasi dan skenario Anda. 

**catatan**  
`[default]`hanyalah profil yang tidak disebutkan namanya. Profil ini dinamai `default` karena merupakan profil default yang digunakan oleh SDK jika pengguna tidak menentukan profil. Itu tidak memberikan nilai default yang diwariskan ke profil lain. Jika Anda menyetel sesuatu di `[default]` profil dan Anda tidak mengaturnya di profil bernama, maka nilainya tidak disetel saat Anda menggunakan profil bernama. 

### Menetapkan profil bernama
<a name="set-named-profile"></a>

`[default]`Profil dan beberapa profil bernama dapat ada dalam file yang sama. Gunakan pengaturan berikut untuk memilih pengaturan profil mana yang digunakan oleh SDK atau alat Anda saat menjalankan kode Anda. Profil juga dapat dipilih dalam kode, atau per-perintah saat bekerja dengan file. AWS CLI

Konfigurasikan fungsionalitas ini dengan mengatur salah satu dari berikut ini:

**`AWS_PROFILE`- variabel lingkungan**  
Ketika variabel lingkungan ini diatur ke profil bernama atau “default”, semua kode SDK dan AWS CLI perintah menggunakan pengaturan di profil itu.  
Linux/macOS contoh pengaturan variabel lingkungan melalui baris perintah:  

```
export AWS_PROFILE="my_default_profile_name";
```
Contoh Windows pengaturan variabel lingkungan melalui baris perintah:  

```
setx AWS_PROFILE "my_default_profile_name"
```

**`aws.profile`- Properti sistem JVM**  
[Untuk SDK untuk Kotlin di JVM dan SDK for Java 2.x, Anda dapat mengatur properti sistem. `aws.profile`](jvm-system-properties.md#jvm-sys-props-set) Saat SDK membuat klien layanan, SDK menggunakan pengaturan di profil bernama kecuali pengaturan diganti dalam kode. SDK for Java 1.x tidak mendukung properti sistem ini.

**catatan**  
Jika aplikasi Anda berada di server yang menjalankan beberapa aplikasi, kami sarankan Anda selalu menggunakan profil bernama daripada profil default. Profil default secara otomatis diambil oleh AWS aplikasi apa pun di lingkungan dan dibagikan di antara mereka. Jadi, jika orang lain memperbarui profil default untuk aplikasi mereka, itu dapat secara tidak sengaja memengaruhi yang lain. Untuk melindungi terhadap hal ini, tentukan profil bernama dalam `config` file bersama dan kemudian gunakan profil bernama itu di aplikasi Anda dengan menyetel profil bernama dalam kode Anda. Anda dapat menggunakan variabel lingkungan atau properti sistem JVM untuk mengatur profil bernama jika Anda tahu bahwa cakupannya hanya memengaruhi aplikasi Anda.

## Format file konfigurasi
<a name="file-format-config"></a>

`config`File ini disusun menjadi beberapa bagian. Bagian adalah kumpulan pengaturan bernama, dan berlanjut sampai garis definisi bagian lain ditemukan.

`config`File tersebut adalah file plaintext yang menggunakan format berikut:
+ Semua entri dalam suatu bagian mengambil bentuk umum dari. `setting-name=value`
+ Baris dapat dikomentari dengan memulai baris dengan karakter hashtag ()`#`.

### Jenis bagian
<a name="section-types"></a>

Definisi bagian adalah garis yang menerapkan nama ke kumpulan pengaturan. Garis definisi bagian dimulai dan diakhiri dengan tanda kurung siku (`[``]`). Di dalam tanda kurung, ada pengidentifikasi tipe bagian dan nama khusus untuk bagian tersebut. Anda dapat menggunakan huruf, angka, tanda hubung (`-`), dan garis bawah (`_`), tetapi tidak ada spasi.

#### Jenis bagian: `default`
<a name="section-default"></a>

Contoh baris definisi bagian: `[default]`

 `[default]`adalah satu-satunya profil yang tidak memerlukan pengenal `profile` bagian. 

Contoh berikut menunjukkan `config` file dasar dengan `[default]` profil. Ini mengatur [`region`](feature-region.md)pengaturan. Semua pengaturan yang mengikuti baris ini, hingga definisi bagian lain ditemukan, adalah bagian dari profil ini. 

```
[default]
#Full line comment, this text is ignored.
region = us-east-2
```

#### Jenis bagian: `profile`
<a name="section-profile"></a>

Contoh baris definisi bagian: `[profile dev]`

Garis definisi `profile` bagian adalah pengelompokan konfigurasi bernama yang dapat Anda terapkan untuk skenario pengembangan yang berbeda. Untuk lebih memahami profil bernama, lihat bagian sebelumnya di Profil. 

Contoh berikut menunjukkan `config` file dengan garis definisi `profile` bagian dan profil bernama bernama`foo`. Semua pengaturan yang mengikuti baris ini, hingga definisi bagian lain ditemukan, adalah bagian dari profil bernama ini. 

```
[profile foo]
...settings...
```

Beberapa pengaturan memiliki grup subpengaturan bersarang sendiri, seperti pengaturan dan `s3` subpengaturan dalam contoh berikut. Kaitkan subpengaturan dengan grup dengan membuat indentasi dengan satu spasi atau lebih.

```
[profile test]
region = us-west-2
s3 =
    max_concurrent_requests=10
    max_queue_size=1000
```

#### Jenis bagian: `sso-session`
<a name="section-session"></a>

Contoh baris definisi bagian: `[sso-session my-sso]`

Baris definisi `sso-session` bagian menamai sekelompok pengaturan yang Anda gunakan untuk mengonfigurasi profil untuk menyelesaikan AWS kredensil yang digunakan. AWS IAM Identity Center Untuk informasi selengkapnya tentang mengonfigurasi autentikasi masuk tunggal, lihat. [Menggunakan IAM Identity Center untuk mengautentikasi AWS SDK dan alat](access-sso.md) Profil ditautkan ke `sso-session` bagian oleh pasangan kunci-nilai di mana `sso-session` kunci dan nama `sso-session` bagian Anda adalah nilainya, seperti. `sso-session = <name-of-sso-session-section>` 

Contoh berikut mengonfigurasi profil yang akan mendapatkan AWS kredensi jangka pendek untuk peran IAM "SampleRole" di akun “111122223333" menggunakan token dari “my-sso”. Bagian “my-sso” `sso-session` direferensikan di `profile` bagian dengan nama menggunakan kunci. `sso-session` 

```
[profile dev]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
```

#### Jenis bagian: `services`
<a name="section-services"></a>

Contoh baris definisi bagian: `[services dev]`

**catatan**  
`services`Bagian ini mendukung penyesuaian titik akhir khusus layanan dan hanya tersedia di SDKs dan alat yang menyertakan fitur ini. Untuk melihat apakah fitur ini tersedia untuk SDK Anda, lihat titik akhir [Support oleh AWS SDKs dan alat](feature-ss-endpoints.md#ss-endpoints-sdk-compat) khusus layanan.

Baris definisi `services` bagian menamai sekelompok pengaturan yang mengonfigurasi titik akhir kustom untuk Layanan AWS permintaan. Profil ditautkan ke `services` bagian oleh pasangan kunci-nilai di mana `services` kunci dan nama `services` bagian Anda adalah nilainya, seperti. `services = <name-of-services-section>` 

 `services`Bagian ini selanjutnya dipisahkan menjadi subbagian dengan `<SERVICE> = ` baris, di mana `<SERVICE>` adalah kunci Layanan AWS pengenal. Layanan AWS Pengenal didasarkan pada model API `serviceId` dengan mengganti semua spasi dengan garis bawah dan huruf kecil semua huruf. Untuk daftar semua kunci pengenal layanan yang akan digunakan di `services` bagian ini, lihat[Pengidentifikasi untuk titik akhir khusus layanan](ss-endpoints-table.md). Kunci pengenal layanan diikuti oleh pengaturan bersarang dengan masing-masing pada barisnya sendiri dan menjorok oleh dua spasi. 

 Contoh berikut menggunakan `services` definisi untuk mengonfigurasi titik akhir yang akan digunakan untuk permintaan yang dibuat hanya untuk Amazon DynamoDB layanan. `"local-dynamodb"``services`Bagian ini direferensikan di `profile` bagian dengan nama menggunakan `services` kunci. Kunci Layanan AWS pengenal adalah`dynamodb`. Subbagian Amazon DynamoDB layanan dimulai pada telepon`dynamodb = `. Baris yang segera mengikuti yang menjorok termasuk dalam ayat itu dan berlaku untuk layanan itu. 

```
[profile dev]
services = local-dynamodb

[services local-dynamodb]
dynamodb = 
  endpoint_url = http://localhost:8000
```

Untuk informasi selengkapnya tentang konfigurasi titik akhir kustom, lihat[Titik akhir khusus layanan](feature-ss-endpoints.md).

## Format file kredensial
<a name="file-format-creds"></a>

Aturan untuk `credentials` file umumnya identik dengan aturan untuk `config` file, kecuali bahwa bagian profil tidak dimulai dengan kata`profile`. Gunakan hanya nama profil itu sendiri di antara tanda kurung siku. Contoh berikut menunjukkan `credentials` file dengan bagian profil bernama bernama`foo`. 

```
[foo]
...credential settings...
```

Hanya pengaturan berikut yang dianggap “rahasia” atau sensitif yang dapat disimpan dalam `credentials` file:`aws_access_key_id`,`aws_secret_access_key`, dan`aws_session_token`. Meskipun pengaturan ini dapat ditempatkan di `config` file bersama, kami sarankan Anda menyimpan nilai-nilai sensitif ini dalam `credentials` file terpisah. Dengan cara ini, Anda dapat memberikan izin terpisah untuk setiap file, jika perlu.

Contoh berikut menunjukkan `credentials` file dasar dengan `[default]` profil. Ini mengatur [`aws_access_key_id`,`aws_secret_access_key`, dan](feature-static-credentials.md) pengaturan `aws_session_token` global.

```
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

Terlepas dari apakah Anda menggunakan profil bernama atau "`default`" dalam `credentials` file Anda, pengaturan apa pun di sini akan digabungkan dengan pengaturan apa pun dari `config` file Anda yang menggunakan nama profil yang sama. Jika ada kredensil di kedua file untuk profil yang berbagi nama yang sama, kunci dalam file kredensil diutamakan. 

# Menemukan dan mengubah lokasi berbagi `config` dan `credentials` file AWS SDKs dan alat
<a name="file-location"></a>

File bersama AWS `config` dan `credentials` file adalah file teks biasa yang menyimpan informasi konfigurasi untuk AWS SDKs dan alat. File berada secara lokal di lingkungan Anda dan digunakan secara otomatis oleh kode SDK atau dengan AWS CLI perintah yang Anda jalankan di lingkungan itu. Misalnya, di komputer Anda sendiri atau saat mengembangkan instans Amazon Elastic Compute Cloud. 

Ketika SDK atau alat berjalan, ia memeriksa file-file ini dan memuat pengaturan konfigurasi yang tersedia. Jika file belum ada, maka file dasar secara otomatis dibuat oleh SDK atau alat.

Secara default, file berada dalam folder bernama `.aws` yang ditempatkan di folder Anda `home` atau pengguna. 


| Sistem operasi | Lokasi default dan nama file | 
| --- | --- | 
| Linux dan macOS |  `~/.aws/config` `~/.aws/credentials`  | 
| Windows |  `%USERPROFILE%\.aws\config` `%USERPROFILE%\.aws\credentials`  | 

## Resolusi direktori rumah
<a name="homeDirRes"></a>

`~`hanya digunakan untuk resolusi direktori home ketika:
+ Memulai jalan
+ Diikuti segera oleh `/` atau pemisah khusus platform. Di windows, `~/` dan `~\` keduanya menyelesaikan ke direktori home. 

Saat menentukan direktori home, variabel-variabel berikut diperiksa:
+ (Semua platform) Variabel `HOME` lingkungan
+ (Platform Windows) Variabel `USERPROFILE` lingkungan
+ (Platform Windows) Penggabungan `HOMEDRIVE` dan variabel `HOMEPATH` lingkungan () `$HOMEDRIVE$HOMEPATH`
+ (Opsional per SDK atau alat) SDK atau fungsi resolusi home path khusus alat atau variabel

Jika memungkinkan, jika direktori home pengguna ditentukan di awal jalur (misalnya,`~username/`), itu diselesaikan ke direktori home nama pengguna yang diminta (misalnya,`/home/username/.aws/config`).

## Ubah lokasi default file-file ini
<a name="file-location-change"></a>

Anda dapat menggunakan salah satu dari berikut ini untuk mengganti dari mana file-file ini dimuat oleh SDK atau alat.

### Menggunakan variabel lingkungan
<a name="file-location-change-envar"></a>

Variabel lingkungan berikut dapat diatur untuk mengubah lokasi atau nama file-file ini dari default ke nilai kustom:
+ `config`variabel lingkungan file: **`AWS_CONFIG_FILE`**
+ `credentials`variabel lingkungan file: **`AWS_SHARED_CREDENTIALS_FILE`**

------
#### [ Linux/macOS ]

Anda dapat menentukan lokasi alternatif dengan menjalankan perintah [ekspor](https://linuxconfig.org/learning-linux-commands-export) berikut di Linux atau macOS.

```
$ export AWS_CONFIG_FILE=/some/file/path/on/the/system/config-file-name
$ export AWS_SHARED_CREDENTIALS_FILE=/some/other/file/path/on/the/system/credentials-file-name
```

------
#### [ Windows ]

Anda dapat menentukan lokasi alternatif dengan menjalankan perintah [setx](https://docs.microsoft.com/windows-server/administration/windows-commands/setx) berikut di Windows.

```
C:\> setx AWS_CONFIG_FILE c:\some\file\path\on\the\system\config-file-name
C:\> setx AWS_SHARED_CREDENTIALS_FILE c:\some\other\file\path\on\the\system\credentials-file-name
```

------

Untuk informasi selengkapnya tentang mengonfigurasi sistem Anda menggunakan variabel lingkungan, lihat[Menggunakan variabel lingkungan untuk mengkonfigurasi AWS SDKs dan alat secara global](environment-variables.md).

### Gunakan properti sistem JVM
<a name="file-location-change-jvmSysProp"></a>

Untuk SDK untuk Kotlin yang berjalan di JVM dan SDK for Java 2.x, Anda dapat mengatur properti sistem JVM berikut untuk mengubah lokasi atau nama file ini dari default ke nilai kustom:
+ `config`file properti sistem JVM: **`aws.configFile`**
+ `credentials`variabel lingkungan file: **`aws.sharedCredentialsFile`**

Untuk petunjuk tentang cara mengatur properti sistem JVM, lihat. [Cara mengatur properti sistem JVM](jvm-system-properties.md#jvm-sys-props-set) SDK for Java 1.x tidak mendukung properti sistem ini.

# Menggunakan variabel lingkungan untuk mengkonfigurasi AWS SDKs dan alat secara global
<a name="environment-variables"></a>

Variabel lingkungan menyediakan cara lain untuk menentukan opsi konfigurasi dan kredensil saat menggunakan AWS SDKs dan alat. Variabel lingkungan dapat berguna untuk skrip atau sementara mengatur profil bernama sebagai default. Untuk daftar variabel lingkungan yang didukung oleh sebagian besar SDKs, lihat[Daftar variabel lingkungan](settings-reference.md#EVarSettings).

**Prioritas opsi**
+ Jika Anda menentukan setelan dengan menggunakan variabel lingkungannya, itu akan mengganti nilai apa pun yang dimuat dari profil di file bersama AWS `config` dan `credentials` file. 
+ Jika Anda menentukan pengaturan dengan menggunakan parameter pada baris AWS CLI perintah, itu akan mengganti nilai apa pun dari variabel lingkungan yang sesuai atau profil dalam file konfigurasi.

## Cara mengatur variabel lingkungan
<a name="envvars-set"></a>

Contoh berikut menunjukkan bagaimana Anda dapat mengkonfigurasi variabel lingkungan untuk pengguna default.

------
#### [ Linux, macOS, or Unix ]

```
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
$ export AWS_REGION=us-west-2
```

Menyetel variabel lingkungan mengubah nilai yang digunakan hingga akhir sesi shell Anda, atau sampai Anda menyetel variabel ke nilai yang berbeda. Anda dapat membuat variabel persisten di seluruh sesi masa depan dengan menyetelnya di skrip startup shell Anda.

------
#### [ Windows Command Prompt ]

```
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE
C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> setx AWS_SESSION_TOKEN AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
C:\> setx AWS_REGION us-west-2
```

Menggunakan `[set](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` untuk mengatur variabel lingkungan mengubah nilai yang digunakan sampai akhir sesi Command Prompt saat ini, atau sampai Anda mengatur variabel ke nilai yang berbeda. Menggunakan [https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx)untuk mengatur variabel lingkungan mengubah nilai yang digunakan dalam sesi Command Prompt saat ini dan semua sesi Command Prompt yang Anda buat setelah menjalankan perintah. Itu ***tidak*** mempengaruhi shell perintah lain yang sudah berjalan pada saat Anda menjalankan perintah.

------
#### [ PowerShell ]

```
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
PS C:\> $Env:AWS_SESSION_TOKEN="AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk"
PS C:\> $Env:AWS_REGION="us-west-2"
```

Jika Anda menetapkan variabel lingkungan pada PowerShell prompt seperti yang ditunjukkan pada contoh sebelumnya, itu menyimpan nilai hanya untuk durasi sesi saat ini. Untuk membuat pengaturan variabel lingkungan persisten di semua sesi PowerShell Command Prompt, simpan dengan menggunakan aplikasi **Sistem** di **Control Panel**. Atau, Anda dapat mengatur variabel untuk semua PowerShell sesi future dengan menambahkannya ke PowerShell profil Anda. Lihat [PowerShell dokumentasi](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables) untuk informasi selengkapnya tentang menyimpan variabel lingkungan atau menyimpannya di seluruh sesi.

------

## Pengaturan variabel lingkungan tanpa server
<a name="serverless"></a>

 Jika Anda menggunakan arsitektur tanpa server untuk pengembangan, Anda memiliki opsi lain untuk mengatur variabel lingkungan. Bergantung pada container Anda, Anda dapat menggunakan strategi berbeda untuk kode yang berjalan di container tersebut untuk melihat dan mengakses variabel lingkungan, mirip dengan lingkungan non-cloud. 

Misalnya, dengan AWS Lambda, Anda dapat langsung mengatur variabel lingkungan. Untuk detailnya, lihat [Menggunakan variabel AWS Lambda lingkungan](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) di *Panduan AWS Lambda Pengembang*. 

Di Kerangka Tanpa Server, Anda sering dapat mengatur variabel lingkungan SDK dalam `serverless.yml` file di bawah kunci penyedia di bawah pengaturan lingkungan. Untuk informasi tentang `serverless.yml` file, lihat [Pengaturan fungsi umum](https://www.serverless.com/framework/docs/providers/aws/guide/serverless.yml#general-function-settings) dalam dokumentasi Kerangka Tanpa Server. 

Terlepas dari mekanisme mana yang Anda gunakan untuk mengatur variabel lingkungan kontainer, ada beberapa yang dicadangkan oleh kontainer, seperti yang didokumentasikan untuk Lambda pada variabel lingkungan [runtime yang ditentukan](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime). Selalu lihat dokumentasi resmi untuk wadah yang Anda gunakan untuk menentukan bagaimana variabel lingkungan diperlakukan dan apakah ada batasan. 

# Menggunakan properti sistem JVM untuk mengkonfigurasi dan AWS SDK untuk Java AWS SDK untuk Kotlin
<a name="jvm-system-properties"></a>

[Properti sistem JVM](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html) menyediakan cara lain untuk menentukan opsi konfigurasi dan kredensil untuk SDKs yang dijalankan pada JVM seperti dan. AWS SDK untuk Java AWS SDK untuk Kotlin Untuk daftar properti sistem JVM yang didukung oleh SDKs, lihat Referensi [pengaturan](settings-reference.md#JVMSettings).

**Presedensi opsi**
+ Jika Anda menentukan setelan dengan menggunakan properti sistem JVM-nya, itu akan mengganti nilai apa pun yang ditemukan dalam variabel lingkungan atau dimuat dari profil di AWS dan file bersama. `config` `credentials`
+ Jika Anda menentukan setelan dengan menggunakan variabel lingkungannya, itu akan mengganti nilai apa pun yang dimuat dari profil di AWS `config` dan `credentials` file bersama.

## Cara mengatur properti sistem JVM
<a name="jvm-sys-props-set"></a>

Anda dapat mengatur properti sistem JVM beberapa cara.

### Pada baris perintah
<a name="jvm-sys-props-set-cl"></a>

Atur properti sistem JVM pada baris perintah saat menjalankan perintah dengan menggunakan sakelar`java`. `-D` Perintah berikut mengonfigurasi secara Wilayah AWS global untuk semua klien layanan kecuali Anda secara eksplisit mengganti nilai dalam kode.

```
java -Daws.region=us-east-1 -jar <your_application.jar> <other_arguments>
```

Jika Anda perlu mengatur beberapa properti sistem JVM, tentukan `-D` sakelar beberapa kali.

### Dengan variabel lingkungan
<a name="jvm-sys-props-set-evar"></a>

Jika Anda tidak dapat mengakses baris perintah untuk memanggil JVM untuk menjalankan aplikasi Anda, Anda dapat menggunakan variabel `JAVA_TOOL_OPTIONS` lingkungan untuk mengkonfigurasi opsi baris perintah. Pendekatan ini berguna dalam situasi seperti menjalankan AWS Lambda fungsi pada runtime Java atau menjalankan kode dalam JVM tertanam.

Contoh berikut mengonfigurasi Wilayah AWS secara global untuk semua klien layanan kecuali Anda secara eksplisit mengganti nilai dalam kode.

------
#### [ Linux, macOS, or Unix ]

```
$ export JAVA_TOOL_OPTIONS="-Daws.region=us-east-1"
```

Menyetel variabel lingkungan mengubah nilai yang digunakan hingga akhir sesi shell Anda, atau sampai Anda menyetel variabel ke nilai yang berbeda. Anda dapat membuat variabel persisten di seluruh sesi masa depan dengan menyetelnya di skrip startup shell Anda.

------
#### [ Windows Command Prompt ]

```
C:\> setx JAVA_TOOL_OPTIONS -Daws.region=us-east-1
```

Menggunakan `[set](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` untuk mengatur variabel lingkungan mengubah nilai yang digunakan sampai akhir sesi Command Prompt saat ini, atau sampai Anda mengatur variabel ke nilai yang berbeda. Menggunakan [https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx)untuk mengatur variabel lingkungan mengubah nilai yang digunakan dalam sesi Command Prompt saat ini dan semua sesi Command Prompt yang Anda buat setelah menjalankan perintah. Itu ***tidak*** mempengaruhi shell perintah lain yang sudah berjalan pada saat Anda menjalankan perintah.

------

### Saat runtime
<a name="jvm-sys-props-set-runtime"></a>

Anda juga dapat mengatur properti sistem JVM saat runtime dalam kode dengan menggunakan `System.setProperty` metode seperti yang ditunjukkan pada contoh berikut.

```
System.setProperty("aws.region", "us-east-1");
```

**penting**  
Tetapkan properti sistem JVM apa pun *sebelum* Anda menginisialisasi klien layanan SDK, jika tidak, klien layanan dapat menggunakan nilai lain.