Introdução às ferramentas de desenvolvimento de armazenamento do Azure Stack Hub
O Microsoft Azure Stack Hub fornece um conjunto de serviços de armazenamento que incluem armazenamento de blobs, tabelas e filas.
Utilize este artigo como um guia para começar a utilizar as ferramentas de desenvolvimento de armazenamento do Azure Stack Hub. Pode encontrar informações mais detalhadas e código de exemplo nos tutoriais de armazenamento do Azure correspondentes.
Nota
Existem diferenças entre o armazenamento do Azure Stack Hub e o armazenamento do Azure, incluindo requisitos específicos para cada plataforma. Por exemplo, existem bibliotecas de cliente específicas e requisitos de sufixo de ponto final para o Azure Stack Hub. Para obter mais informações, veja Armazenamento do Azure Stack Hub: Diferenças e considerações.
Bibliotecas de cliente do Azure
Para as bibliotecas de cliente de armazenamento, tenha em atenção a versão compatível com a API REST. Também tem de especificar o ponto final do Azure Stack Hub no seu código.
Atualização 2301 e mais recente
Nota
Existe uma vulnerabilidade de alta gravidade na versão antiga da biblioteca de cliente .NET e Java, devido às dependências numa versão vulnerável do pacote Jackson. É fortemente sugerido utilizar a versão suportada mais recente da biblioteca de cliente .NET e Java para evitar problemas de segurança.
Instalar o cliente PHP através do Composer – atual
Para instalar através do Composer: (veja o blob como exemplo).
Crie um ficheiro com o nome composer.json na raiz do projeto com o seguinte código:
{ "require": { "Microsoft/azure-storage-blob":"1.2.0" } }
Transfira composer.phar para a raiz do projeto.
Execute:
php composer.phar install
.
Especificar a versão da API
Para utilizar a nova biblioteca de cliente .NET (Comum: v12.9.0/ Blob: v12.10.0 / Fila: v12.8.0) e biblioteca de cliente Java (Comum: v12.12.0 / Blob: v12.13.0 / Fila: v12.10.0), tem de especificar explicitamente o serviceVersion em cada classe de cliente (incluindo BlobServiceClient, BlobContainerClient, BlobClient, QueueServiceClient e QueueClient), uma vez que a versão predefinida na classe de cliente não é atualmente suportada pelo Azure Stack Hub.
Exemplos
.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();
Atualização de 2008 e mais recente
Instalar o cliente PHP através do Composer – atual
Para instalar através do Composer: (veja o blob como exemplo).
Crie um ficheiro com o nome composer.json na raiz do projeto com o seguinte código:
{ "require": { "Microsoft/azure-storage-blob":"1.2.0" } }
Transfira composer.phar para a raiz do projeto.
Execute:
php composer.phar install
.
Especificar a versão da API
Para utilizar a nova biblioteca de cliente .NET (Comum: v12.9.0/ Blob: v12.10.0 / Fila: v12.8.0) e biblioteca de cliente Java (Comum: v12.12.0 / Blob: v12.13.0 / Fila: v12.10.0), tem de especificar explicitamente o serviceVersion em cada classe de cliente (incluindo BlobServiceClient, BlobContainerClient, BlobClient, QueueServiceClient e QueueClient), uma vez que a versão predefinida na classe de cliente não é atualmente suportada pelo Azure Stack Hub.
Exemplos
.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();
Atualização de 2005
Instalar o cliente PHP através do Composer – atual
Para instalar através do Composer: (veja o blob como exemplo).
Crie um ficheiro com o nome composer.json na raiz do projeto com o seguinte código:
{ "require": { "Microsoft/azure-storage-blob":"1.2.0" } }
Transfira composer.phar para a raiz do projeto.
Execute:
php composer.phar install
.
Declaração de ponto final
Um ponto final do Azure Stack Hub inclui duas partes: o nome de uma região e o domínio do Azure Stack Hub. No Azure Stack Development Kit, o ponto final predefinido é local.azurestack.external. Contacte o administrador da cloud se não tiver a certeza sobre o ponto final.
Exemplos
.NET
Para o Azure Stack Hub, o sufixo de ponto final é especificado no ficheiro de app.config:
<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;
EndpointSuffix=local.azurestack.external;" />
Java
Para o Azure Stack Hub, o sufixo de ponto final é especificado na configuração do cadeia de ligação:
public static final String storageConnectionString =
"DefaultEndpointsProtocol=http;" +
"AccountName=your_storage_account;" +
"AccountKey=your_storage_account_key;" +
"EndpointSuffix=local.azurestack.external";
Node.js
Para o Azure Stack Hub, o sufixo de ponto final é especificado na instância de declaração:
var blobSvc = azure.createBlobService('myaccount', 'mykey',
'myaccount.blob.local.azurestack.external');
C++
Para o Azure Stack Hub, o sufixo de ponto final é especificado na configuração do cadeia de ligação:
const utility::string_t storage_connection_string(U("DefaultEndpointsProtocol=https;
AccountName=your_storage_account;
AccountKey=your_storage_account_key;
EndpointSuffix=local.azurestack.external"));
PHP
Para o Azure Stack Hub, o sufixo de ponto final é especificado na configuração do cadeia de ligação:
$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
Para o Azure Stack Hub, o sufixo de ponto final é especificado na instância de declaração:
block_blob_service = BlockBlobService(account_name='myaccount',
account_key='mykey',
endpoint_suffix='local.azurestack.external')
Ruby
Para o Azure Stack Hub, o sufixo de ponto final é especificado na configuração do cadeia de ligação:
set
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;
AccountName=myaccount;
AccountKey=mykey;
EndpointSuffix=local.azurestack.external
Armazenamento de blobs
Os seguintes tutoriais de armazenamento de Blobs do Azure são aplicáveis ao Azure Stack Hub. Tenha em atenção o requisito de sufixo de ponto final específico para o Azure Stack Hub descrito na secção Exemplos anterior.
- Introdução ao armazenamento de Blobs do Azure através do .NET
- Como utilizar o Blob Storage do Java
- Como utilizar o Blob Storage do Node.js
- Como utilizar o armazenamento de Blobs a partir de C++
- Como utilizar o Blob Storage do PHP
- Como utilizar o armazenamento de Blobs do Azure a partir do Python
- Como utilizar o Blob Storage do Ruby
Armazenamento de filas
Os seguintes tutoriais de armazenamento de Filas do Azure são aplicáveis ao Azure Stack Hub. Tenha em atenção o requisito de sufixo de ponto final específico para o Azure Stack Hub descrito na secção Exemplos anterior.
- Introdução ao armazenamento de Filas do Azure com .NET
- Como utilizar o Armazenamento de filas do Java
- Como utilizar o Armazenamento de filas do Node.js
- Como utilizar o Armazenamento de filas a partir de C++
- Como utilizar o Armazenamento de filas do PHP
- Como utilizar o Armazenamento de filas do Python
- Como utilizar o Armazenamento de filas do Ruby
Table Storage
Os seguintes tutoriais de armazenamento de Tabelas do Azure são aplicáveis ao Azure Stack Hub. Tenha em atenção o requisito de sufixo de ponto final específico para o Azure Stack Hub descrito na secção Exemplos anterior.
- Introdução ao armazenamento de Tabelas do Azure através do .NET
- Como utilizar o Armazenamento de tabelas do Java
- Como utilizar o Armazenamento de Tabelas do Azure a partir de Node.js
- Como utilizar o Armazenamento de tabelas a partir de C++
- Como utilizar o Table Storage do PHP
- Como utilizar o Armazenamento de tabelas no Python
- Como utilizar o Table Storage do Ruby