Almacenamiento en memoria de las credenciales en el SDK para PHP - AWS SDK para PHP

Almacenamiento en memoria de las credenciales en el SDK para PHP

A veces es necesario crear un proveedor de credenciales que recuerde el valor de retorno anterior. Esto puede resultar útil para el rendimiento cuando cargar credenciales es una operación costosa o cuando se utiliza la clase Aws\Sdk para compartir un proveedor de credenciales entre varios clientes. Puede añadir memoización a un proveedor de credenciales encapsulando la función de proveedor de credenciales en una función memoize.

use Aws\Credentials\CredentialProvider; $provider = CredentialProvider::instanceProfile(); // Wrap the actual provider in a memoize function $provider = CredentialProvider::memoize($provider); // Pass the provider into the Sdk class and share the provider // across multiple clients. Each time a new client is constructed, // it will use the previously returned credentials as long as // they haven't yet expired. $sdk = new Aws\Sdk(['credentials' => $provider]); $s3 = $sdk->getS3(['region' => 'us-west-2', 'version' => 'latest']); $ec2 = $sdk->getEc2(['region' => 'us-west-2', 'version' => 'latest']); assert($s3->getCredentials() === $ec2->getCredentials());

Cuando vencen las credenciales memoizadas, el encapsulador de memoización invoca al proveedor encapsulado para actualizarlas.