Aracılığıyla paylaş


Azure Blob Depolama Service Connector ile tümleştirme

Bu sayfada Hizmet Bağlayıcısı kullanılarak desteklenen kimlik doğrulama türleri, istemci türleri ve Azure Blob Depolama örnek kodu gösterilir. Bu sayfada, hizmet bağlantısını oluştururken elde ettiğiniz varsayılan ortam değişkeni adları ve değerleri (veya Spring Boot yapılandırması) da gösterilir.

Desteklenen işlem hizmetleri

Hizmet Bağlayıcısı, aşağıdaki işlem hizmetlerini Azure Blob Depolama bağlamak için kullanılabilir:

  • Azure App Service
  • Azure Container Apps
  • Azure İşlevleri
  • Azure Kubernetes Service (AKS)
  • Azure Spring Apps

Desteklenen kimlik doğrulama türleri ve istemci türleri

Aşağıdaki tabloda, hizmet bağlayıcısını kullanarak işlem hizmetinizi Azure Blob Depolama bağlamak için hangi kimlik doğrulama yöntemlerinin ve istemcilerinin desteklendiği gösterilmektedir. "Evet", birleşimin desteklendiğini, "Hayır" ise bunun desteklenmediğini gösterir.

İstemci türü Sistem tarafından atanan yönetilen kimlik Kullanıcı tarafından atanan yönetilen kimlik Gizli dizi / bağlantı dizesi Hizmet sorumlusu
.NET Yes Evet Evet Yes
Java Yes Evet Evet Yes
Java - Spring Boot Yes Evet Evet Yes
Node.js Yes Evet Evet Yes
Python Yes Evet Evet Yes
Go Yes Evet Evet Yes
Hiçbiri Yes Evet Evet Yes

Bu tablo, java - Spring Boot istemci türü dışında istemci türlerinin ve kimlik doğrulama yöntemlerinin tüm birleşimlerinin desteklendiğini açıkça gösterir ve bu yalnızca Gizli / bağlantı dizesi yöntemini destekler. Diğer tüm istemci türleri, Service Connector kullanarak Azure Blob Depolama bağlanmak için kimlik doğrulama yöntemlerinden herhangi birini kullanabilir.

Varsayılan ortam değişkeni adları veya uygulama özellikleri ve örnek kod

İşlem hizmetlerini Azure Blob Depolama bağlamak için bağlantınızın kimlik doğrulama türüne ve istemci türüne göre aşağıdaki tablolardaki bağlantı ayrıntılarına ve örnek koda başvurun. Service Connector ortam değişkeni adlandırma kuralı hakkında daha fazla bilgi edinebilirsiniz.

Sistem tarafından atanan yönetilen kimlik

SpringBoot istemcisi

Sistem tarafından atanan yönetilen kimlikle kimlik doğrulaması yalnızca Spring Cloud Azure sürüm 4.0 veya üzeri için kullanılabilir.

Varsayılan ortam değişkeni adı Açıklama Örnek değer
spring.cloud.azure.storage.blob.credential.managed-identity-enabled Yönetilen kimliğin etkinleştirilip etkinleştirilmeyileceği True
spring.cloud.azure.storage.blob.account-name Depolama hesabının adı storage-account-name
spring.cloud.azure.storage.blob.endpoint Blob Depolama uç noktası https://<storage-account-name>.blob.core.windows.net/

Diğer istemciler

Varsayılan ortam değişkeni adı Açıklama Örnek değer
AZURE_STORAGEBLOB_RESOURCEENDPOINT Blob Depolama uç noktası https://<storage-account-name>.blob.core.windows.net/

Örnek kod

Sistem tarafından atanan yönetilen kimliği kullanarak Azure Blob Depolama bağlanmak için aşağıdaki adımlara ve koda bakın.

Yönetilen kimlik veya hizmet sorumlusu aracılığıyla kimlik doğrulaması yapmak için kullanabilirsiniz azure-identity . Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden Azure Blob Depolama uç nokta URL'sini alın. Aşağıdaki kodu kullanırken, kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın.

Bağımlılıkları yükleme

dotnet add package Azure.Identity

Yönetilen kimlik veya hizmet sorumlusu kullanarak Blob depolamaya bağlanmak için örnek kod aşağıda verilmiştır.

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

Kullanıcı tarafından atanan yönetilen kimlik

SpringBoot istemcisi

Kullanıcı tarafından atanan yönetilen kimlikle kimlik doğrulaması yalnızca Spring Cloud Azure sürüm 4.0 veya üzeri için kullanılabilir.

Varsayılan ortam değişkeni adı Açıklama Örnek değer
spring.cloud.azure.storage.blob.credential.managed-identity-enabled Yönetilen kimliğin etkinleştirilip etkinleştirilmeyileceği True
spring.cloud.azure.storage.blob.account-name Depolama hesabının adı storage-account-name
spring.cloud.azure.storage.blob.endpoint Blob Depolama uç noktası https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.credential.client-id Kullanıcı tarafından atanan yönetilen kimliğin istemci kimliği 00001111-aaaa-2222-bbbb-3333cccc4444

Diğer istemciler

Varsayılan ortam değişkeni adı Açıklama Örnek değer
AZURE_STORAGEBLOB_RESOURCEENDPOINT Blob Depolama uç noktası https://<storage-account-name>.blob.core.windows.net/
AZURE_STORAGEBLOB_CLIENTID İstemci kimliğiniz <client-ID>

Örnek kod

Kullanıcı tarafından atanan yönetilen kimliği kullanarak Azure Blob Depolama bağlanmak için aşağıdaki adımlara ve koda bakın.

Yönetilen kimlik veya hizmet sorumlusu aracılığıyla kimlik doğrulaması yapmak için kullanabilirsiniz azure-identity . Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden Azure Blob Depolama uç nokta URL'sini alın. Aşağıdaki kodu kullanırken, kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın.

Bağımlılıkları yükleme

dotnet add package Azure.Identity

Yönetilen kimlik veya hizmet sorumlusu kullanarak Blob depolamaya bağlanmak için örnek kod aşağıda verilmiştır.

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

Uyarı

Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Bu yordamda açıklanan kimlik doğrulama akışı, uygulamada çok yüksek düzeyde güven gerektirir ve diğer akışlarda mevcut olmayan riskleri taşır. Bu akışı yalnızca yönetilen kimlikler gibi diğer daha güvenli akışlar uygun olmadığında kullanmalısınız.

SpringBoot istemcisi

Uygulama özellikleri Açıklama Örnek değer
azure.storage.account-name Blob depolama hesabınızın-adı <storage-account-name>
azure.storage.account-key Blob Depolama hesap anahtarınız <account-key>
azure.storage.blob-endpoint Blob Depolama uç noktanız https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.account-name Spring Cloud Azure sürüm 4.0 veya üzeri için Blob depolama hesabı-adınız <storage-account-name>
spring.cloud.azure.storage.blob.account-key Spring Cloud Azure sürüm 4.0 veya üzeri için Blob Depolama hesap anahtarınız <account-key>
spring.cloud.azure.storage.blob.endpoint Spring Cloud Azure sürüm 4.0 veya üzeri için Blob Depolama uç noktanız https://<storage-account-name>.blob.core.windows.net/

Diğer istemciler

Varsayılan ortam değişkeni adı Açıklama Örnek değer
AZURE_STORAGEBLOB_CONNECTIONSTRING Blob Depolama bağlantı dizesi DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account-key>;EndpointSuffix=core.windows.net

Örnek kod

bağlantı dizesi kullanarak Azure Blob Depolama bağlanmak için aşağıdaki adımlara ve koda bakın.

Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden Azure Blob Depolama bağlantı dizesi alın.

Bağımlılıkları yükleme

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

Hizmet sorumlusu

SpringBoot istemcisi

Hizmet sorumlusuyla kimlik doğrulaması yalnızca Spring Cloud Azure sürüm 4.0 veya üzeri için kullanılabilir.

Varsayılan ortam değişkeni adı Açıklama Örnek değer
spring.cloud.azure.storage.blob.account-name Depolama hesabının adı storage-account-name
spring.cloud.azure.storage.blob.endpoint Blob Depolama uç noktası https://<storage-account-name>.blob.core.windows.net/
spring.cloud.azure.storage.blob.credential.client-id Hizmet sorumlusunun İstemci kimliği 00001111-aaaa-2222-bbbb-3333cccc4444
spring.cloud.azure.storage.blob.credential.client-secret Hizmet sorumlusu kimlik doğrulaması gerçekleştirmek için istemci gizli dizisi Aa1Bb~2Cc3.-Dd4Ee5Ff6Gg7Hh8Ii9_Jj0Kk1Ll2

Diğer istemciler

Varsayılan ortam değişkeni adı Açıklama Örnek değer
AZURE_STORAGEBLOB_RESOURCEENDPOINT Blob Depolama uç noktası https://<storage-account-name>.blob.core.windows.net/
AZURE_STORAGEBLOB_CLIENTID İstemci kimliğiniz <client-ID>
AZURE_STORAGEBLOB_CLIENTSECRET İstemci gizli anahtarınız <client-secret>
AZURE_STORAGEBLOB_TENANTID Kiracı kimliğiniz <tenant-ID>

Örnek kod

Hizmet sorumlusu kullanarak Azure Blob Depolama bağlanmak için aşağıdaki adımlara ve koda bakın.

Yönetilen kimlik veya hizmet sorumlusu aracılığıyla kimlik doğrulaması yapmak için kullanabilirsiniz azure-identity . Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden Azure Blob Depolama uç nokta URL'sini alın. Aşağıdaki kodu kullanırken, kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın.

Bağımlılıkları yükleme

dotnet add package Azure.Identity

Yönetilen kimlik veya hizmet sorumlusu kullanarak Blob depolamaya bağlanmak için örnek kod aşağıda verilmiştır.

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

Sonraki adımlar

Service Connector hakkında daha fazla bilgi edinmek için öğreticileri izleyin.