Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Proveedor process en el SDK para PHP
Aws\Credentials\CredentialProvider::processintenta cargar las credenciales ejecutando el credential_process valor especificado en un perfil de un archivo de AWS configuración compartido.
De forma predeterminada, el SDK intenta cargar primero el perfil «predeterminado» desde el AWS credentials archivo compartido ubicado en~/.aws/credentials. Si no se encuentra el perfil “default” en el archivo credentials compartido, el SDK busca el perfil predeterminado en el archivo config compartido. A continuación, se muestra un ejemplo de configuración del archivo credentials compartido.
[default] credential_process = /path/to/file/credential_returning_executable.sh --custom-command custom_parameter
El SDK llamará al comando credential_process exactamente tal y como se ha indicado utilizando la función shell_exec de PHP y, a continuación, leerá los datos JSON desde la salida estándar (stdout). El comando credential_process debe escribir las credenciales en stdout con el formato siguiente:
{ "Version": 1, "AccessKeyId": "", "SecretAccessKey": "", "SessionToken": "", "Expiration": "" }
SessionToken y Expiration son opcionales. Si se utilizan, las credenciales se considerarán temporales.
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 ]);
Puede utilizar un perfil personalizado o una ubicación de archivo.ini proporcionando argumentos a la función que crea el proveedor.
$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 ]);