

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# `process`provider nell'SDK for PHP
<a name="process-provider"></a>

 `Aws\Credentials\CredentialProvider::process`tenta di caricare le credenziali eseguendo il `credential_process` valore specificato in un profilo in un file di configurazione [condiviso AWS](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html). 

Per impostazione predefinita, l'SDK tenta di caricare prima il profilo «predefinito» dal AWS `credentials` file condiviso che si trova in. `~/.aws/credentials` Se il profilo «predefinito» non viene trovato nel `credentials` file condiviso, l'SDK cerca il profilo predefinito nel `config` file condiviso. Di seguito è riportato un esempio di configurazione per il `credentials` file condiviso.

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

L'SDK chiamerà il `credential_process` comando esattamente come indicato utilizzando la `shell_exec` funzione di PHP e quindi leggerà i dati JSON da stdout. `credential_process`Devono scrivere le credenziali su stdout nel seguente formato:

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

 `SessionToken` e `Expiration` sono facoltativi. Se presenti, le credenziali verranno considerate come temporanee.

```
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
]);
```

Puoi utilizzare un profilo o un percorso del file .ini personalizzato fornendo argomenti alla funzione che crea il provider.

```
$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
]);
```