Azure Blob Depolama Service Connector ile tümleştirme
Makale
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.
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);
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
Kullanarak azure-identity kimlik doğrulaması yapın ve Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden 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.
String url = System.getenv("AZURE_STORAGEBLOB_RESOURCEENDPOINT");
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
// for user assigned managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_STORAGEBLOB_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential defaultCredential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_STORAGEBLOB_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_STORAGEBLOB_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_STORAGEBLOB_TENANTID>"))
// .build();
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint(url)
.credential(defaultCredential)
.buildClient();
Bir dosyayı Azure Blob Depolama yükleme ve Spring uygulamanızı ayarlama bölümüne bakın. Yapılandırma özellikleri (Spring Cloud Azure 4.0 ve üzeri) Service Connector tarafından Spring Apps'e eklenir. Yapılandırma özellikleri hakkında daha fazla bilgi için bkz . Azure Depolama Blobu Özellikleri.
Kitaplık kullanarak azure-identity kimlik doğrulaması yapın ve Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
from azure.storage.blob import BlobServiceClient
import os
account_url = os.getenv('AZURE_STORAGEBLOB_RESOURCEENDPOINT')
# Uncomment the following lines corresponding to the authentication type you want to use.
# system assigned managed identity
# cred = ManagedIdentityCredential()
# user assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_STORAGEBLOB_TENANTID')
# client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# client_secret = os.getenv('AZURE_STORAGEBLOB_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
blob_service_client = BlobServiceClient(account_url, credential=cred)
Kitaplık aracılığıyla azure-identity kimlik doğrulaması. 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import os
# Uncomment the following lines corresponding to the authentication type you want to use.
# system assigned managed identity
# cred = ManagedIdentityCredential()
# user assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_STORAGEBLOB_TENANTID')
# client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# client_secret = os.getenv('AZURE_STORAGEBLOB_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
Ayar dosyasında aşağıdaki satırları ekleyin. Daha fazla bilgi için bkz . django-storages[azure].
# in your setting file, eg. settings.py
AZURE_CUSTOM_DOMAIN = os.getenv('AZURE_STORAGEBLOB_RESOURCEENDPOINT')
AZURE_ACCOUNT_NAME = AZURE_CUSTOM_DOMAIN.split('.')[0].removeprefix('https://')
AZURE_TOKEN_CREDENTIAL = cred # this is the cred acquired from above step.
Bağımlılıkları yükleyin.
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
Kodda, kitaplık aracılığıyla azidentity kimlik doğrulaması. 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.
import (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
)
func main() {
account_endpoint = os.Getenv("AZURE_STORAGEBLOB_RESOURCEENDPOINT")
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// for user-assigned managed identity
// clientid := os.Getenv("AZURE_STORAGEBLOB_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// for service principal
// clientid := os.Getenv("AZURE_STORAGEBLOB_CLIENTID")
// tenantid := os.Getenv("AZURE_STORAGEBLOB_TENANTID")
// clientsecret := os.Getenv("AZURE_STORAGEBLOB_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
if err != nil {
// error handling
}
client, err := azblob.NewBlobServiceClient(account_endpoint, cred, nil)
}
Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden Azure Blob Depolama uç nokta URL'sini alın. Kitaplık aracılığıyla @azure/identity kimlik doğrulaması. 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.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { BlobServiceClient } = require("@azure/storage-blob");
const account_url = process.env.AZURE_STORAGEBLOB_RESOURCEENDPOINT;
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system assigned managed identity
// const credential = new DefaultAzureCredential();
// for user assigned managed identity
// const clientId = process.env.AZURE_STORAGEBLOB_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_STORAGEBLOB_TENANTID;
// const clientId = process.env.AZURE_STORAGEBLOB_CLIENTID;
// const clientSecret = process.env.AZURE_STORAGEBLOB_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const blobServiceClient = new BlobServiceClient(account_url, credential);
Diğer diller için Azure Blob Depolama hesap URL'sini ve Service Connector'ın Azure Blob depolamaya bağlanmak için ortam değişkenlerine ayarlayıp ayarlayıp diğer özellikleri kullanabilirsiniz. Ortam değişkeni ayrıntıları için bkz. Azure Blob Depolama Service Connector ile tümleştirme.
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.
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);
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
Kullanarak azure-identity kimlik doğrulaması yapın ve Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden 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.
String url = System.getenv("AZURE_STORAGEBLOB_RESOURCEENDPOINT");
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
// for user assigned managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_STORAGEBLOB_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential defaultCredential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_STORAGEBLOB_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_STORAGEBLOB_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_STORAGEBLOB_TENANTID>"))
// .build();
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint(url)
.credential(defaultCredential)
.buildClient();
Bir dosyayı Azure Blob Depolama yükleme ve Spring uygulamanızı ayarlama bölümüne bakın. Yapılandırma özellikleri (Spring Cloud Azure 4.0 ve üzeri) Service Connector tarafından Spring Apps'e eklenir. Yapılandırma özellikleri hakkında daha fazla bilgi için bkz . Azure Depolama Blobu Özellikleri.
Kitaplık kullanarak azure-identity kimlik doğrulaması yapın ve Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
from azure.storage.blob import BlobServiceClient
import os
account_url = os.getenv('AZURE_STORAGEBLOB_RESOURCEENDPOINT')
# Uncomment the following lines corresponding to the authentication type you want to use.
# system assigned managed identity
# cred = ManagedIdentityCredential()
# user assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_STORAGEBLOB_TENANTID')
# client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# client_secret = os.getenv('AZURE_STORAGEBLOB_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
blob_service_client = BlobServiceClient(account_url, credential=cred)
Kitaplık aracılığıyla azure-identity kimlik doğrulaması. 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import os
# Uncomment the following lines corresponding to the authentication type you want to use.
# system assigned managed identity
# cred = ManagedIdentityCredential()
# user assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_STORAGEBLOB_TENANTID')
# client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# client_secret = os.getenv('AZURE_STORAGEBLOB_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
Ayar dosyasında aşağıdaki satırları ekleyin. Daha fazla bilgi için bkz . django-storages[azure].
# in your setting file, eg. settings.py
AZURE_CUSTOM_DOMAIN = os.getenv('AZURE_STORAGEBLOB_RESOURCEENDPOINT')
AZURE_ACCOUNT_NAME = AZURE_CUSTOM_DOMAIN.split('.')[0].removeprefix('https://')
AZURE_TOKEN_CREDENTIAL = cred # this is the cred acquired from above step.
Bağımlılıkları yükleyin.
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
Kodda, kitaplık aracılığıyla azidentity kimlik doğrulaması. 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.
import (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
)
func main() {
account_endpoint = os.Getenv("AZURE_STORAGEBLOB_RESOURCEENDPOINT")
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// for user-assigned managed identity
// clientid := os.Getenv("AZURE_STORAGEBLOB_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// for service principal
// clientid := os.Getenv("AZURE_STORAGEBLOB_CLIENTID")
// tenantid := os.Getenv("AZURE_STORAGEBLOB_TENANTID")
// clientsecret := os.Getenv("AZURE_STORAGEBLOB_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
if err != nil {
// error handling
}
client, err := azblob.NewBlobServiceClient(account_endpoint, cred, nil)
}
Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden Azure Blob Depolama uç nokta URL'sini alın. Kitaplık aracılığıyla @azure/identity kimlik doğrulaması. 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.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { BlobServiceClient } = require("@azure/storage-blob");
const account_url = process.env.AZURE_STORAGEBLOB_RESOURCEENDPOINT;
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system assigned managed identity
// const credential = new DefaultAzureCredential();
// for user assigned managed identity
// const clientId = process.env.AZURE_STORAGEBLOB_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_STORAGEBLOB_TENANTID;
// const clientId = process.env.AZURE_STORAGEBLOB_CLIENTID;
// const clientSecret = process.env.AZURE_STORAGEBLOB_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const blobServiceClient = new BlobServiceClient(account_url, credential);
Diğer diller için Azure Blob Depolama hesap URL'sini ve Service Connector'ın Azure Blob depolamaya bağlanmak için ortam değişkenlerine ayarlayıp ayarlayıp diğer özellikleri kullanabilirsiniz. Ortam değişkeni ayrıntıları için bkz. Azure Blob Depolama Service Connector ile tümleştirme.
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.
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);
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
Bir dosyayı Azure Blob Depolama yükleme ve Spring uygulamanızı ayarlama bölümüne bakın. Yapılandırma özellikleri Spring Apps'e Service Connector tarafından eklenir. Spring Cloud Azure sürümüne göre iki yapılandırma özelliği kümesi sağlanır (4.0'ın altında ve 4.0'ın üzerinde). Spring Cloud Azure kitaplık değişiklikleri hakkında daha fazla bilgi için bkz . Spring Cloud Azure Geçiş Kılavuzu.
Bağımlılıkları yükleme
pip install azure-storage-blob
Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden Azure Blob Depolama bağlantı dizesi alın.
from azure.storage.blob import BlobServiceClient
import os
connection_str = os.getenv('AZURE_STORAGEBLOB_CONNECTIONSTRING')
blob_service_client = BlobServiceClient.from_connection_string(connection_str)
Bağımlılıkları yükleyin.
pip install django-storages[azure]
Django ayarları dosyanızdaki Azure Blob Depolama arka ucu django sürümünüze göre yapılandırın ve ayarlayın. Daha fazla bilgi için bkz . django-storages[azure].
Ayar dosyasında aşağıdaki satırları ekleyin.
# in your setting file, eg. settings.py
AZURE_CONNECTION_STRING = os.getenv('AZURE_STORAGEBLOB_CONNECTIONSTRING')
Bağımlılıkları yükleyin.
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden Azure Blob Depolama bağlantı dizesi alın.
Diğer diller için, Azure Blob Depolama hesabı URL'sini ve Service Connector'ın Azure Blob Depolama bağlanmak için ortam değişkenlerine ayarlayıp ayarlayan diğer özellikleri kullanabilirsiniz. Ortam değişkeni ayrıntıları için bkz. Azure Blob Depolama Service Connector ile tümleştirme.
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.
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);
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
Kullanarak azure-identity kimlik doğrulaması yapın ve Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden 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.
String url = System.getenv("AZURE_STORAGEBLOB_RESOURCEENDPOINT");
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
// for user assigned managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_STORAGEBLOB_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential defaultCredential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_STORAGEBLOB_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_STORAGEBLOB_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_STORAGEBLOB_TENANTID>"))
// .build();
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint(url)
.credential(defaultCredential)
.buildClient();
Bir dosyayı Azure Blob Depolama yükleme ve Spring uygulamanızı ayarlama bölümüne bakın. Yapılandırma özellikleri (Spring Cloud Azure 4.0 ve üzeri) Service Connector tarafından Spring Apps'e eklenir. Yapılandırma özellikleri hakkında daha fazla bilgi için bkz . Azure Depolama Blobu Özellikleri.
Kitaplık kullanarak azure-identity kimlik doğrulaması yapın ve Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
from azure.storage.blob import BlobServiceClient
import os
account_url = os.getenv('AZURE_STORAGEBLOB_RESOURCEENDPOINT')
# Uncomment the following lines corresponding to the authentication type you want to use.
# system assigned managed identity
# cred = ManagedIdentityCredential()
# user assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_STORAGEBLOB_TENANTID')
# client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# client_secret = os.getenv('AZURE_STORAGEBLOB_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
blob_service_client = BlobServiceClient(account_url, credential=cred)
Kitaplık aracılığıyla azure-identity kimlik doğrulaması. 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import os
# Uncomment the following lines corresponding to the authentication type you want to use.
# system assigned managed identity
# cred = ManagedIdentityCredential()
# user assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_STORAGEBLOB_TENANTID')
# client_id = os.getenv('AZURE_STORAGEBLOB_CLIENTID')
# client_secret = os.getenv('AZURE_STORAGEBLOB_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
Ayar dosyasında aşağıdaki satırları ekleyin. Daha fazla bilgi için bkz . django-storages[azure].
# in your setting file, eg. settings.py
AZURE_CUSTOM_DOMAIN = os.getenv('AZURE_STORAGEBLOB_RESOURCEENDPOINT')
AZURE_ACCOUNT_NAME = AZURE_CUSTOM_DOMAIN.split('.')[0].removeprefix('https://')
AZURE_TOKEN_CREDENTIAL = cred # this is the cred acquired from above step.
Bağımlılıkları yükleyin.
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
Kodda, kitaplık aracılığıyla azidentity kimlik doğrulaması. 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.
import (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
)
func main() {
account_endpoint = os.Getenv("AZURE_STORAGEBLOB_RESOURCEENDPOINT")
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// for user-assigned managed identity
// clientid := os.Getenv("AZURE_STORAGEBLOB_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// for service principal
// clientid := os.Getenv("AZURE_STORAGEBLOB_CLIENTID")
// tenantid := os.Getenv("AZURE_STORAGEBLOB_TENANTID")
// clientsecret := os.Getenv("AZURE_STORAGEBLOB_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
if err != nil {
// error handling
}
client, err := azblob.NewBlobServiceClient(account_endpoint, cred, nil)
}
Hizmet Bağlayıcısı tarafından eklenen ortam değişkeninden Azure Blob Depolama uç nokta URL'sini alın. Kitaplık aracılığıyla @azure/identity kimlik doğrulaması. 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.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { BlobServiceClient } = require("@azure/storage-blob");
const account_url = process.env.AZURE_STORAGEBLOB_RESOURCEENDPOINT;
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system assigned managed identity
// const credential = new DefaultAzureCredential();
// for user assigned managed identity
// const clientId = process.env.AZURE_STORAGEBLOB_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_STORAGEBLOB_TENANTID;
// const clientId = process.env.AZURE_STORAGEBLOB_CLIENTID;
// const clientSecret = process.env.AZURE_STORAGEBLOB_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const blobServiceClient = new BlobServiceClient(account_url, credential);
Diğer diller için Azure Blob Depolama hesap URL'sini ve Service Connector'ın Azure Blob depolamaya bağlanmak için ortam değişkenlerine ayarlayıp ayarlayıp diğer özellikleri kullanabilirsiniz. Ortam değişkeni ayrıntıları için bkz. Azure Blob Depolama Service Connector ile tümleştirme.
Sonraki adımlar
Service Connector hakkında daha fazla bilgi edinmek için öğreticileri izleyin.