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 inclui armazenamento de blobs, tabelas e filas.

Use este artigo como um guia para começar a usar as ferramentas de desenvolvimento de armazenamento do Azure Stack Hub. Você pode encontrar informações mais detalhadas e código de exemplo nos tutoriais de armazenamento do Azure correspondentes.

Observação

Há diferenças entre o armazenamento do Azure Stack Hub e o armazenamento do Azure, incluindo requisitos específicos para cada plataforma. Por exemplo, há bibliotecas de cliente específicas e requisitos de sufixo de ponto de extremidade para o Azure Stack Hub. Para obter mais informações, consulte Armazenamento do Azure Stack Hub: diferenças e considerações.

Bibliotecas de clientes do Azure

Para as bibliotecas de cliente de armazenamento, lembre-se da versão compatível com a API REST. Você também deve especificar o ponto de extremidade do Azure Stack Hub em seu código.

Atualização 2301 e mais recente

Biblioteca do cliente Versão com suporte do Azure Stack Hub Link Especificação do ponto de extremidade
.NET Comum: 12.9.0
Blob: 12.10.0
Fila: 12.8.0
Pacote NuGet:
Comum: https://www.nuget.org/packages/Azure.Storage.common/12.9.0
Blob: https://www.nuget.org/packages/Azure.Storage.Blobs/12.10.0
Fila: https://www.nuget.org/packages/Azure.Storage.queues/12.8.0

Versão do GitHub:
Comum: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.9.0/sdk/storage/Azure.Storage.Common
Blob: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.10.0/sdk/storage/Azure.Storage.Blobs
Fila: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.8.0/sdk/storage/Azure.Storage.Queues
app.config file
Java Comum: 12.12.0
Blob: 12.14.3
Fila: 12.11.3
Pacote Maven:
Comum: https://mvnrepository.com/artifact/com.azure/azure-storage-common/12.12.0
Blob: https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.14.3
Fila: https://mvnrepository.com/artifact/com.azure/azure-storage-queue/12.11.3

Versão do GitHub:
Comum: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-common_12.12.0/sdk/storage/azure-storage-common
Blob: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-blob_12.14.3/sdk/storage/azure-storage-blob
Fila: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-queue_12.11.3/sdk/storage/azure-storage-queue
Configuração de cadeia de conexão
Node.js 2.8.3 Link do NPM:
https://www.npmjs.com/package/azure-storage
(Executar: npm install azure-storage@2.8.3)

Versão do GitHub:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
Declaração de instância de serviço
C++ Blob: 12.2.0
Fila: 12.0.0
Versão do GitHub:
Blob: https://github.com/Azure/azure-sdk-for-cpp/tree/azure-storage-blobs_12.2.0
Fila: https://github.com/Azure/azure-sdk-for-cpp/tree/azure-storage-queues_12.0.0
Configuração de cadeia de conexão
PHP 1.2.0 Versão do GitHub:
Comum: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-common
Blob: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-blob
Fila:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
Tabela: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Instale por meio do Composer (para saber mais, confira os detalhes abaixo.)
Configuração de cadeia de conexão
Python Blob: 12.9.0
Fila: 12.1.6
Versão do GitHub:
Blob:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-blob_12.9.0/sdk/storage/azure-storage-blob
Fila:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-queue_12.1.6/sdk/storage/azure-storage-queue
Declaração de instância de serviço
Ruby 1.0.1 Pacote do RubyGems:
Comum:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
Blob: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
Fila: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
Tabela: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

Versão do GitHub:
Comum: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-common
Blob: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-blob
Fila: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
Tabela: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
Configuração de cadeia de conexão

Observação

Há uma vulnerabilidade de alta gravidade na versão antiga da biblioteca de clientes .NET e Java, devido às dependências de uma versão vulnerável do pacote Jackson. É altamente recomendável usar a versão mais recente com suporte da biblioteca de clientes .NET e Java para evitar problemas de segurança.

Instalar o cliente PHP por meio do Composer - atual

Para instalar por meio do Composer: (use o blob como exemplo).

  1. Crie um arquivo chamado composer.json na raiz do projeto com o seguinte código:

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. Baixe composer.phar para a raiz do projeto.

  3. Execute: php composer.phar install.

Especificar a versão da API

Para usar a nova biblioteca de clientes .NET (Comum: v12.9.0 / Blob: v12.10.0 / Fila: v12.8.0) e biblioteca de clientes Java (Comum: v12.12.0 / Blob: v12.13.0 / Fila: v12.10.0), você deve especificar explicitamente o serviceVersion em cada classe de cliente (incluindo BlobServiceClient, BlobContainerClient, BlobClient, QueueServiceClient e QueueClient), porque a versão padrão na classe de cliente não tem suporte no momento 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 2008 e mais recente

Biblioteca do cliente Versão com suporte do Azure Stack Hub Link Especificação do ponto de extremidade
.NET Comum: 12.9.0
Blob: 12.10.0
Fila: 12.8.0
Pacote NuGet:
Comum: https://www.nuget.org/packages/Azure.Storage.common/12.9.0
Blob: https://www.nuget.org/packages/Azure.Storage.Blobs/12.10.0
Fila: https://www.nuget.org/packages/Azure.Storage.queues/12.8.0

Versão do GitHub:
Comum: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.9.0/sdk/storage/Azure.Storage.Common
Blob: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.10.0/sdk/storage/Azure.Storage.Blobs
Fila: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.8.0/sdk/storage/Azure.Storage.Queues
app.config file
Java Comum: 12.12.0
Blob: 12.13.0
Fila: 12.10.0
Pacote Maven:
Comum: https://mvnrepository.com/artifact/com.azure/azure-storage-common/12.12.0
Blob: https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.13.0
Fila: https://mvnrepository.com/artifact/com.azure/azure-storage-queue/12.10.0

Versão do GitHub:
Comum: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-common_12.12.0/sdk/storage/azure-storage-common
Blob: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-blob_12.13.0/sdk/storage/azure-storage-blob
Fila: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-queue_12.10.0/sdk/storage/azure-storage-queue
Configuração de cadeia de conexão
Node.js 2.8.3 Link do NPM:
https://www.npmjs.com/package/azure-storage
(Executar: npm install azure-storage@2.8.3)

Versão do GitHub:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
Declaração de instância de serviço
C++ 7.2.0 Versão do GitHub:
https://github.com/Azure/azure-storage-cpp/releases/tag/v7.2.0
Configuração de cadeia de conexão
PHP 1.2.0 Versão do GitHub:
Comum: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-common
Blob: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-blob
Fila:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
Tabela: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Instale por meio do Composer (para saber mais, confira os detalhes abaixo.)
Configuração de cadeia de conexão
Python Blob: 12.3.1
Fila: 12.1.6
Versão do GitHub:
Blob:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-blob_12.3.1/sdk/storage/azure-storage-blob
Fila:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-queue_12.1.6/sdk/storage/azure-storage-queue
Declaração de instância de serviço
Ruby 1.0.1 Pacote do RubyGems:
Comum:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
Blob: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
Fila: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
Tabela: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

Versão do GitHub:
Comum: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-common
Blob: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-blob
Fila: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
Tabela: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
Configuração de cadeia de conexão

Instalar o cliente PHP por meio do Composer - atual

Para instalar por meio do Composer: (use o blob como exemplo).

  1. Crie um arquivo chamado composer.json na raiz do projeto com o seguinte código:

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. Baixe composer.phar para a raiz do projeto.

  3. Execute: php composer.phar install.

Especificar a versão da API

Para usar a nova biblioteca de clientes .NET (Comum: v12.9.0 / Blob: v12.10.0 / Fila: v12.8.0) e biblioteca de clientes Java (Comum: v12.12.0 / Blob: v12.13.0 / Fila: v12.10.0), você deve especificar explicitamente o serviceVersion em cada classe de cliente (incluindo BlobServiceClient, BlobContainerClient, BlobClient, QueueServiceClient e QueueClient), porque a versão padrão na classe de cliente não tem suporte no momento 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 2005

Biblioteca do cliente Versão com suporte do Azure Stack Hub Link Especificação do ponto de extremidade
.NET 11.0.0 Pacote NuGet:
Comum: https://www.nuget.org/packages/Microsoft.Azure.Storage.Common/11.0.0
Blob: https://www.nuget.org/packages/Microsoft.Azure.Storage.Blob/11.0.0
Fila:
https://www.nuget.org/packages/Microsoft.Azure.Storage.Queue/11.0.0

Versão do GitHub:
https://github.com/Azure/azure-storage-net/releases/tag/v11.0.0
app.config file
Java 12.0.0-preview.3 Pacote do Maven:
https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.0.0-preview.3

Versão do GitHub:
https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/storage
Configuração de cadeia de conexão
Node.js 2.8.3 Link do NPM:
https://www.npmjs.com/package/azure-storage
(Executar: npm install azure-storage@2.8.3)

Versão do GitHub:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
Declaração de instância de serviço
C++ 7.1.0 Versão do GitHub:
https://github.com/Azure/azure-storage-cpp/releases/tag/v7.1.0
Configuração de cadeia de conexão
PHP 1.2.0 Versão do GitHub:
Comum: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-common
Blob: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-blob
Fila:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
Tabela: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Instalar por meio do Composer (para saber mais, confira os detalhes abaixo.)
Configuração de cadeia de conexão
Python 2.1.0 Versão do GitHub:
Comum:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-common
Blob:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-blob
Fila:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-queue
Declaração de instância de serviço
Ruby 1.0.1 Pacote do RubyGems:
Comum:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
Blob: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
Fila: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
Tabela: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

Versão do GitHub:
Comum: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-common
Blob: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-blob
Fila: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
Tabela: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
Configuração de cadeia de conexão

Instalar o cliente PHP por meio do Composer - atual

Para instalar por meio do Composer: (use o blob como exemplo).

  1. Crie um arquivo chamado composer.json na raiz do projeto com o seguinte código:

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. Baixe composer.phar para a raiz do projeto.

  3. Execute: php composer.phar install.

Declaração de ponto de extremidade

Um ponto de extremidade do Azure Stack Hub inclui duas partes: o nome de uma região e o domínio do Azure Stack Hub. No Kit de Desenvolvimento do Azure Stack, o ponto de extremidade padrão é local.azurestack.external. Entre em contato com o administrador de nuvem se você não tiver certeza sobre seu ponto de extremidade.

Exemplos

.NET

Para o Azure Stack Hub, o sufixo do ponto de extremidade é especificado no arquivo app.config:

<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;
EndpointSuffix=local.azurestack.external;" />

Java

Para o Azure Stack Hub, o sufixo do ponto de extremidade é especificado na configuração do cadeia de conexã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 do ponto de extremidade é 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 do ponto de extremidade é especificado na configuração do cadeia de conexã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 do ponto de extremidade é especificado na configuração do cadeia de conexã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 do ponto de extremidade é 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 do ponto de extremidade é especificado na configuração do cadeia de conexão:

set
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;
AccountName=myaccount;
AccountKey=mykey;
EndpointSuffix=local.azurestack.external

Armazenamento de blob

Os tutoriais de armazenamento de Blobs do Azure a seguir são aplicáveis ao Azure Stack Hub. Observe o requisito de sufixo de ponto de extremidade específico para o Azure Stack Hub descrito na seção Exemplos anterior.

Armazenamento de filas

Os tutoriais de armazenamento de Filas do Azure a seguir são aplicáveis ao Azure Stack Hub. Observe o requisito de sufixo de ponto de extremidade específico para o Azure Stack Hub descrito na seção Exemplos anterior.

Armazenamento de tabela

Os tutoriais de armazenamento de Tabelas do Azure a seguir são aplicáveis ao Azure Stack Hub. Observe o requisito de sufixo de ponto de extremidade específico para o Azure Stack Hub descrito na seção Exemplos anterior.

Próximas etapas