Integrowanie usługi Azure Blob Storage z usługą Połączenie or
Artykuł
Na tej stronie przedstawiono obsługiwane typy uwierzytelniania, typy klientów i przykładowy kod usługi Azure Blob Storage przy użyciu Połączenie or usługi. 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
Za pomocą Połączenie usługi można połączyć następujące usługi obliczeniowe z usługą Azure Blob Storage:
Azure App Service
Azure Functions
Azure Container Apps
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 usługi Service Połączenie or. 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
Nie
Nie.
Tak
Nie.
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 usługi Połączenie or.
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 usługi Połączenie or można dowiedzieć się więcej.
Tożsamość zarządzana przypisana przez system
W przypadku domyślnych zmiennych środowiskowych i przykładowego kodu innego typu uwierzytelniania wybierz od początku dokumentacji.
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 usługę Połączenie or. 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 according to the authentication type.
// 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);
Uwierzytelnianie przy użyciu metody azure-identity i uzyskiwanie adresu URL punktu końcowego ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
String url = System.getenv("AZURE_STORAGEBLOB_RESOURCEENDPOINT");
// Uncomment the following lines according to the authentication type.
// 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();
Typ uwierzytelniania nie jest obsługiwany dla platformy Spring Boot.
Uwierzytelnianie przy użyciu azure-identity biblioteki i uzyskiwanie adresu URL punktu końcowego ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
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 according to the authentication type.
# 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)
Uwierzytelnianie za pośrednictwem azure-identity biblioteki. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import os
# Uncomment the following lines according to the authentication type.
# 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)
W pliku ustawień dodaj następujące wiersze. Aby uzyskać więcej informacji, zobacz 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.
Instalowanie zależności.
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
W kodzie uwierzytelnij się za pośrednictwem azidentity biblioteki. Pobierz adres URL punktu końcowego usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
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 according to the authentication type.
// 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)
}
Pobierz adres URL punktu końcowego usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Uwierzytelnianie za pośrednictwem @azure/identity biblioteki. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { BlobServiceClient } = require("@azure/storage-blob");
const account_url = process.env.AZURE_STORAGEBLOB_RESOURCEENDPOINT;
// Uncomment the following lines according to the authentication type.
// 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);
W przypadku innych języków możesz użyć adresu URL konta usługi Azure Blob Storage i innych właściwości, które usługa Połączenie or ustawia na zmienne środowiskowe w celu nawiązania połączenia z usługą Azure Blob Storage. Aby uzyskać szczegółowe informacje o zmiennej środowiskowej, zobacz Integrowanie usługi Azure Blob Storage z usługą Połączenie or.
Tożsamość zarządzana przypisana przez użytkownika
W przypadku domyślnych zmiennych środowiskowych i przykładowego kodu innego typu uwierzytelniania wybierz od początku dokumentacji.
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 usługę Połączenie or. 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 according to the authentication type.
// 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);
Uwierzytelnianie przy użyciu metody azure-identity i uzyskiwanie adresu URL punktu końcowego ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
String url = System.getenv("AZURE_STORAGEBLOB_RESOURCEENDPOINT");
// Uncomment the following lines according to the authentication type.
// 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();
Typ uwierzytelniania nie jest obsługiwany dla platformy Spring Boot.
Uwierzytelnianie przy użyciu azure-identity biblioteki i uzyskiwanie adresu URL punktu końcowego ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
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 according to the authentication type.
# 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)
Uwierzytelnianie za pośrednictwem azure-identity biblioteki. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import os
# Uncomment the following lines according to the authentication type.
# 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)
W pliku ustawień dodaj następujące wiersze. Aby uzyskać więcej informacji, zobacz 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.
Instalowanie zależności.
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
W kodzie uwierzytelnij się za pośrednictwem azidentity biblioteki. Pobierz adres URL punktu końcowego usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
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 according to the authentication type.
// 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)
}
Pobierz adres URL punktu końcowego usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Uwierzytelnianie za pośrednictwem @azure/identity biblioteki. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { BlobServiceClient } = require("@azure/storage-blob");
const account_url = process.env.AZURE_STORAGEBLOB_RESOURCEENDPOINT;
// Uncomment the following lines according to the authentication type.
// 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);
W przypadku innych języków możesz użyć adresu URL konta usługi Azure Blob Storage i innych właściwości, które usługa Połączenie or ustawia na zmienne środowiskowe w celu nawiązania połączenia z usługą Azure Blob Storage. Aby uzyskać szczegółowe informacje o zmiennej środowiskowej, zobacz Integrowanie usługi Azure Blob Storage z usługą Połączenie or.
Connection string
W przypadku domyślnych zmiennych środowiskowych i przykładowego kodu innego typu uwierzytelniania wybierz od początku dokumentacji.
Pobierz parametry połączenia usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez usługę Service Połączenie or.
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);
Zapoznaj się z artykułem Przekazywanie pliku do usługi Azure Blob Storage i konfigurowanie aplikacji Spring. Właściwości konfiguracji są dodawane do aplikacji Spring Apps przez usługę Połączenie or. Dwa zestawy właściwości konfiguracji są udostępniane zgodnie z wersją platformy Azure Spring Cloud (poniżej wersji 4.0 i nowszej 4.0). Aby uzyskać więcej informacji na temat zmian bibliotek platformy Spring Cloud na platformie Azure, zobacz Spring Cloud Azure Migration Guide (Przewodnik po migracji spring cloud na platformę Azure).
Instalowanie zależności
pip install azure-storage-blob
Pobierz parametry połączenia usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez usługę Service Połączenie or.
from azure.storage.blob import BlobServiceClient
import os
connection_str = os.getenv('AZURE_STORAGEBLOB_CONNECTIONSTRING')
blob_service_client = BlobServiceClient.from_connection_string(connection_str)
Instalowanie zależności.
pip install django-storages[azure]
Skonfiguruj i skonfiguruj zaplecze usługi Azure Blob Storage w pliku ustawień Django odpowiednio do wersji django. Aby uzyskać więcej informacji, zobacz django-storages[azure].
W pliku ustawień dodaj następujące wiersze.
# in your setting file, eg. settings.py
AZURE_CONNECTION_STRING = os.getenv('AZURE_STORAGEBLOB_CONNECTIONSTRING')
Instalowanie zależności.
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
Pobierz parametry połączenia usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez usługę Service Połączenie or.
W przypadku innych języków można użyć adresu URL konta usługi Azure Blob Storage i innych właściwości, które usługa Połączenie or ustawia na zmienne środowiskowe w celu nawiązania połączenia z usługą Azure Blob Storage. Aby uzyskać szczegółowe informacje o zmiennej środowiskowej, zobacz Integrowanie usługi Azure Blob Storage z usługą Połączenie or.
Jednostka usługi
W przypadku domyślnych zmiennych środowiskowych i przykładowego kodu innego typu uwierzytelniania wybierz od początku dokumentacji.
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 usługę Połączenie or. 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 according to the authentication type.
// 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);
Uwierzytelnianie przy użyciu metody azure-identity i uzyskiwanie adresu URL punktu końcowego ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
String url = System.getenv("AZURE_STORAGEBLOB_RESOURCEENDPOINT");
// Uncomment the following lines according to the authentication type.
// 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();
Typ uwierzytelniania nie jest obsługiwany dla platformy Spring Boot.
Uwierzytelnianie przy użyciu azure-identity biblioteki i uzyskiwanie adresu URL punktu końcowego ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
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 according to the authentication type.
# 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)
Uwierzytelnianie za pośrednictwem azure-identity biblioteki. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import os
# Uncomment the following lines according to the authentication type.
# 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)
W pliku ustawień dodaj następujące wiersze. Aby uzyskać więcej informacji, zobacz 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.
Instalowanie zależności.
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
W kodzie uwierzytelnij się za pośrednictwem azidentity biblioteki. Pobierz adres URL punktu końcowego usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
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 according to the authentication type.
// 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)
}
Pobierz adres URL punktu końcowego usługi Azure Blob Storage ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Uwierzytelnianie za pośrednictwem @azure/identity biblioteki. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { BlobServiceClient } = require("@azure/storage-blob");
const account_url = process.env.AZURE_STORAGEBLOB_RESOURCEENDPOINT;
// Uncomment the following lines according to the authentication type.
// 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);
W przypadku innych języków możesz użyć adresu URL konta usługi Azure Blob Storage i innych właściwości, które usługa Połączenie or ustawia na zmienne środowiskowe w celu nawiązania połączenia z usługą Azure Blob Storage. Aby uzyskać szczegółowe informacje o zmiennej środowiskowej, zobacz Integrowanie usługi Azure Blob Storage z usługą Połączenie or.
Następne kroki
Postępuj zgodnie z samouczkami, aby dowiedzieć się więcej na temat usługi Połączenie or.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź: https://aka.ms/ContentUserFeedback.