更新
This commit is contained in:
76
vendor/aliyuncs/oss-sdk-php/samples/CredentialsPhp.php
vendored
Normal file
76
vendor/aliyuncs/oss-sdk-php/samples/CredentialsPhp.php
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
//=============================================================================
|
||||
|
||||
//How to use credentials-php to access oss
|
||||
|
||||
// step 1:Install credentials-php composer require alibabacloud/credentials
|
||||
require_once __DIR__ . '/Common.php';
|
||||
|
||||
use OSS\OssClient;
|
||||
use OSS\Core\OssException;
|
||||
use OSS\Credentials\CredentialsProvider;
|
||||
use AlibabaCloud\Credentials\Credential;
|
||||
use OSS\Credentials\StaticCredentialsProvider;
|
||||
|
||||
// public provider conversion class
|
||||
class AlibabaCloudCredentialsWrapper implements CredentialsProvider{
|
||||
/**
|
||||
* @var Credential
|
||||
*/
|
||||
private $warpper;
|
||||
public function __construct($credential){
|
||||
$this->warpper = $credential;
|
||||
}
|
||||
public function getCredentials(){
|
||||
$ak = $this->warpper->getAccessKeyId();
|
||||
$sk = $this->warpper->getAccessKeySecret();
|
||||
$token = $this->warpper->getSecurityToken();
|
||||
return new StaticCredentialsProvider($ak, $sk, $token);
|
||||
}
|
||||
}
|
||||
|
||||
$bucket = Common::getBucketName();
|
||||
|
||||
//AccessKey Credentials demo
|
||||
$credential = new Credential(array(
|
||||
'type' => 'access_key',
|
||||
'access_key_id' => '<access_key_id>',
|
||||
'access_key_secret' => '<accessKey_secret>',
|
||||
));
|
||||
$providerWarpper = new AlibabaCloudCredentialsWrapper($credential);
|
||||
$config = array(
|
||||
'provider' => $providerWarpper,
|
||||
'endpoint'=> '<endpoint>'
|
||||
);
|
||||
try {
|
||||
$ossClient = new OssClient($config);
|
||||
$ossClient->putObject($bucket,'c.file','hi oss,this is credentials test of access key');
|
||||
$result = $ossClient->getObject($bucket,'c.file');
|
||||
var_dump($result);
|
||||
} catch (OssException $e) {
|
||||
printf($e->getMessage() . "\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// EcsRamRole Credentials demo
|
||||
$ecsRamRole = new Credential(array(
|
||||
'type' => 'ecs_ram_role',
|
||||
'role_name' => 'EcsRamRoleOssTest',
|
||||
));
|
||||
$providerWarpper = new AlibabaCloudCredentialsWrapper($ecsRamRole);
|
||||
$bucket = 'oss-bucket-cd-yp-test';
|
||||
$config = array(
|
||||
'provider' => $providerWarpper,
|
||||
'endpoint'=> '<endpoint>'
|
||||
);
|
||||
try {
|
||||
$ossClient = new OssClient($config);
|
||||
$ossClient->putObject($bucket,'c.file','hi oss,this is credentials test of EcsRamRole');
|
||||
$result = $ossClient->getObject($bucket,'c.file');
|
||||
var_dump($result);
|
||||
} catch (OssException $e) {
|
||||
printf($e->getMessage() . "\n");
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user