Para enviar solicitudes a OSS mediante el SDK de PHP, debe configurar las credenciales de acceso. Los servicios de Alibaba Cloud utilizan estas credenciales para verificar su identidad y sus permisos de acceso. Puede elegir entre distintos tipos de credenciales según sus requisitos de autenticación y autorización. En este tema se describe cómo configurar credenciales de acceso temporales y de largo plazo.
Requisitos previos
Antes de configurar las credenciales de acceso, debe instalar el SDK de PHP para OSS. Para obtener más información, consulte Installation (PHP SDK V1).
Inicializar un proveedor de credenciales
Elegir un proveedor de credenciales
OSS admite varios métodos para inicializar un proveedor de credenciales. Elija uno de acuerdo con los requisitos de autenticación y autorización de su escenario.
|
Método de inicialización |
Escenario |
¿Requiere un AccessKey o un token de STS existente? |
Credencial subyacente |
Periodo de validez de la credencial |
Método de rotación o actualización de la credencial |
|
Aplicaciones que se ejecutan en un entorno seguro y necesitan acceso de largo plazo a los servicios de Alibaba Cloud sin rotar las credenciales con frecuencia. |
Sí |
AccessKey |
Largo plazo |
Rotación manual |
|
|
Aplicaciones que se ejecutan en un entorno no confiable donde es necesario controlar el periodo de validez y los permisos de acceso. |
Sí |
Token de STS |
Temporal |
Actualización manual |
|
|
Aplicaciones que requieren acceso autorizado a los servicios de Alibaba Cloud, por ejemplo, para acceder entre cuentas. |
Sí |
Token de STS |
Temporal |
Actualización automática |
|
|
Aplicaciones que se ejecutan en instancias de ECS, instancias de ECI o nodos worker de Container Service for Kubernetes de Alibaba Cloud. |
No |
Token de STS |
Temporal |
Actualización automática |
|
|
Funciones de aplicaciones que se ejecutan en Function Compute de Alibaba Cloud. |
No |
Token de STS |
Temporal |
No requiere actualización |
|
|
Aplicaciones no confiables que se ejecutan en nodos worker de Container Service for Kubernetes. |
No |
Token de STS |
Temporal |
Actualización automática |
|
|
Aplicaciones que necesitan obtener credenciales de acceso desde un sistema externo. |
No |
Token de STS |
Temporal |
Actualización automática |
|
|
Si los métodos anteriores no cubren sus necesidades, defina un método personalizado para obtener las credenciales. |
Personalizado |
Personalizado |
Personalizado |
Personalizado |
Método 1: Usar un par de AccessKey
Si su aplicación se ejecuta en un entorno seguro y necesita acceso de largo plazo a OSS sin rotar las credenciales con frecuencia, inicialice el proveedor de credenciales con un par de AccessKey de una cuenta de Alibaba Cloud o de un usuario de Resource Access Management (RAM). Un par de AccessKey consta de un AccessKey ID y un AccessKey secret. Este método exige mantener manualmente el par de AccessKey, lo que puede aumentar los riesgos de seguridad y la complejidad del mantenimiento. Para obtener más información, consulte CreateAccessKey - Create an AccessKey pair for an Alibaba Cloud account or a RAM user.
Variables de entorno
Una cuenta de Alibaba Cloud tiene todos los permisos sobre sus recursos. Si el par de AccessKey de una cuenta de Alibaba Cloud se filtra, representa una amenaza crítica de seguridad. Se recomienda utilizar el par de AccessKey de un usuario de RAM con los permisos mínimos obligatorios.
-
Establezca las variables de entorno con un par de AccessKey.
Mac OS X/Linux/Unix
export OSS_ACCESS_KEY_ID=<ALIBABA_CLOUD_ACCESS_KEY_ID> export OSS_ACCESS_KEY_SECRET=<ALIBABA_CLOUD_ACCESS_KEY_SECRET>Windows
set OSS_ACCESS_KEY_ID=<ALIBABA_CLOUD_ACCESS_KEY_ID> set OSS_ACCESS_KEY_SECRET=<ALIBABA_CLOUD_ACCESS_KEY_SECRET> -
Pase la información de las credenciales mediante las variables de entorno.
<?php require_once __DIR__ . '/vendor/autoload.php'; use OSS\Credentials\EnvironmentVariableCredentialsProvider; use OSS\OssClient; use OSS\Core\OssException; try { // Get access credentials from environment variables and save them in the provider. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set. $provider = new EnvironmentVariableCredentialsProvider(); // Set Endpoint to the endpoint of the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set Endpoint to https://oss-cn-hangzhou.aliyuncs.com. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; $bucket = "bucket"; $config = array( "provider" => $provider, "endpoint" => $endpoint, "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4, "region"=> "cn-hangzhou" ); $ossClient = new OssClient($config); var_dump($ossClient); } catch (OssException $e) { printf($e->getMessage() . "\n"); return; }
Credenciales estáticas
Utilice variables en su código para hacer referencia a las credenciales. Durante la ejecución, estas variables reciben los valores reales de las credenciales desde variables de entorno, archivos de configuración u otras fuentes de datos externas.
A continuación se muestra un ejemplo que utiliza un archivo de configuración.
-
Cree un archivo de configuración llamado
config.ini.[credentials] alibaba_cloud_access_key_id = <ALIBABA_CLOUD_ACCESS_KEY_ID> alibaba_cloud_access_key_secret = <ALIBABA_CLOUD_ACCESS_KEY_SECRET> -
Pase la información de las credenciales mediante el archivo de configuración.
<?php if (is_file(__DIR__ . '/../autoload.php')) { require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) { require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\Credentials\StaticCredentialsProvider; use OSS\OssClient; use OSS\Core\OssException; try { $config = parse_ini_file('config.ini'); // Get the AccessKey ID and AccessKey secret. $accessKeyId = $config['alibaba_cloud_access_key_id']; $accessKeySecret = $config['alibaba_cloud_access_key_secret']; $provider = new StaticCredentialsProvider($accessKeyId,$accessKeySecret); $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; $config = array( "provider" => $provider, "endpoint" => $endpoint, "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4, "region"=> "cn-hangzhou" ); $ossClient = new OssClient($config); printf($ossClient); } catch (OssException $e) { printf($e->getMessage() . "\n"); return; }
Método 2: Usar un token de STS
Si su aplicación necesita acceso temporal a OSS, inicialice el proveedor de credenciales con credenciales de identidad temporales de Security Token Service (STS). Estas credenciales incluyen un AccessKey ID, un AccessKey secret y un token de seguridad. Este método exige mantener manualmente el token de STS, lo que puede aumentar los riesgos de seguridad y la complejidad del mantenimiento. Para acceder a OSS varias veces, actualice el token de STS de forma manual. Para obtener más información, consulte AssumeRole - Get temporary identity credentials for a RAM role.
-
Establezca las variables de entorno con las credenciales de identidad temporales.
Mac OS X/Linux/Unix
export OSS_ACCESS_KEY_ID=<ALIBABA_CLOUD_ACCESS_KEY_ID> export OSS_ACCESS_KEY_SECRET=<ALIBABA_CLOUD_ACCESS_KEY_SECRET> export OSS_SESSION_TOKEN=<ALIBABA_CLOUD_SECURITY_TOKEN>Windows
set OSS_ACCESS_KEY_ID=<ALIBABA_CLOUD_ACCESS_KEY_ID> set OSS_ACCESS_KEY_SECRET=<ALIBABA_CLOUD_ACCESS_KEY_SECRET> set OSS_SESSION_TOKEN=<ALIBABA_CLOUD_SECURITY_TOKEN> -
Pase la información de las credenciales mediante las variables de entorno.
<?php require_once __DIR__ . '/vendor/autoload.php'; use OSS\Credentials\EnvironmentVariableCredentialsProvider; use OSS\OssClient; use OSS\Core\OssException; try { // Get access credentials from environment variables and save them in the provider. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET, and OSS_SESSION_TOKEN environment variables are set. $provider = new EnvironmentVariableCredentialsProvider(); // Set Endpoint to the endpoint of the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set Endpoint to https://oss-cn-hangzhou.aliyuncs.com. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; $bucket = "bucket"; $config = array( "provider" => $provider, "endpoint" => $endpoint, "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4, "region"=> "cn-hangzhou" ); $ossClient = new OssClient($config); var_dump($ossClient); } catch (OssException $e) { printf($e->getMessage() . "\n"); return; }
Método 3: Usar RAMRoleARN
Este método requiere alibabacloud/credentials 1.2.0 o una versión posterior.
Si su aplicación necesita autorización para acceder a OSS, por ejemplo, para realizar accesos entre cuentas, utilice RAMRoleARN para inicializar el proveedor de credenciales. Este método emplea un token de STS como credencial subyacente. Al especificar el Alibaba Cloud Resource Name (ARN) de un rol de RAM, la herramienta Credentials obtiene un token de STS desde STS y lo actualiza automáticamente antes de que caduque. También puede asignar un valor al parámetro policy para restringir el rol de RAM a un conjunto menor de permisos. Este método exige proporcionar un par de AccessKey, lo que puede aumentar los riesgos de seguridad y la complejidad del mantenimiento. Para obtener más información sobre cómo conseguir un par de AccessKey, consulte CreateAccessKey - Create an AccessKey pair for a RAM user. Para saber cómo obtener un RAMRoleARN, consulte CreateRole - Create a RAM role.
-
Agregue la dependencia del cliente de credenciales.
composer require alibabacloud/credentials -
Configure las credenciales de acceso.
<?php require_once __DIR__ . '/vendor/autoload.php'; use AlibabaCloud\Credentials\Credential; use OSS\Core\OssException; use OSS\OssClient; use OSS\Credentials\CredentialsProvider; use OSS\Credentials\StaticCredentialsProvider; class AlibabaCloudCredentialsWrapper implements CredentialsProvider { /** * @var Credential */ private $wrapper; public function __construct($wrapper) { $this->wrapper = $wrapper; } public function getCredentials() { $cred = $this->wrapper->getCredential(); $ak = $cred->getAccessKeyId(); $sk = $cred->getAccessKeySecret(); $token = $cred->getSecurityToken(); return new StaticCredentialsProvider($ak, $sk, $token); } } try { $config = new Credential\Config([ // The credential type. Set the value to ram_role_arn. 'type' => 'ram_role_arn', // Get the AccessKey pair (AccessKey ID and AccessKey secret) of the RAM user from environment variables. 'accessKeyId' => getenv('OSS_ACCESS_KEY_ID'), 'accessKeySecret' => getenv('OSS_ACCESS_KEY_SECRET'), // Get the ARN of the RAM role from the environment variable. This is the ID of the role to assume, in the format acs:ram::$accountID:role/$roleName. 'roleArn' => getenv('OSS_STS_ROLE_ARN'), // A custom role session name to distinguish different tokens. 'roleSessionName' => 'yourRoleSessionName', // A custom access policy. 'policy' => '', ]); $credential = new Credential($config); $providerWrapper = new AlibabaCloudCredentialsWrapper($credential); $provider = $providerWrapper->getCredentials(); $config = array( 'provider' => $provider, // For example, if the bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. For other regions, use the actual endpoint. 'endpoint' => 'https://oss-cn-hangzhou.aliyuncs.com' "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4, "region"=> "cn-hangzhou" ); $ossClient = new OssClient($config); var_dump($ossClient); } catch (OssException $e) { print $e->getMessage(); }
Método 4: Usar ECSRAMRole
Este método requiere alibabacloud/credentials 1.2.0 o una versión posterior.
Si su aplicación se ejecuta en una instancia de ECS, una instancia de ECI o un nodo worker de Container Service for Kubernetes, utilice ECSRAMRole para inicializar el proveedor de credenciales. Este método emplea un token de STS como credencial subyacente. ECSRAMRole permite adjuntar un rol de RAM a una instancia de ECS, una instancia de ECI o un nodo worker de Container Service for Kubernetes para actualizar automáticamente el token de STS en la instancia. Este método elimina los riesgos asociados con mantener manualmente un par de AccessKey o un token de STS. Para obtener más información sobre cómo conseguir un ECSRAMRole, consulte CreateRole - Create a RAM role.
-
Agregue la dependencia del cliente de credenciales.
composer require alibabacloud/credentials -
Configure ECSRAMRole como credencial de acceso.
<?php require_once __DIR__ . '/vendor/autoload.php'; use AlibabaCloud\Credentials\Credential; use OSS\Core\OssException; use OSS\OssClient; use OSS\Credentials\CredentialsProvider; use OSS\Credentials\StaticCredentialsProvider; class AlibabaCloudCredentialsWrapper implements CredentialsProvider { /** * @var Credential */ private $wrapper; public function __construct($wrapper) { $this->wrapper = $wrapper; } public function getCredentials() { $cred = $this->wrapper->getCredential(); $ak = $cred->getAccessKeyId(); $sk = $cred->getAccessKeySecret(); $token = $cred->getSecurityToken(); return new StaticCredentialsProvider($ak, $sk, $token); } } try { $config = new Credential\Config([ // The credential type. Set the value to ecs_ram_role. 'type' => 'ecs_ram_role', 'roleName' => "<role_name>", ]); $credential = new Credential($config); $providerWrapper = new AlibabaCloudCredentialsWrapper($credential); $provider = $providerWrapper->getCredentials(); $config = array( 'provider' => $provider, // For example, if the bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. For other regions, use the actual endpoint. 'endpoint' => 'https://oss-cn-hangzhou.aliyuncs.com' "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4, "region"=> "cn-hangzhou" ); $ossClient = new OssClient($config); var_dump($ossClient); } catch (OssException $e) { print $e->getMessage(); }
Método 5: Usar credenciales del contexto de Function Compute
Si la función de su aplicación se ejecuta en Function Compute, utilice las credenciales del contexto de la función para inicializar el proveedor de credenciales. Este método emplea un token de STS como credencial subyacente. Function Compute obtiene un token de STS al asumir un rol de servicio según la configuración de la función. Después, el token de STS se pasa a su aplicación mediante el parámetro Credentials del contexto. El token de STS tiene una validez de 36 horas y este periodo no se puede modificar. El tiempo máximo de ejecución de una función es de 24 horas. Por lo tanto, el token de STS no caduca durante la ejecución de la función y no es necesario actualizarlo. Este método elimina los riesgos asociados con mantener manualmente un par de AccessKey o un token de STS. Para obtener más información sobre cómo otorgar permisos a Function Compute para acceder a OSS, consulte Use a function role to grant Function Compute permissions to access other Alibaba Cloud services.
-
Inicialice el proveedor de credenciales con las credenciales del contexto de Function Compute.
<?php use OSS\OssClient; use OSS\Core\OssException; function handler($event, $context) { /* An AccessKey pair of an Alibaba Cloud account has permissions on all API operations. We recommend that you use a RAM user for API access or routine O&M. Do not hard-code your AccessKey ID and AccessKey secret in your project code. Otherwise, the AccessKey pair may be leaked and the security of all your resources may be compromised. This example shows how to get the AccessKey ID and AccessKey secret from the context. */ $creds = $context["credentials"]; $accessKeyId = $creds["accessKeyId"]; $accessKeySecret = $creds["accessKeySecret"]; $securityToken = $creds["securityToken"]; $endpoint = "https://oss-cn-hangzhou-internal.aliyuncs.com"; try{ $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, false, $securityToken); print_r($ossClient); } catch(OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return $e->getMessage(); } return 'hello world'; }
Método 6: Usar OIDCRoleARN
Este método requiere alibabacloud/credentials 1.2.0 o una versión posterior.
Después de configurar un rol de RAM para un nodo worker de Container Service for Kubernetes, las aplicaciones en los pods de ese nodo pueden obtener el token de STS del rol asociado desde el servidor de metadatos. Esto funciona de manera similar a las aplicaciones en una instancia de ECS. Sin embargo, si despliega aplicaciones no confiables en el clúster, es probable que no desee que obtengan el token de STS del rol de RAM de la instancia desde el servidor de metadatos. Un ejemplo es una aplicación enviada por su cliente cuyo código usted no conoce. Para proteger sus recursos en la nube y permitir que estas aplicaciones no confiables obtengan de forma segura los tokens de STS necesarios con los permisos mínimos, utilice la función RAM Roles for Service Account (RRSA). Este método emplea un token de STS como credencial subyacente. Un clúster de contenedores de Alibaba Cloud crea y monta el archivo de token de OpenID Connect (OIDC) de la cuenta de servicio correspondiente para cada pod de la aplicación. Además, inserta la información de configuración en las variables de entorno. La herramienta Credentials recupera la configuración de las variables de entorno y llama a la operación AssumeRoleWithOIDC de STS para intercambiar el token de OIDC por un token de STS del rol vinculado. Este método elimina los riesgos asociados con mantener manualmente un par de AccessKey o un token de STS. Para obtener más información, consulte Pod permission isolation based on RRSA.
-
Agregue la dependencia del cliente de credenciales.
composer require alibabacloud/credentials -
El siguiente código de ejemplo muestra cómo configurar el rol de RAM de un proveedor de OIDC como credencial de acceso.
<?php require_once __DIR__ . '/vendor/autoload.php'; use OSS\Credentials\CredentialsProvider; use AlibabaCloud\Credentials\Credential; use OSS\Credentials\StaticCredentialsProvider; use OSS\Core\OssException; use OSS\OssClient; class AlibabaCloudCredentialsWrapper implements CredentialsProvider { /** * @var Credential */ private $wrapper; public function __construct($wrapper) { $this->wrapper = $wrapper; } public function getCredentials() { $cred = $this->wrapper->getCredential(); $ak = $cred->getAccessKeyId(); $sk = $cred->getAccessKeySecret(); $token = $cred->getSecurityToken(); return new StaticCredentialsProvider($ak, $sk, $token); } } try { // Initialize the Credentials Client using OIDCRoleArn. $config = new Credential\Config([ // The credential type. 'type' => 'oidc_role_arn', // The ARN of the OIDC provider. You can set oidc_provider_arn using the ALIBABA_CLOUD_OIDC_PROVIDER_ARN environment variable. 'oidcProviderArn' => '<OidcProviderArn>', // The path of the OIDC token file. You can set oidc_token_file_path using the ALIBABA_CLOUD_OIDC_TOKEN_FILE environment variable. 'oidcTokenFilePath' => '<OidcTokenFilePath>', // The ARN of the RAM role. Example: acs:ram::123456789012****:role/adminrole. You can set role_arn using the ALIBABA_CLOUD_ROLE_ARN environment variable. 'roleArn' => '<RoleArn>', // The role session name. You can set role_session_name using the ALIBABA_CLOUD_ROLE_SESSION_NAME environment variable. 'roleSessionName' => '<RoleSessionName>', // Optional. A smaller access policy. Example: {"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} 'policy' => '<Policy>', # Set the session expiration time. 'durationSeconds' => 3600, ]); $credential = new Credential($config); $providerWrapper = new AlibabaCloudCredentialsWrapper($credential); $provider = $providerWrapper->getCredentials(); $config = array( 'provider' => $provider, // For example, if the bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. For other regions, use the actual endpoint. 'endpoint' => 'https://oss-cn-hangzhou.aliyuncs.com' "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4, "region"=> "cn-hangzhou" ); $ossClient = new OssClient($config); var_dump($ossClient); } catch (OssException $e) { print $e->getMessage(); }
Método 7: Usar CredentialsURI
Este método requiere alibabacloud/credentials 1.2.0 o una versión posterior.
Si su aplicación necesita obtener credenciales de Alibaba Cloud desde un sistema externo para gestionar las credenciales de forma flexible y acceder sin claves, utilice CredentialsURI para inicializar el proveedor de credenciales. Este método emplea un token de STS como credencial subyacente. La herramienta Credentials obtiene un token de STS desde el URI que usted proporciona para inicializar el cliente de credenciales. Este método elimina los riesgos asociados con mantener manualmente un par de AccessKey o un token de STS. El servicio de backend que proporciona la respuesta de CredentialsURI debe implementar la lógica para actualizar automáticamente el token de STS. De esta manera, su aplicación siempre contará con una credencial válida.
-
Agregue la dependencia del cliente de credenciales.
composer require alibabacloud/credentials -
El siguiente código de ejemplo muestra cómo configurar CredentialsURI como credencial de acceso.
<?php require_once __DIR__ . '/vendor/autoload.php'; use AlibabaCloud\Credentials\Credential; use OSS\Core\OssException; use OSS\Credentials\CredentialsProvider; use OSS\Credentials\StaticCredentialsProvider; use OSS\OssClient; class AlibabaCloudCredentialsWrapper implements CredentialsProvider { /** * @var Credential */ private $wrapper; public function __construct($wrapper) { $this->wrapper = $wrapper; } public function getCredentials() { $cred = $this->wrapper->getCredential(); $ak = $cred->getAccessKeyId(); $sk = $cred->getAccessKeySecret(); $token = $cred->getSecurityToken(); return new StaticCredentialsProvider($ak, $sk, $token); } } try { $config = new Credential\Config([ // The credential type. 'type' => 'credentials_uri', // The URI of the credential, in the format http://local_or_remote_uri/. You can set credentials_uri using the ALIBABA_CLOUD_CREDENTIALS_URI environment variable. 'credentialsURI' => '<CredentialsUri>', ]); $credential = new Credential($config); $providerWrapper = new AlibabaCloudCredentialsWrapper($credential); $provider = $providerWrapper->getCredentials(); $config = array( 'provider' => $provider, // For example, if the bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. For other regions, use the actual endpoint. 'endpoint' => 'https://oss-cn-hangzhou.aliyuncs.com' "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4, "region"=> "cn-hangzhou" ); $ossClient = new OssClient($config); var_dump($ossClient); } catch (OssException $e) { print $e->getMessage(); }
Método 8: Usar credenciales de acceso personalizadas
Si ninguno de los métodos anteriores cubre sus necesidades, defina un proveedor de credenciales personalizado mediante la implementación de la interfaz Credential Providers.
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\CredentialsProvider;
use OSS\OssClient;
use OSS\Core\OssException;
class CustomerCredentialsProvider implements CredentialsProvider
{
public function getCredentials()
{
// Return long-term credentials.
return [
'AccessKeyId' => 'id',
'AccessKeySecret' => 'secret',
];
// Return temporary credentials.
//return [
// 'AccessKeyId' => 'id',
// 'AccessKeySecret' => 'secret',
// 'SecurityToken' => 'token',
//];
}
}
$provider = new CustomerCredentialsProvider();
try {
$provider = new CustomerCredentialsProvider();
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
printf($ossClient);
} catch (OssException $e) {
printf($e->getMessage() . "\n");
return;
}
Pasos siguientes
Después de inicializar el proveedor de credenciales, úselo para crear una instancia de OSSClient. Para obtener más información, consulte Initialization (PHP SDK V1).