Microsoft / azure-storage-table
该项目提供了一组PHP客户端库,可以轻松访问Microsoft Azure存储表API。
Requires
- php: >=5.6.0
- microsoft/azure-storage-common: ~1.5
This package is not auto-updated.
Last update: 2024-09-13 11:43:56 UTC
README
本项目提供了一个PHP客户端库,可轻松访问Microsoft Azure存储表服务。有关如何在Microsoft Azure上托管PHP应用程序的文档,请参阅Microsoft Azure PHP开发者中心。
注意
- 此存储库目前仅用于发布,请访问azure-storage-php提交问题或贡献。
- 如果您正在寻找服务总线、服务运行时、服务管理或媒体服务库,请访问https://github.com/Azure/azure-sdk-for-php。
- 如果您需要大文件(大于2GB)或64位整数支持,请安装PHP 7 64位版本。
功能
- 表
- 创建和删除表
- 创建、查询、插入、更新、合并和删除实体
- 批量操作
请参阅API参考文档以获取详细信息。
入门
最低要求
-
PHP 5.6或更高版本
-
有关依赖项,请参阅composer.json
-
PHP所需的扩展
- php_fileinfo.dll
- php_mbstring.dll
- php_openssl.dll
- php_xsl.dll
-
PHP推荐扩展
- php_curl.dll
下载源代码
要从GitHub获取源代码,请输入
git clone https://github.com/Azure/azure-storage-php.git
cd ./azure-storage-php
通过Composer安装
- 在您的项目根目录中创建一个名为composer.json的文件,并将其中的以下代码添加到该文件中
{ "require": { "microsoft/azure-storage-table": "*" } }
-
在项目根目录中下载composer.phar
-
打开命令提示符,并在项目根目录中执行以下操作
php composer.phar install
使用
在使用库进行任何调用之前,您必须执行以下四个基本步骤。
- 首先,包含自动加载脚本
require_once "vendor/autoload.php";
-
包含您将要使用的命名空间。
要创建任何Microsoft Azure服务客户端,您需要使用REST代理类,例如 TableRestProxy 类
use MicrosoftAzure\Storage\Table\TableRestProxy;
要处理异常,您需要
use MicrosoftAzure\Storage\Common\ServiceException;
- 要实例化服务客户端,您还需要一个有效的连接字符串。格式为
DefaultEndpointsProtocol=[http|https];AccountName=[yourAccount];AccountKey=[yourKey]
或
TableEndpoint=[myTableEndpoint];SharedAccessSignature=[sasToken]
- 实例化客户端对象 - 包围给定服务的可用调用的包装器。
$tableClient = TableRestProxy::createTableService($connectionString);
使用中间件
要指定中间件,用户必须创建一个包含中间件的数组,并将其放入具有“middlewares”键的 $requestOptions
中。数组的顺序将影响中间件调用的顺序。通常可以在API调用的选项中设置 $requestOptions
,例如 MicrosoftAzure\Storage\Table\Models\QueryTablesOptions
。
如果中间件应用于每个REST代理的API调用,用户可以在创建服务时将中间件推送到具有“middlewares”键的数组中的 $_options
,而不是在 $requestOptions
中设置。这些中间件将始终在 $requestOptions
中的中间件之后调用。例如:
$tableClient = TableRestProxy::createTableService( $connectionString, $optionsWithMiddlewares );
中间件应该是实现 MicrosoftAzure\Storage\Common\Internal\IMiddleware
的子类的实例,或者是一个遵循 Guzzle 中间件实现约定的 callable
。
用户可以创建继承自 MicrosoftAzure\Storage\Common\Internal\Middlewares\MiddlewareBase
的自定义中间件。
使用代理
要在 HTTP 请求期间使用代理,设置系统变量 HTTP_PROXY
,代理将被使用。
故障排除
错误:无法获取本地颁发者证书
当尝试向 Azure 存储服务发起请求调用时,cURL 无法验证 Microsoft 证书的有效性。您必须按照以下步骤配置 cURL,在发起 https 请求时使用证书
-
从 cURL 网站 下载 cacert.pem 文件。
-
然后执行以下操作之一
- 打开您的 php.ini 文件并添加以下行
curl.cainfo = "<absolute path to cacert.pem>"
或者 - 在创建代理时指向 cacert。
$options["http"] = ["verify" => "<absolute path to cacert.pem>"]; TableRestProxy::createTableService($connectionString, $options);
- 打开您的 php.ini 文件并添加以下行
代码示例
您可以在 示例文件夹 中找到示例。
从 Azure SDK for PHP 迁移
如果您使用 Azure SDK for PHP 来访问 Azure 存储服务,我们强烈建议您迁移到本 SDK,以实现更快的故障排除和更快速的功能实现。我们正在努力支持最新的服务功能以及改进现有的 API。
目前,Microsoft Azure Storage PHP 客户端库几乎与 Azure SDK for PHP 中的存储块、表、队列和文件 API 具有相同的接口。但是,在迁移过程中需要解决一些小的破坏性更改。您可以在 BreakingChanges.md 中找到详细信息。
需要帮助?
如果您在使用提供的代码时遇到问题,请务必查看 Microsoft Azure 开发者论坛 和 github 问题。
贡献代码或提供反馈
如果您想成为本项目的积极参与者,请遵循在 Azure 项目贡献指南 中提供的说明。您可以在 CONTRIBUTING.md 中找到更多关于贡献的详细信息。
如果您在库中遇到任何错误,请在本项目的 问题 部分中提交问题。