Azure Stack Hub 存储开发工具入门
Azure Stack Hub 提供一组存储服务,包括 Blob、表和队列存储。
使用本文作为使用 Azure Stack Hub 存储开发工具的入门指南。 可以在对应的 Azure 存储教程中,找到更多的详细信息和示例代码。
注意
Azure Stack Hub 存储和 Azure 存储之间存在一些差异,包括每个平台的特定要求。 例如,Azure Stack Hub 有特定的客户端库以及终结点后缀要求。 有关详细信息,请参阅 Azure Stack Hub 存储:差异和注意事项。
Azure 客户端库
对于存储客户端库,请了解与 REST API 兼容的版本。 还必须在代码中指定 Azure Stack Hub 终结点。
2301 更新及更高版本
注意
旧版 .NET 和 Java 客户端库依赖于易受攻击的 Jackson 包版本,因此存在一个高严重性漏洞。 强烈建议使用 .NET 和 Java 客户端库的最新受支持版本来避免安全问题。
通过 Composer 安装 PHP 客户端 - 当前
若要通过编辑器进行安装,请执行以下操作(以 Blob 为例):
在项目的根目录中,使用以下代码创建一个名为 composer.json 的文件:
{ "require": { "Microsoft/azure-storage-blob":"1.2.0" } }
将 composer.phar 下载到项目根目录。
运行:
php composer.phar install
。
指定 API 版本
若要使用新的 .NET 客户端库(通用:v12.9.0 / Blob:v12.10.0 / 队列:v12.8.0)和 Java 客户端库(通用:v12.12.0 / Blob:v12.13.0 / 队列:v12.10.0),必须在每个客户端类(包括 BlobServiceClient、BlobContainerClient、BlobClient、QueueServiceClient 和 QueueClient)中显式指定 serviceVersion,因为 Azure Stack Hub 目前不支持在客户端类中指定默认版本 。
示例
.NET
BlobClientOptions options = new BlobClientOptions(BlobClientOptions.ServiceVersion.V2019_07_07);
BlobServiceClient client = new BlobServiceClient("<connection_string>", options);
Java
BlobServiceVersion version = BlobServiceVersion.V2019_07_07;
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint("<your_endpoint>")
.sasToken("<your_SAS_token>")
.serviceVersion(version)
.buildClient();
2008 更新及更高版本
通过 Composer 安装 PHP 客户端 - 当前
若要通过编辑器进行安装,请执行以下操作(以 Blob 为例):
在项目的根目录中,使用以下代码创建一个名为 composer.json 的文件:
{ "require": { "Microsoft/azure-storage-blob":"1.2.0" } }
将 composer.phar 下载到项目根目录。
运行:
php composer.phar install
。
指定 API 版本
若要使用新的 .NET 客户端库(通用:v12.9.0 / Blob:v12.10.0 / 队列:v12.8.0)和 Java 客户端库(通用:v12.12.0 / Blob:v12.13.0 / 队列:v12.10.0),必须在每个客户端类(包括 BlobServiceClient、BlobContainerClient、BlobClient、QueueServiceClient 和 QueueClient)中显式指定 serviceVersion,因为 Azure Stack Hub 目前不支持在客户端类中指定默认版本 。
示例
.NET
BlobClientOptions options = new BlobClientOptions(BlobClientOptions.ServiceVersion.V2019_07_07);
BlobServiceClient client = new BlobServiceClient("<connection_string>", options);
Java
BlobServiceVersion version = BlobServiceVersion.V2019_07_07;
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint("<your_endpoint>")
.sasToken("<your_SAS_token>")
.serviceVersion(version)
.buildClient();
2005 更新
通过 Composer 安装 PHP 客户端 - 当前
若要通过编辑器进行安装,请执行以下操作(以 Blob 为例):
在项目的根目录中,使用以下代码创建一个名为 composer.json 的文件:
{ "require": { "Microsoft/azure-storage-blob":"1.2.0" } }
将 composer.phar 下载到项目根目录。
运行:
php composer.phar install
。
终结点声明
Azure Stack Hub 终结点包含两个部分:区域的名称和 Azure Stack Hub 域。 在 Azure Stack 开发工具包中,默认终结点是 local.azurestack.external。 如果不确定你的终结点,请与云管理员联系。
示例
.NET
对于 Azure Stack Hub,在 app.config 文件中指定终结点后缀:
<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;
EndpointSuffix=local.azurestack.external;" />
Java
对于 Azure Stack Hub,在连接字符串的设置中指定终结点后缀:
public static final String storageConnectionString =
"DefaultEndpointsProtocol=http;" +
"AccountName=your_storage_account;" +
"AccountKey=your_storage_account_key;" +
"EndpointSuffix=local.azurestack.external";
Node.js
对于 Azure Stack Hub,在声明实例中指定终结点后缀:
var blobSvc = azure.createBlobService('myaccount', 'mykey',
'myaccount.blob.local.azurestack.external');
C++
对于 Azure Stack Hub,在连接字符串的设置中指定终结点后缀:
const utility::string_t storage_connection_string(U("DefaultEndpointsProtocol=https;
AccountName=your_storage_account;
AccountKey=your_storage_account_key;
EndpointSuffix=local.azurestack.external"));
PHP
对于 Azure Stack Hub,在连接字符串的设置中指定终结点后缀:
$connectionString = 'BlobEndpoint=https://<storage account name>.blob.local.azurestack.external/;
QueueEndpoint=https:// <storage account name>.queue.local.azurestack.external/;
TableEndpoint=https:// <storage account name>.table.local.azurestack.external/;
AccountName=<storage account name>;AccountKey=<storage account key>'
Python
对于 Azure Stack Hub,在声明实例中指定终结点后缀:
block_blob_service = BlockBlobService(account_name='myaccount',
account_key='mykey',
endpoint_suffix='local.azurestack.external')
Ruby
对于 Azure Stack Hub,在连接字符串的设置中指定终结点后缀:
set
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;
AccountName=myaccount;
AccountKey=mykey;
EndpointSuffix=local.azurestack.external
Blob 存储
以下 Azure Blob 存储教程适用于 Azure Stack Hub。 请注意前面示例部分中所述的 Azure Stack Hub 特定终结点后缀需求。
- 通过 .NET 开始使用 Azure Blob 存储
- 如何通过 Java 使用 Blob 存储
- 如何通过 Node.js 使用 Blob 存储
- 如何通过 C++ 使用 Blob 存储
- 如何通过 PHP 使用 Blob 存储
- 如何通过 Python 使用 Azure Blob 存储
- 如何通过 Ruby 使用 Blob 存储
队列存储
以下 Azure 队列存储教程适用于 Azure Stack Hub。 请注意前面示例部分中所述的 Azure Stack Hub 特定终结点后缀需求。
- 通过 .NET 开始使用 Azure 队列存储
- 如何通过 Java 使用队列存储
- 如何通过 Node.js 使用队列存储
- 如何通过 C++ 使用队列存储
- 如何通过 PHP 使用队列存储
- 如何通过 Python 使用队列存储
- 如何通过 Ruby 使用队列存储
表存储
以下 Azure 表存储教程适用于 Azure Stack Hub。 请注意前面示例部分中所述的 Azure Stack Hub 特定终结点后缀需求。
- 通过 .NET 开始使用 Azure 表存储
- 如何通过 Java 使用表存储
- 如何通过 Node.js 使用 Azure 表存储
- 如何通过 C++ 使用表存储
- 如何通过 PHP 使用表存储
- 如何在 Python 中使用表存储
- 如何通过 Ruby 使用表存储