

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Provedor `process` no SDK para PHP
<a name="process-provider"></a>

 `Aws\Credentials\CredentialProvider::process`tenta carregar credenciais executando o `credential_process` valor especificado em um perfil em um arquivo de [AWS configuração compartilhado](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html). 

Por padrão, o SDK tenta carregar primeiro o perfil “padrão” a partir do AWS `credentials` arquivo compartilhado localizado em`~/.aws/credentials`. Se o perfil “padrão” não for encontrado no arquivo `credentials` compartilhado, o SDK procurará o perfil padrão no arquivo `config` compartilhado. Veja a seguir um exemplo de configuração para o arquivo `credentials` compartilhado.

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

O SDK chamará o comando `credential_process` exatamente como fornecido usando a função `shell_exec` do PHP e, em seguida, lerá dados JSON de stdout. O comando `credential_process` deve gravar as credenciais em stdout no seguinte formato:

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

 `SessionToken` e `Expiration` são opcionais. Se presente, as credenciais serão tratadas como temporárias.

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

Você pode usar um perfil personalizado ou o local de um arquivo .ini fornecendo argumentos à função que cria o provedor.

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