

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

# `process`penyedia di SDK for PHP
<a name="process-provider"></a>

 `Aws\Credentials\CredentialProvider::process`mencoba memuat kredensi dengan mengeksekusi `credential_process` nilai yang ditentukan dalam profil dalam file konfigurasi [bersama AWS](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html). 

Secara default, SDK mencoba memuat profil “default” terlebih dahulu dari AWS `credentials` file bersama yang terletak di`~/.aws/credentials`. Jika profil “default” tidak ditemukan di `credentials` file bersama, SDK akan terlihat di `config` file bersama untuk profil default. Berikut ini adalah contoh konfigurasi untuk `credentials` file bersama.

```
[default]
credential_process = /path/to/file/credential_returning_executable.sh --custom-command custom_parameter
```

SDK akan memanggil `credential_process` perintah persis seperti yang diberikan dengan menggunakan `shell_exec` fungsi PHP dan kemudian membaca data JSON dari stdout. `credential_process`Harus menulis kredensi ke stdout dalam format berikut:

```
{
    "Version": 1,
    "AccessKeyId": "",
    "SecretAccessKey": "",
    "SessionToken": "",
    "Expiration": ""
}
```

 `SessionToken`dan `Expiration` bersifat opsional. Jika ada, kredensialnya akan diperlakukan sebagai sementara.

```
use Aws\Credentials\CredentialProvider;
use Aws\S3\S3Client;

$provider = CredentialProvider::process();
// Cache the results in a memoize function to avoid loading and parsing
// the ini file on every API operation
$provider = CredentialProvider::memoize($provider);

$client = new S3Client([
    'region'      => 'us-west-2',
    'version'     => '2006-03-01',
    'credentials' => $provider
]);
```

Anda dapat menggunakan profil kustom atau lokasi file.ini dengan memberikan argumen ke fungsi yang membuat penyedia.

```
$profile = 'production';
$path = '/full/path/to/credentials.ini';

$provider = CredentialProvider::process($profile, $path);
$provider = CredentialProvider::memoize($provider);

$client = new S3Client([
    'region'      => 'us-west-2',
    'version'     => '2006-03-01',
    'credentials' => $provider
]);
```