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 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 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:
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 Frequentes: 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:
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.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 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 - 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 / 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 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 Frequentes: 12.12.0
Blob: 12.13.0
Fila: 12.10.0
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.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:
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.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 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 - 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 / 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é-visualização.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:
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 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:
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 - 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.

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 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 de ponto de extremidade é especificado na configuração da 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 de 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 de ponto de extremidade é especificado na configuração da 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 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 de sufixo de ponto de extremidade específico para o Azure Stack Hub descrito na seçã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 de sufixo de ponto de extremidade específico para o Azure Stack Hub descrito na seção 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 de ponto de extremidade específico para o Azure Stack Hub descrito na seção Exemplos anterior.

Próximos passos