Udostępnij za pośrednictwem


Integrowanie usługi Azure Blob Storage z łącznikiem usługi

Na tej stronie przedstawiono obsługiwane typy uwierzytelniania, typy klientów i przykładowy kod usługi Azure Blob Storage przy użyciu łącznika usługi Service Connector. Na tej stronie są również wyświetlane domyślne nazwy zmiennych środowiskowych i wartości (lub konfiguracja platformy Spring Boot) podczas tworzenia połączenia z usługą.

Obsługiwane usługi obliczeniowe

Łącznik usługi może służyć do łączenia następujących usług obliczeniowych z usługą Azure Blob Storage:

  • Azure App Service
  • Azure Container Apps
  • Azure Functions
  • Azure Kubernetes Service (AKS)
  • Azure Spring Apps

Obsługiwane typy uwierzytelniania i typy klientów

W poniższej tabeli pokazano, które kombinacje metod uwierzytelniania i klientów są obsługiwane do łączenia usługi obliczeniowej z usługą Azure Blob Storage przy użyciu łącznika usługi Service Connector. Wartość "Tak" wskazuje, że kombinacja jest obsługiwana, a wartość "Nie" wskazuje, że nie jest obsługiwana.

Typ klienta Tożsamość zarządzana przypisana przez system Tożsamość zarządzana przypisana przez użytkownika Wpis tajny/parametry połączenia Jednostka usługi
.NET Tak Tak Tak Tak
Java Tak Tak Tak Tak
Java — Spring Boot Tak Tak Tak Tak
Node.js Tak Tak Tak Tak
Python Tak Tak Tak Tak
Go Tak Tak Tak Tak
None Tak Tak Tak Tak

Ta tabela wyraźnie wskazuje, że obsługiwane są wszystkie kombinacje typów klientów i metod uwierzytelniania, z wyjątkiem typu klienta Java — Spring Boot, który obsługuje tylko metodę Secret /parametry połączenia. Wszystkie inne typy klientów mogą używać dowolnej metody uwierzytelniania w celu nawiązania połączenia z usługą Azure Blob Storage przy użyciu łącznika usługi.

Domyślne nazwy zmiennych środowiskowych lub właściwości aplikacji i przykładowy kod

Zapoznaj się ze szczegółami połączenia i przykładowym kodem w poniższych tabelach, zgodnie z typem uwierzytelniania połączenia i typem klienta, aby połączyć usługi obliczeniowe z usługą Azure Blob Storage. Więcej informacji na temat konwencji nazewnictwa zmiennych środowiskowych łącznika usługi można dowiedzieć się więcej.

Tożsamość zarządzana przypisana przez system

Klient SpringBoot

Uwierzytelnianie przy użyciu tożsamości zarządzanej przypisanej przez system jest dostępne tylko dla platformy Azure Spring Cloud w wersji 4.0 lub nowszej.

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
spring.cloud.azure.storage.blob.credential.managed-identity-enabled Czy włączyć tożsamość zarządzaną True
spring.cloud.azure.storage.blob.account-name Nazwa konta magazynu storage-account-name
spring.cloud.azure.storage.blob.endpoint Punkt końcowy usługi Blob Storage https://<storage-account-name>.blob.core.windows.net/

Inni klienci

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
AZURE_STORAGEBLOB_RESOURCEENDPOINT Punkt końcowy usługi Blob Storage https://<storage-account-name>.blob.core.windows.net/

Przykładowy kod

Zapoznaj się z poniższymi krokami i kodem, aby nawiązać połączenie z usługą Azure Blob Storage przy użyciu tożsamości zarządzanej przypisanej przez system.

Uwierzytelnianie można użyć azure-identity do uwierzytelniania za pośrednictwem tożsamości zarządzanej lub jednostki usługi. Pobierz adres URL punktu końcowego usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez łącznik usługi. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.

Instalowanie zależności

dotnet add package Azure.Identity

Oto przykładowy kod służący do nawiązywania połączenia z usługą Blob Storage przy użyciu tożsamości zarządzanej lub jednostki usługi.

using Azure.Identity;
using Azure.Storage.Blobs;

// get Blob endpoint
var blobEndpoint = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_RESOURCEENDPOINT");

// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();

// user-assigned managed identity
// var credential = new DefaultAzureCredential(
//     new DefaultAzureCredentialOptions
//     {
//         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
//     });

// service principal 
// var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);

var blobServiceClient = new BlobServiceClient(
        new Uri(blobEndpoint),
        credential);

Tożsamość zarządzana przypisana przez użytkownika

Klient SpringBoot

Uwierzytelnianie przy użyciu tożsamości zarządzanej przypisanej przez użytkownika jest dostępne tylko dla platformy Azure Spring Cloud w wersji 4.0 lub nowszej.

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
spring.cloud.azure.storage.blob.credential.managed-identity-enabled Czy włączyć tożsamość zarządzaną True
spring.cloud.azure.storage.blob.account-name Nazwa konta magazynu storage-account-name
spring.cloud.azure.storage.blob.endpoint Punkt końcowy usługi Blob Storage https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.credential.client-id Identyfikator klienta tożsamości zarządzanej przypisanej przez użytkownika 00001111-aaaa-2222-bbbb-3333cccc4444

Inni klienci

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
AZURE_STORAGEBLOB_RESOURCEENDPOINT Punkt końcowy usługi Blob Storage https://<storage-account-name>.blob.core.windows.net/
AZURE_STORAGEBLOB_CLIENTID Identyfikator klienta <client-ID>

Przykładowy kod

Zapoznaj się z poniższymi krokami i kodem, aby nawiązać połączenie z usługą Azure Blob Storage przy użyciu tożsamości zarządzanej przypisanej przez użytkownika.

Uwierzytelnianie można użyć azure-identity do uwierzytelniania za pośrednictwem tożsamości zarządzanej lub jednostki usługi. Pobierz adres URL punktu końcowego usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez łącznik usługi. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.

Instalowanie zależności

dotnet add package Azure.Identity

Oto przykładowy kod służący do nawiązywania połączenia z usługą Blob Storage przy użyciu tożsamości zarządzanej lub jednostki usługi.

using Azure.Identity;
using Azure.Storage.Blobs;

// get Blob endpoint
var blobEndpoint = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_RESOURCEENDPOINT");

// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();

// user-assigned managed identity
// var credential = new DefaultAzureCredential(
//     new DefaultAzureCredentialOptions
//     {
//         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
//     });

// service principal 
// var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);

var blobServiceClient = new BlobServiceClient(
        new Uri(blobEndpoint),
        credential);

Connection string

Ostrzeżenie

Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze wymaga bardzo wysokiego poziomu zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Tego przepływu należy używać tylko wtedy, gdy inne bezpieczniejsze przepływy, takie jak tożsamości zarządzane, nie są opłacalne.

Klient SpringBoot

Właściwości aplikacji opis Przykładowa wartość
azure.storage.account-name Nazwa konta usługi Blob Storage <storage-account-name>
azure.storage.account-key Klucz konta usługi Blob Storage <account-key>
azure.storage.blob-endpoint Punkt końcowy usługi Blob Storage https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.account-name Nazwa konta usługi Blob Storage dla platformy Azure w wersji 4.0 lub nowszej <storage-account-name>
spring.cloud.azure.storage.blob.account-key Klucz konta usługi Blob Storage dla platformy Azure Spring Cloud w wersji 4.0 lub nowszej <account-key>
spring.cloud.azure.storage.blob.endpoint Punkt końcowy usługi Blob Storage dla platformy Azure w wersji 4.0 lub nowszej https://<storage-account-name>.blob.core.windows.net/

Inni klienci

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
AZURE_STORAGEBLOB_CONNECTIONSTRING Parametry połączenia usługi Blob Storage DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account-key>;EndpointSuffix=core.windows.net

Przykładowy kod

Zapoznaj się z poniższymi krokami i kodem, aby nawiązać połączenie z usługą Azure Blob Storage przy użyciu parametry połączenia.

Pobierz parametry połączenia usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez łącznik usługi.

Instalowanie zależności

dotnet add package Azure.Storage.Blob
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System; 

// get Blob connection string
var connectionString = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CONNECTIONSTRING");

// Create a BlobServiceClient object 
var blobServiceClient = new BlobServiceClient(connectionString);

Jednostka usługi

Klient SpringBoot

Uwierzytelnianie za pomocą jednostki usługi jest dostępne tylko dla platformy Azure Spring Cloud w wersji 4.0 lub nowszej.

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
spring.cloud.azure.storage.blob.account-name Nazwa konta magazynu storage-account-name
spring.cloud.azure.storage.blob.endpoint Punkt końcowy usługi Blob Storage https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.credential.client-id Identyfikator klienta zleceniodawcy usługi 00001111-aaaa-2222-bbbb-3333cccc4444
spring.cloud.azure.storage.blob.credential.client-secret Klucz tajny klienta do przeprowadzania uwierzytelniania jednostki usługi Aa1Bb~2Cc3.-Dd4Ee5Ff6Gg7Hh8Ii9_Jj0Kk1Ll2

Inni klienci

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
AZURE_STORAGEBLOB_RESOURCEENDPOINT Punkt końcowy usługi Blob Storage https://<storage-account-name>.blob.core.windows.net/
AZURE_STORAGEBLOB_CLIENTID Identyfikator klienta <client-ID>
AZURE_STORAGEBLOB_CLIENTSECRET Klucz tajny klienta <client-secret>
AZURE_STORAGEBLOB_TENANTID Identyfikator dzierżawy <tenant-ID>

Przykładowy kod

Zapoznaj się z poniższymi krokami i kodem, aby nawiązać połączenie z usługą Azure Blob Storage przy użyciu jednostki usługi.

Uwierzytelnianie można użyć azure-identity do uwierzytelniania za pośrednictwem tożsamości zarządzanej lub jednostki usługi. Pobierz adres URL punktu końcowego usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez łącznik usługi. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.

Instalowanie zależności

dotnet add package Azure.Identity

Oto przykładowy kod służący do nawiązywania połączenia z usługą Blob Storage przy użyciu tożsamości zarządzanej lub jednostki usługi.

using Azure.Identity;
using Azure.Storage.Blobs;

// get Blob endpoint
var blobEndpoint = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_RESOURCEENDPOINT");

// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();

// user-assigned managed identity
// var credential = new DefaultAzureCredential(
//     new DefaultAzureCredentialOptions
//     {
//         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
//     });

// service principal 
// var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGEBLOB_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);

var blobServiceClient = new BlobServiceClient(
        new Uri(blobEndpoint),
        credential);

Następne kroki

Postępuj zgodnie z samouczkami, aby dowiedzieć się więcej o łączniku usługi.