Partilhar via


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 blob, tabela e fila.

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.

Nota

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 endpoint para o Azure Stack Hub. Para obter mais informações, consulte Armazenamento do Azure Stack Hub: diferenças e considerações.

Bibliotecas de cliente do Azure

Para as bibliotecas de cliente de armazenamento, esteja ciente 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 de cliente Versão suportada do Azure Stack Hub Ligação Especificação do ponto final
.NET Frequentes: 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:
Frequentes: 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
arquivo app.config
Java Comum: 12.12.0
Blob: 12.14.3
Fila: 12.11.3
Pacote Maven:
Frequentes: 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 da cadeia de conexão
Node.js 2.8.3 Link do NPM:
https://www.npmjs.com/package/azure-storage
(Execução: 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 da cadeia de conexão
PHP 1.2.0 Versão do GitHub:
Frequentes: 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 via Composer (Para saber mais, veja os detalhes abaixo.)
Configuração da 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 RubyGems:
Frequentes:
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:
Frequentes: 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 da cadeia de conexão

Nota

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

Instale o cliente PHP via Composer - versão atual

Para instalar via Composer: (tome 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. Execução: php composer.phar install.

Especificar a versão da API

Para usar a nova biblioteca de cliente .NET (Comum: v12.9.0 / Blob: v12.10.0 / Queue: v12.8.0) e a biblioteca de cliente Java (Comum: v12.12.0 / Blob: v12.13.0 / Queue: v12.10.0), deve-se especificar explicitamente a 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 é suportada atualmente 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

Biblioteca de cliente Versão suportada do Azure Stack Hub Ligação Especificação do ponto final
.NET Frequentes: 12.9.0
Blob: 12.10.0
Fila: 12.8.0
Pacote NuGet:
Frequentes: 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:
Frequentes: 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
arquivo app.config
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:
Frequentes: 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 da cadeia de conexão
Node.js 2.8.3 Link NPM:
https://www.npmjs.com/package/azure-storage
(Execução: 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 da 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 via Composer (Para saber mais, veja os detalhes abaixo.)
Configuração da 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
Rubi 1.0.1 Pacote RubyGems:
Frequentes:
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:
Frequentes: 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 da cadeia de conexão

Instale o cliente PHP via Composer - versão atual

Para instalar via Composer: (tome 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. Executar: php composer.phar install.

Especificar a versão da API

Para usar a nova biblioteca de cliente .NET (Comum: v12.9.0 / Blob: v12.10.0 / Fila: v12.8.0) e a biblioteca de cliente Java (Comum: v12.12.0 / Blob: v12.13.0 / Fila: v12.10.0), você deve especificar explicitamente a 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 é suportada atualmente 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

Biblioteca de cliente Versão suportada do Azure Stack Hub Ligação Especificação do ponto final
.NET 11.0.0 Pacote NuGet:
Frequentes: 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
arquivo app.config
Java 12.0.0-prévia.3 Pacote 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 da cadeia de conexão
Node.js 2.8.3 Link NPM:
https://www.npmjs.com/package/azure-storage
(Execução: 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 da 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 via Composer (Para saber mais, veja os detalhes abaixo.)
Configuração da cadeia de conexão
Python 2.1.0 Versão do GitHub:
Frequentes:
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 RubyGems:
Frequentes:
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 da cadeia de conexão

Instale o cliente PHP via Composer - versão atual

Para instalar via Composer: (tome 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. Executar: php composer.phar install.

Declaração de ponto final

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 da nuvem se não tiver certeza sobre seu endpoint.

Exemplos

.NET

Para o Azure Stack Hub, o sufixo de endpoint é 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 endpoint é especificado na configuração da 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 endpoint é especificado na declaração de instância.

var blobSvc = azure.createBlobService('myaccount', 'mykey',
'myaccount.blob.local.azurestack.external');

C++

Para o Azure Stack Hub, o sufixo do endpoint é especificado na configuração da string 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 de extremidade é especificado na configuração da 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 de 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 de ponto de extremidade é especificado na configuração da cadeia de conexã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 Blob do Azure são aplicáveis ao Azure Stack Hub. Observe o requisito específico de sufixo de ponto de extremidade para o Azure Stack Hub, descrito na secção Exemplos anterior.

Armazenamento de filas

Os seguintes tutoriais de armazenamento de fila do Azure são aplicáveis ao Azure Stack Hub. Observe o requisito específico para o sufixo do ponto de extremidade do Azure Stack Hub, conforme descrito na secção de Exemplos anterior.

Armazenamento de tabelas

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

Próximos passos