WO *_*ers 4 php amazon-s3 amazon-web-services amazon-iam aws-sdk
显示了 latestAll S3 存储桶文件,但是当我上传文件时会生成错误。
我有 ARN 和实例配置文件。
use Aws\Credentials\CredentialProvider;
use Aws\Credentials\InstanceProfileProvider;
use Aws\Credentials\AssumeRoleCredentialProvider;
use Aws\S3\S3Client;
use Aws\Sts\StsClient;
$profile = new InstanceProfileProvider();
$ARN = ""; // MY ARN
$sessionName = "s3-access-example";
$assumeRoleCredentials = new AssumeRoleCredentialProvider([
'client' => new StsClient([
'region' => "ap-east-1",
'version' => "latest",
'credentials' => $profile
]),
'assume_role_params' => [
'RoleArn' => $ARN,
'RoleSessionName' => $sessionName,
],
]);
$provider = CredentialProvider::memoize($assumeRoleCredentials);
$this->s3hd = S3Client::factory([
'credentials' => $provider,
'version' => "latest",
'region' => "ap-east-1"
]);
public function upload($name, $file, $type, $Bucket = false)
{
if (! $Bucket) {
$Bucket = $this->bucket;
}
$result = $this->s3hd->putObject([
'Bucket' => $Bucket,
'Key' => $name,
'SourceFile' => $file,
'ContentType' => $type,
'ACL' => 'public-read'
]);
$this->s3hd->waitUntil('ObjectExists', [
'Bucket' => $Bucket,
'Key' => $name
]);
return $result;
}
Run Code Online (Sandbox Code Playgroud)
消息:在 上执行“PutObject”时出错
error file url here;AWS HTTP 错误:客户端错误:PUTerror file url here导致 400 错误请求响应:InvalidTokenThe 提供的令牌格式错误或其他(截断...) InvalidToken(客户端):提供的令牌格式错误或无效。- InvalidToken 提供的令牌格式错误或无效。
San*_*mar 10
就我而言。我正在尝试通过 CLI。
Run Code Online (Sandbox Code Playgroud)aws configure
~/.aws/credentials,寻找session_token。如果你有session_token. 然后更新它。否则删除session_token并重试。瞧,它奏效了!
| 归档时间: |
|
| 查看次数: |
11418 次 |
| 最近记录: |