backblaze-b2 es una biblioteca de clientes para trabajar con el servicio de almacenamiento B2 de Backblaze. Su objetivo es que el uso del servicio sea lo más fácil posible al exponer una API clara y influir en otros SDK con los que puede estar familiarizado.
Este paquete almacenará en caché la solicitud de autorización por 1 hora para que no reciba el límite de API de B2.
Esta versión funciona con la tecla maestra y la tecla de aplicación, y la versión 2 (busque a continuación).
Este es solo un breve ejemplo, ejemplos completos para venir en la wiki.
use obregonco B2 Client ;
use obregonco B2 Bucket ;
$ client = new Client ( ' accountId ' , [
' keyId ' => ' your-key-id ' , // optional if you want to use master key (account Id)
' applicationKey ' => ' your-application-key ' ,
]);
$ client -> version = 2 ; // By default will use version 1
$ client -> domainAliases = [ // When you want to use your own domains (using CNAME)
' f0001.backblazeb2.com ' => ' alias01.mydomain.com ' ,
];
$ client -> largeFileLimit = 3000000000 ; // Lower limit for using large files upload support. Default: 3GB
// Returns a Bucket object.
$ bucket = $ client -> createBucket ([
' BucketName ' => ' my-special-bucket ' ,
' BucketType ' => Bucket:: TYPE_PRIVATE // or TYPE_PUBLIC
]);
// Change the bucket to private. Also returns a Bucket object.
$ updatedBucket = $ client -> updateBucket ([
' BucketId ' => $ bucket -> getId (),
' BucketType ' => Bucket:: TYPE_PUBLIC
]);
// Retrieve an array of Bucket objects on your account.
$ buckets = $ client -> listBuckets ();
// Delete a bucket.
$ client -> deleteBucket ([
' BucketId ' => ' 4c2b957661da9c825f465e1b '
]);
// Upload a file to a bucket. Returns a File object.
$ file = $ client -> upload ([
' BucketName ' => ' my-special-bucket ' ,
' FileName ' => ' path/to/upload/to ' ,
' Body ' => ' I am the file content '
// The file content can also be provided via a resource.
// 'Body' => fopen('/path/to/input', 'r')
]);
// Download a file from a bucket. Returns the file content.
$ fileContent = $ client -> download ([
' FileId ' => $ file -> getId ()
// Can also identify the file via bucket and path:
// 'BucketName' => 'my-special-bucket',
// 'FileName' => 'path/to/file'
// Can also save directly to a location on disk. This will cause download() to not return file content.
// 'SaveAs' => '/path/to/save/location'
]);
// Delete a file from a bucket. Returns true or false.
$ fileDelete = $ client -> deleteFileFromArray ([
' FileId ' => $ file -> getId ()
// Can also identify the file via bucket and path:
// 'BucketName' => 'my-special-bucket',
// 'FileName' => 'path/to/file'
]);
// Retrieve an array of file objects from a bucket.
$ fileList = $ client -> listFilesFromArray ([
' BucketId ' => ' 4d2dbbe08e1e983c5e6f0d12 '
]);
// Create a new access key.
$ capabilities = new Capabilities()
$ key = $ client -> createKey ( $ accountId , $ name , new Capabilities (
[Capabilities:: DELETE_BUCKETS ,
Capabilities:: LIST_ALL_BUCKET_NAMES ,
Capabilities:: READ_BUCKETS ]
));
$ keyId = $ key -> getKeyId ();
$ applicationKeyId = $ key -> getApplicationKey ();
// Delete an existing access key.
try {
$ client -> deleteKey ( $ keyId );
} catch (RequestException $ e ) {
// $e->getCode()
}La instalación es a través del compositor:
$ composer require obregonco/backblaze-b2Las pruebas se ejecutan con phpunit. Después de instalar phPunit a través del compositor (en desarrollo):
$ vendor/bin/phpunitSiéntase libre de contribuir de cualquier manera que pueda informar problemas, hacer sugerencias o enviar PRS. :)
LGPL.