本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
适用于 PHP 的 SDK 中的 instanceProfile 提供程序
Aws\Credentials\CredentialProvider::instanceProfile尝试加载在 Amazon EC2 实例配置文件中指定的 IAM 角色的证书。
use Aws\Credentials\CredentialProvider; use Aws\S3\S3Client; $provider = CredentialProvider::instanceProfile(); // Be sure to memoize the credentials $memoizedProvider = CredentialProvider::memoize($provider); $client = new S3Client([ 'region' => 'us-west-2', 'version' => '2006-03-01', 'credentials' => $memoizedProvider ]);
默认情况下,提供商最多重新尝试提取凭证三次。可以使用 retries 选项设置重试次数,如以下代码所示,将该选项设置为 0 可以完全禁用重试。
use Aws\Credentials\CredentialProvider; $provider = CredentialProvider::instanceProfile([ 'retries' => 0 ]); $memoizedProvider = CredentialProvider::memoize($provider);
如果环境变量 AWS_METADATA_SERVICE_NUM_ATTEMPTS 可用,则其值优先于前面显示的“重试”选项。
注意
您可以通过将AWS_EC2_METADATA_DISABLED环境变量设置为,来禁用此从 Amazon EC2 实例配置文件加载的尝试true。