

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 适用于 PHP 的 SDK 中的 `instanceProfile` 提供程序
<a name="instanceprofile-provider"></a>

 `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 实例配置文件进行加载的尝试。