Dela via


Integrera Azure Blob Storage med Service Connector

Den här sidan visar de autentiseringstyper, klienttyper och exempelkod för Azure Blob Storage som stöds med hjälp av Service Connector. På den här sidan visas även standardnamn och värden för miljövariabler (eller Spring Boot-konfiguration) som du får när du skapar tjänstanslutningen.

Beräkningstjänster som stöds

Service Connector kan användas för att ansluta följande beräkningstjänster till Azure Blob Storage:

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

Autentiseringstyper och klienttyper som stöds

Tabellen nedan visar vilka kombinationer av autentiseringsmetoder och klienter som stöds för att ansluta beräkningstjänsten till Azure Blob Storage med hjälp av Service Connector. Ett "Ja" anger att kombinationen stöds, medan ett "Nej" anger att den inte stöds.

Klienttyp Systemtilldelad hanterad identitet Användartilldelad hanterad identitet Hemlighet/anslutningssträng Tjänstens huvudnamn
.NET Ja Ja Ja Ja
Java Ja Ja Ja Ja
Java – Spring Boot Ja Ja Ja Ja
Node.js Ja Ja Ja Ja
Python Ja Ja Ja Ja
Go Ja Ja Ja Ja
None Ja Ja Ja Ja

Den här tabellen anger tydligt att alla kombinationer av klienttyper och autentiseringsmetoder stöds, förutom klienttypen Java – Spring Boot, som endast stöder metoden Secret/anslutningssträng. Alla andra klienttyper kan använda någon av autentiseringsmetoderna för att ansluta till Azure Blob Storage med hjälp av Service Connector.

Standardnamn för miljövariabler eller programegenskaper och exempelkod

Referera till anslutningsinformationen och exempelkoden i följande tabeller, beroende på anslutningens autentiseringstyp och klienttyp, för att ansluta beräkningstjänster till Azure Blob Storage. Du kan lära dig mer om namngivningskonventionen för miljövariabler för Service Connector.

Systemtilldelad hanterad identitet

SpringBoot-klient

Autentisering med en systemtilldelad hanterad identitet är endast tillgängligt för Spring Cloud Azure version 4.0 eller senare.

Standardnamn för miljövariabel beskrivning Exempelvärde
spring.cloud.azure.storage.blob.credential.managed-identity-enabled Om du vill aktivera hanterad identitet True
spring.cloud.azure.storage.blob.account-name Namn på lagringskontot storage-account-name
spring.cloud.azure.storage.blob.endpoint Blob Storage-slutpunkt https://<storage-account-name>.blob.core.windows.net/

Övriga klienter

Standardnamn för miljövariabel beskrivning Exempelvärde
AZURE_STORAGEBLOB_RESOURCEENDPOINT Blob Storage-slutpunkt https://<storage-account-name>.blob.core.windows.net/

Exempelkod

Se stegen och koden nedan för att ansluta till Azure Blob Storage med hjälp av en systemtilldelad hanterad identitet.

Du kan använda azure-identity för att autentisera via hanterad identitet eller tjänstens huvudnamn. Hämta url:en för Azure Blob Storage-slutpunkten från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.

Installera beroenden

dotnet add package Azure.Identity

Här är exempelkoden för att ansluta till Blob Storage med hjälp av hanterad identitet eller tjänstens huvudnamn.

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

Användartilldelad hanterad identitet

SpringBoot-klient

Autentisering med en användartilldelad hanterad identitet är endast tillgängligt för Spring Cloud Azure version 4.0 eller senare.

Standardnamn för miljövariabel beskrivning Exempelvärde
spring.cloud.azure.storage.blob.credential.managed-identity-enabled Om du vill aktivera hanterad identitet True
spring.cloud.azure.storage.blob.account-name Namn på lagringskontot storage-account-name
spring.cloud.azure.storage.blob.endpoint Blob Storage-slutpunkt https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.credential.client-id Klient-ID för den användartilldelade hanterade identiteten 00001111-aaaa-2222-bbbb-3333cccc4444

Övriga klienter

Standardnamn för miljövariabel beskrivning Exempelvärde
AZURE_STORAGEBLOB_RESOURCEENDPOINT Blob Storage-slutpunkt https://<storage-account-name>.blob.core.windows.net/
AZURE_STORAGEBLOB_CLIENTID Ditt klient-ID <client-ID>

Exempelkod

Se stegen och koden nedan för att ansluta till Azure Blob Storage med hjälp av en användartilldelad hanterad identitet.

Du kan använda azure-identity för att autentisera via hanterad identitet eller tjänstens huvudnamn. Hämta url:en för Azure Blob Storage-slutpunkten från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.

Installera beroenden

dotnet add package Azure.Identity

Här är exempelkoden för att ansluta till Blob Storage med hjälp av hanterad identitet eller tjänstens huvudnamn.

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

Varning

Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren kräver mycket stort förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden, till exempel hanterade identiteter, inte är livskraftiga.

SpringBoot-klient

Egenskaper för program beskrivning Exempelvärde
azure.storage.account-name Ditt Blob Storage-kontonamn <storage-account-name>
azure.storage.account-key Din Blob Storage-kontonyckel <account-key>
azure.storage.blob-endpoint Blob Storage-slutpunkten https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.account-name Ditt Blob Storage-kontonamn för Spring Cloud Azure version 4.0 eller senare <storage-account-name>
spring.cloud.azure.storage.blob.account-key Din Blob Storage-kontonyckel för Spring Cloud Azure version 4.0 eller senare <account-key>
spring.cloud.azure.storage.blob.endpoint Din Blob Storage-slutpunkt för Spring Cloud Azure version 4.0 eller senare https://<storage-account-name>.blob.core.windows.net/

Övriga klienter

Standardnamn för miljövariabel beskrivning Exempelvärde
AZURE_STORAGEBLOB_CONNECTIONSTRING Blob Storage-anslutningssträng DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account-key>;EndpointSuffix=core.windows.net

Exempelkod

Se stegen och koden nedan för att ansluta till Azure Blob Storage med hjälp av en anslutningssträng.

Hämta Azure Blob Storage-anslutningssträng från miljövariabeln som lagts till av Service Connector.

Installera beroenden

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

Tjänstens huvudnamn

SpringBoot-klient

Autentisering med tjänstens huvudnamn är endast tillgängligt för Spring Cloud Azure version 4.0 eller senare.

Standardnamn för miljövariabel beskrivning Exempelvärde
spring.cloud.azure.storage.blob.account-name Namn på lagringskontot storage-account-name
spring.cloud.azure.storage.blob.endpoint Blob Storage-slutpunkt https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.credential.client-id Klientorganisations-ID för tjänstens huvudkonto 00001111-aaaa-2222-bbbb-3333cccc4444
spring.cloud.azure.storage.blob.credential.client-secret Klienthemlighet för att utföra autentisering med tjänstens huvudnamn Aa1Bb~2Cc3.-Dd4Ee5Ff6Gg7Hh8Ii9_Jj0Kk1Ll2

Övriga klienter

Standardnamn för miljövariabel beskrivning Exempelvärde
AZURE_STORAGEBLOB_RESOURCEENDPOINT Blob Storage-slutpunkt https://<storage-account-name>.blob.core.windows.net/
AZURE_STORAGEBLOB_CLIENTID Ditt klient-ID <client-ID>
AZURE_STORAGEBLOB_CLIENTSECRET Din klienthemlighet <client-secret>
AZURE_STORAGEBLOB_TENANTID Ditt klientorganisations-ID <tenant-ID>

Exempelkod

Se stegen och koden nedan för att ansluta till Azure Blob Storage med hjälp av tjänstens huvudnamn.

Du kan använda azure-identity för att autentisera via hanterad identitet eller tjänstens huvudnamn. Hämta url:en för Azure Blob Storage-slutpunkten från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.

Installera beroenden

dotnet add package Azure.Identity

Här är exempelkoden för att ansluta till Blob Storage med hjälp av hanterad identitet eller tjänstens huvudnamn.

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

Nästa steg

Följ självstudierna för att lära dig mer om Service Connector.