Integrar o Armazenamento de Blobs do Azure com o Service Connector
Artigo
Esta página mostra os tipos de autenticação suportados, tipos de cliente e código de exemplo do Armazenamento de Blobs do Azure usando o Service Connector. Esta página também mostra nomes e valores de variáveis de ambiente padrão (ou configuração do Spring Boot) que você obtém quando cria a conexão de serviço.
Serviços de computação suportados
O Service Connector pode ser usado para conectar os seguintes serviços de computação ao Armazenamento de Blobs do Azure:
Serviço de Aplicações do Azure
Azure Container Apps
Funções do Azure
Azure Kubernetes Service (AKS)
Azure Spring Apps
Tipos de autenticação e tipos de cliente suportados
A tabela abaixo mostra quais combinações de métodos de autenticação e clientes têm suporte para conectar seu serviço de computação ao Armazenamento de Blobs do Azure usando o Service Connector. Um "Sim" indica que a combinação é suportada, enquanto um "Não" indica que ela não é suportada.
Tipo de cliente
Identidade gerida atribuída pelo sistema
Identidade gerida atribuída pelo utilizador
Segredo / cadeia de conexão
Service principal (Principal de serviço)
.NET
Sim
Sim
Sim
Sim
Java
Sim
Sim
Sim
Sim
Java - Arranque primavera
Sim
Sim
Sim
Sim
Node.js
Sim
Sim
Sim
Sim
Python
Sim
Sim
Sim
Sim
Go
Sim
Sim
Sim
Sim
Nenhuma
Sim
Sim
Sim
Sim
Esta tabela indica claramente que todas as combinações de tipos de cliente e métodos de autenticação são suportadas, exceto para o tipo de cliente Java - Spring Boot, que suporta apenas o método Secret / connection string. Todos os outros tipos de cliente podem usar qualquer um dos métodos de autenticação para se conectar ao Armazenamento de Blobs do Azure usando o Service Connector.
Nomes de variáveis de ambiente padrão ou propriedades de aplicativo e código de exemplo
Consulte os detalhes da conexão e o código de exemplo nas tabelas a seguir, de acordo com o tipo de autenticação e o tipo de cliente da sua conexão, para conectar serviços de computação ao Armazenamento de Blobs do Azure. Você pode saber mais sobre a convenção de nomenclatura de variável de ambiente do Service Connector.
Identidade gerida atribuída pelo sistema
Cliente SpringBoot
A autenticação com uma identidade gerenciada atribuída ao sistema só está disponível para o Spring Cloud Azure versão 4.0 ou superior.
Você pode usar azure-identity para autenticar por meio de identidade gerenciada ou entidade de serviço. Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
Instalar dependências
dotnet add package Azure.Identity
Aqui está um código de exemplo para se conectar ao armazenamento de Blob usando identidade gerenciada ou entidade de serviço.
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);
Adicione as seguintes dependências no arquivo pom.xml :
Autentique-se usando azure-identity e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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();
Consulte Carregar um arquivo para um Armazenamento de Blob do Azure e configurar seu aplicativo Spring. As propriedades de configuração (do Spring Cloud Azure 4.0 e superior) são adicionadas ao Spring Apps pelo Service Connector. Para obter mais informações sobre propriedades de configuração, consulte Propriedades de Blob de Armazenamento do Azure.
Autentique-se usando azure-identity a biblioteca e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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)
Autentique-se via azure-identity biblioteca. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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)
Na configuração do arquivo, adicione as seguintes linhas. Para obter mais informações, consulte 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.
Instale dependências.
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
No código, autentique-se via azidentity biblioteca. Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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)
}
Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector. Autentique-se via @azure/identity biblioteca. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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);
Para outros idiomas, você pode usar a URL da conta do Armazenamento de Blobs do Azure e outras propriedades que o Service Connector define para as variáveis de ambiente para se conectar ao armazenamento de Blob do Azure. Para obter detalhes sobre variáveis de ambiente, consulte Integrar o Armazenamento de Blobs do Azure com o Service Connector.
Identidade gerida atribuída pelo utilizador
Cliente SpringBoot
A autenticação com uma identidade gerenciada atribuída pelo usuário só está disponível para o Spring Cloud Azure versão 4.0 ou superior.
Você pode usar azure-identity para autenticar por meio de identidade gerenciada ou entidade de serviço. Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
Instalar dependências
dotnet add package Azure.Identity
Aqui está um código de exemplo para se conectar ao armazenamento de Blob usando identidade gerenciada ou entidade de serviço.
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);
Adicione as seguintes dependências no arquivo pom.xml :
Autentique-se usando azure-identity e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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();
Consulte Carregar um arquivo para um Armazenamento de Blob do Azure e configurar seu aplicativo Spring. As propriedades de configuração (do Spring Cloud Azure 4.0 e superior) são adicionadas ao Spring Apps pelo Service Connector. Para obter mais informações sobre propriedades de configuração, consulte Propriedades de Blob de Armazenamento do Azure.
Autentique-se usando azure-identity a biblioteca e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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)
Autentique-se via azure-identity biblioteca. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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)
Na configuração do arquivo, adicione as seguintes linhas. Para obter mais informações, consulte 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.
Instale dependências.
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
No código, autentique-se via azidentity biblioteca. Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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)
}
Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector. Autentique-se via @azure/identity biblioteca. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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);
Para outros idiomas, você pode usar a URL da conta do Armazenamento de Blobs do Azure e outras propriedades que o Service Connector define para as variáveis de ambiente para se conectar ao armazenamento de Blob do Azure. Para obter detalhes sobre variáveis de ambiente, consulte Integrar o Armazenamento de Blobs do Azure com o Service Connector.
Connection string
Aviso
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento requer um grau muito alto de confiança no aplicativo e acarreta riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.
Obtenha a cadeia de conexão do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector.
Instalar dependências
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);
Adicione as seguintes dependências no arquivo pom.xml :
Consulte Carregar um arquivo para um Armazenamento de Blob do Azure e configurar seu aplicativo Spring. As propriedades de configuração são adicionadas ao Spring Apps pelo Service Connector. Dois conjuntos de propriedades de configuração são fornecidos de acordo com a versão do Spring Cloud Azure (abaixo de 4.0 e acima de 4.0). Para obter mais informações sobre alterações na biblioteca do Spring Cloud Azure, consulte o Guia de Migração do Spring Cloud Azure.
Instalar dependências
pip install azure-storage-blob
Obtenha a cadeia de conexão do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector.
from azure.storage.blob import BlobServiceClient
import os
connection_str = os.getenv('AZURE_STORAGEBLOB_CONNECTIONSTRING')
blob_service_client = BlobServiceClient.from_connection_string(connection_str)
Instale dependências.
pip install django-storages[azure]
Configure e configure o back-end do Armazenamento de Blobs do Azure em seu arquivo de configurações do Django de acordo com sua versão django. Para obter mais informações, consulte django-storages[azure].
Na configuração do arquivo, adicione as seguintes linhas.
# in your setting file, eg. settings.py
AZURE_CONNECTION_STRING = os.getenv('AZURE_STORAGEBLOB_CONNECTIONSTRING')
Instale dependências.
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
Obtenha a cadeia de conexão do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector.
Para outros idiomas, você pode usar a URL da conta do Armazenamento de Blobs do Azure e outras propriedades que o Service Connector define para as variáveis de ambiente para se conectar ao Armazenamento de Blobs do Azure. Para obter detalhes sobre variáveis de ambiente, consulte Integrar o Armazenamento de Blobs do Azure com o Service Connector.
Service principal (Principal de serviço)
Cliente SpringBoot
A autenticação com uma entidade de serviço só está disponível para o Spring Cloud Azure versão 4.0 ou superior.
Você pode usar azure-identity para autenticar por meio de identidade gerenciada ou entidade de serviço. Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
Instalar dependências
dotnet add package Azure.Identity
Aqui está um código de exemplo para se conectar ao armazenamento de Blob usando identidade gerenciada ou entidade de serviço.
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);
Adicione as seguintes dependências no arquivo pom.xml :
Autentique-se usando azure-identity e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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();
Consulte Carregar um arquivo para um Armazenamento de Blob do Azure e configurar seu aplicativo Spring. As propriedades de configuração (do Spring Cloud Azure 4.0 e superior) são adicionadas ao Spring Apps pelo Service Connector. Para obter mais informações sobre propriedades de configuração, consulte Propriedades de Blob de Armazenamento do Azure.
Autentique-se usando azure-identity a biblioteca e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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)
Autentique-se via azure-identity biblioteca. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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)
Na configuração do arquivo, adicione as seguintes linhas. Para obter mais informações, consulte 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.
Instale dependências.
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
No código, autentique-se via azidentity biblioteca. Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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)
}
Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Service Connector. Autentique-se via @azure/identity biblioteca. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
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);
Para outros idiomas, você pode usar a URL da conta do Armazenamento de Blobs do Azure e outras propriedades que o Service Connector define para as variáveis de ambiente para se conectar ao armazenamento de Blob do Azure. Para obter detalhes sobre variáveis de ambiente, consulte Integrar o Armazenamento de Blobs do Azure com o Service Connector.
Próximos passos
Siga os tutoriais para saber mais sobre o Service Connector.