Introduzione agli strumenti di sviluppo dell'archiviazione dell'hub di Azure Stack

L'hub di Microsoft Azure Stack offre un set di servizi di archiviazione che includono BLOB, tabelle e archiviazione code.

Usare questo articolo come guida per iniziare a usare gli strumenti di sviluppo di archiviazione dell'hub di Azure Stack. È possibile trovare informazioni più dettagliate e codice di esempio nelle esercitazioni relative all'archiviazione di Azure.

Nota

Esistono differenze tra l'archiviazione dell'hub di Azure Stack e l'archiviazione di Azure, inclusi requisiti specifici per ogni piattaforma. Ad esempio, esistono librerie client e requisiti di suffisso endpoint specifici per l'hub di Azure Stack. Per altre informazioni, vedere Archiviazione hub di Azure Stack: differenze e considerazioni.

Librerie client di Azure

Per le librerie client di archiviazione, tenere presente la versione compatibile con l'API REST. È anche necessario specificare l'endpoint dell'hub di Azure Stack nel codice.

Aggiornamento e versioni successive di 2301

Libreria client Versione supportata dell'hub di Azure Stack Collegamento Specifica dell'endpoint
.NET Comune: 12.9.0
BLOB: 12.10.0
Coda: 12.8.0
Pacchetto NuGet:
Comuni: https://www.nuget.org/packages/Azure.Storage.common/12.9.0
BLOB: https://www.nuget.org/packages/Azure.Storage.Blobs/12.10.0
Coda: https://www.nuget.org/packages/Azure.Storage.queues/12.8.0

Versione di GitHub:
Comuni: 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
Coda: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.8.0/sdk/storage/Azure.Storage.Queues
file app.config
Java Comune: 12.12.0
BLOB: 12.14.3
Coda: 12.11.3
Pacchetto Maven:
Comuni: 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
Coda: https://mvnrepository.com/artifact/com.azure/azure-storage-queue/12.11.3

Versione di GitHub:
Comuni: 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
Coda: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-queue_12.11.3/sdk/storage/azure-storage-queue
Configurazione della stringa di connessione
Node.js 2.8.3 Collegamento NPM:
https://www.npmjs.com/package/azure-storage
(Esegui: npm install azure-storage@2.8.3)

Versione di GitHub:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
Dichiarazione istanza del servizio
C++ BLOB: 12.2.0
Coda: 12.0.0
Versione di GitHub:
BLOB: https://github.com/Azure/azure-sdk-for-cpp/tree/azure-storage-blobs_12.2.0
Coda: https://github.com/Azure/azure-sdk-for-cpp/tree/azure-storage-queues_12.0.0
Configurazione della stringa di connessione
PHP 1.2.0 Versione di GitHub:
Comuni: 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
Coda:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
Tavolo: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Installare tramite Composer (per altre informazioni, vedere i dettagli seguenti).
Configurazione della stringa di connessione
Python BLOB: 12.9.0
Coda: 12.1.6
Versione di GitHub:
BLOB:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-blob_12.9.0/sdk/storage/azure-storage-blob
Coda:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-queue_12.1.6/sdk/storage/azure-storage-queue
Dichiarazione istanza del servizio
Ruby 1.0.1 Pacchetto RubyGems:
Comune:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
BLOB: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
Coda: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
Tavolo: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

Versione di GitHub:
Comuni: 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
Coda: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
Tavolo: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
Configurazione della stringa di connessione

Nota

Esiste una vulnerabilità di gravità elevata nella versione precedente della libreria client .NET e Java, a causa delle dipendenze di una versione vulnerabile del pacchetto Jackson. È consigliabile usare la versione più recente supportata della libreria client .NET e Java per evitare problemi di sicurezza.

Installare il client PHP tramite Composer - corrente

Per installare tramite Composer: (prendere il BLOB come esempio).

  1. Creare un file denominato composer.json nella radice del progetto con il codice seguente:

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. Scaricare composer.phar nella radice del progetto.

  3. Eseguire: php composer.phar install.

Specificare la versione dell'API

Per usare la nuova libreria client .NET (Common: v12.9.0 / BLOB: v12.10.0 / Queue: v12.8.0) e libreria client Java (Common: v12.0) 12.0 / BLOB: v12.13.0 / Queue: v12.10.0), è necessario specificare in modo esplicito il servizioVersion in ogni classe client (incluso BLOBServiceClient, BLOBContainerClient, BLOBContainerClient, BLOBClient, QueueServiceClient e QueueClient), poiché la versione predefinita nella classe client non è attualmente supportata dall'hub di Azure Stack.

Esempio

.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();

Aggiornamento e versioni successive del 2008

Libreria client Versione supportata dell'hub di Azure Stack Collegamento Specifica dell'endpoint
.NET Comune: 12.9.0
BLOB: 12.10.0
Coda: 12.8.0
Pacchetto NuGet:
Comuni: https://www.nuget.org/packages/Azure.Storage.common/12.9.0
BLOB: https://www.nuget.org/packages/Azure.Storage.Blobs/12.10.0
Coda: https://www.nuget.org/packages/Azure.Storage.queues/12.8.0

Versione di GitHub:
Comuni: 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
Coda: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.8.0/sdk/storage/Azure.Storage.Queues
file app.config
Java Comune: 12.12.0
BLOB: 12.13.0
Coda: 12.10.0
Pacchetto Maven:
Comuni: 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
Coda: https://mvnrepository.com/artifact/com.azure/azure-storage-queue/12.10.0

Versione di GitHub:
Comuni: 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
Coda: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-queue_12.10.0/sdk/storage/azure-storage-queue
Configurazione della stringa di connessione
Node.js 2.8.3 Collegamento NPM:
https://www.npmjs.com/package/azure-storage
(Esegui: npm install azure-storage@2.8.3)

Versione di GitHub:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
Dichiarazione istanza del servizio
C++ 7.2.0 Versione di GitHub:
https://github.com/Azure/azure-storage-cpp/releases/tag/v7.2.0
Configurazione della stringa di connessione
PHP 1.2.0 Versione di GitHub:
Comuni: 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
Coda:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
Tavolo: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Installare tramite Composer (per altre informazioni, vedere i dettagli seguenti).
Configurazione della stringa di connessione
Python BLOB: 12.3.1
Coda: 12.1.6
Versione di GitHub:
BLOB:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-blob_12.3.1/sdk/storage/azure-storage-blob
Coda:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-queue_12.1.6/sdk/storage/azure-storage-queue
Dichiarazione istanza del servizio
Ruby 1.0.1 Pacchetto RubyGems:
Comune:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
BLOB: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
Coda: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
Tavolo: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

Versione di GitHub:
Comuni: 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
Coda: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
Tavolo: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
Configurazione della stringa di connessione

Installare il client PHP tramite Composer - corrente

Per installare tramite Composer: (prendere il BLOB come esempio).

  1. Creare un file denominato composer.json nella radice del progetto con il codice seguente:

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. Scaricare composer.phar nella radice del progetto.

  3. Eseguire: php composer.phar install.

Specificare la versione dell'API

Per usare la nuova libreria client .NET (Common: v12.9.0 / BLOB: v12.10.0 / Queue: v12.8.0) e libreria client Java (Common: v12.0) 12.0 / BLOB: v12.13.0 / Queue: v12.10.0), è necessario specificare in modo esplicito il servizioVersion in ogni classe client (incluso BLOBServiceClient, BLOBContainerClient, BLOBContainerClient, BLOBClient, QueueServiceClient e QueueClient), poiché la versione predefinita nella classe client non è attualmente supportata dall'hub di Azure Stack.

Esempio

.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();

Aggiornamento 2005

Libreria client Versione supportata dell'hub di Azure Stack Collegamento Specifica dell'endpoint
.NET 11.0.0 Pacchetto NuGet:
Comuni: 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
Coda:
https://www.nuget.org/packages/Microsoft.Azure.Storage.Queue/11.0.0

Versione di GitHub:
https://github.com/Azure/azure-storage-net/releases/tag/v11.0.0
file app.config
Java 12.0.0-preview.3 Pacchetto Maven:
https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.0.0-preview.3

Versione di GitHub:
https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/storage
Configurazione della stringa di connessione
Node.js 2.8.3 Collegamento NPM:
https://www.npmjs.com/package/azure-storage
(Esegui: npm install azure-storage@2.8.3)

Versione di GitHub:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
Dichiarazione istanza del servizio
C++ 7.1.0 Versione di GitHub:
https://github.com/Azure/azure-storage-cpp/releases/tag/v7.1.0
Configurazione della stringa di connessione
PHP 1.2.0 Versione di GitHub:
Comuni: 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
Coda:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
Tavolo: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Installare tramite Composer (per altre informazioni, vedere i dettagli seguenti).
Configurazione della stringa di connessione
Python 2.1.0 Versione di GitHub:
Comune:
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
Coda:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-queue
Dichiarazione istanza del servizio
Ruby 1.0.1 Pacchetto RubyGems:
Comune:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
BLOB: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
Coda: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
Tavolo: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

Versione di GitHub:
Comuni: 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
Coda: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
Tavolo: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
Configurazione della stringa di connessione

Installare il client PHP tramite Composer - corrente

Per eseguire l'installazione tramite Composer: (ad esempio, prendere il BLOB).

  1. Creare un file denominato composer.json nella radice del progetto con il codice seguente:

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. Scaricare composer.phar nella radice del progetto.

  3. Eseguire: php composer.phar install.

Dichiarazione dell'endpoint

Un endpoint dell'hub di Azure Stack include due parti: il nome di un'area e il dominio dell'hub di Azure Stack. In Azure Stack Development Kit l'endpoint predefinito è local.azurestack.external. Se non si è certi dell'endpoint, contattare l'amministratore cloud.

Esempio

.NET

Per l'hub di Azure Stack, il suffisso dell'endpoint viene specificato nel file app.config:

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

Java

Per l'hub di Azure Stack, il suffisso dell'endpoint viene specificato nella configurazione di stringa di connessione:

public static final String storageConnectionString =
    "DefaultEndpointsProtocol=http;" +
    "AccountName=your_storage_account;" +
    "AccountKey=your_storage_account_key;" +
    "EndpointSuffix=local.azurestack.external";

Node.js

Per l'hub di Azure Stack, il suffisso dell'endpoint viene specificato nell'istanza di dichiarazione:

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

C++

Per l'hub di Azure Stack, il suffisso dell'endpoint viene specificato nella configurazione di stringa di connessione:

const utility::string_t storage_connection_string(U("DefaultEndpointsProtocol=https;
AccountName=your_storage_account;
AccountKey=your_storage_account_key;
EndpointSuffix=local.azurestack.external"));

PHP

Per l'hub di Azure Stack, il suffisso dell'endpoint viene specificato nella configurazione di stringa di connessione:

$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

Per l'hub di Azure Stack, il suffisso dell'endpoint viene specificato nell'istanza di dichiarazione:

block_blob_service = BlockBlobService(account_name='myaccount',
account_key='mykey',
endpoint_suffix='local.azurestack.external')

Ruby

Per l'hub di Azure Stack, il suffisso dell'endpoint viene specificato nella configurazione di stringa di connessione:

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

Archiviazione BLOB

Le esercitazioni seguenti sull'archiviazione BLOB di Azure sono applicabili all'hub di Azure Stack. Si noti il requisito del suffisso dell'endpoint specifico per l'hub di Azure Stack descritto nella sezione Esempi precedente.

Archiviazione code

Le esercitazioni seguenti sull'archiviazione code di Azure sono applicabili all'hub di Azure Stack. Si noti il requisito del suffisso dell'endpoint specifico per l'hub di Azure Stack descritto nella sezione Esempi precedente.

Archiviazione tabelle

Le esercitazioni seguenti sull'archiviazione tabelle di Azure sono applicabili all'hub di Azure Stack. Si noti il requisito del suffisso dell'endpoint specifico per l'hub di Azure Stack descritto nella sezione Esempi precedente.

Passaggi successivi