适用于 PHP 的 SDK 中的 instanceProfile 提供程序 - 适用于 PHP 的 Amazon SDK
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

适用于 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 环境变量设置为 true 来禁用从 Amazon EC2 实例配置文件进行加载的尝试。