Integrar o Armazenamento de Blobs do Azure ao Conector de Serviço
Artigo
Esta página mostra os tipos de autenticação com suporte, os tipos de cliente e o código de exemplo do Armazenamento de Blobs do Azure usando o Conector de Serviço. Esta página também mostra nomes e valores da variável de ambiente padrão (ou configuração do Spring Boot) que você obtém ao criar a conexão de serviço.
Serviço de computação com suporte
O Conector de Serviço pode ser usado para conectar os seguintes serviços de computação ao Armazenamento de Blobs do Azure:
Serviço de Aplicativo do Azure
Aplicativos de Contêiner do Azure
Azure Functions
AKS (Serviço de Kubernetes do Azure)
Azure Spring Apps
Tipos de autenticação e tipos de cliente com suporte
A tabela abaixo mostra quais combinações de métodos de autenticação e clientes são suportadas para conectar seu serviço de computação ao Armazenamento de Blobs do Azure usando o Conector de Serviço. “Sim” indica que a combinação tem suporte e “Não” indica que ela não tem.
Tipo de cliente
Identidade gerenciada atribuída pelo sistema
Identidade gerenciada atribuída pelo usuário
Cadeia de conexão/segredo
Entidade de serviço
.NET
Sim
Sim
Sim
Sim
Java
Sim
Sim
Sim
Yes
Java – Spring Boot
Sim
Sim
Sim
Sim
Node.js
Sim
Sim
Sim
Sim
Python
Sim
Sim
Sim
Yes
Go
Sim
Sim
Sim
Yes
Nenhum
Sim
Sim
Sim
Sim
Essa tabela claramente indica que todas as combinações de tipos de cliente e métodos de autenticação são suportadas, exceto o tipo de cliente Java - Spring Boot, que suporta apenas o método Secreto / cadeia de conexão. 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 Conector de Serviço.
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 os serviços de computação ao Armazenamento de Blobs do Azure. Saiba mais sobre a Convenção de nomenclatura de variável de ambiente do conector de serviço.
Identidade gerenciada atribuída pelo sistema
Cliente SpringBoot
Autenticar com uma identidade gerenciada atribuída pelo sistema está disponível apenas para a versão 4.0 ou superior do Spring Cloud Azure.
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 Conector de Serviço. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
Instalar dependências
dotnet add package Azure.Identity
Aqui está o código de exemplo para se conectar ao Armazenamento de Blobs usando a identidade gerenciada ou a 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 dependências a seguir no seu arquivo pom.xml:
Autentique 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, descompacte a parte do snippet 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();
Autentique usando a biblioteca azure-identity e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Conector de Serviço. Ao usar o código abaixo, descompacte a parte do snippet 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)
Autenticar por meio da biblioteca azure-identity. Ao usar o código abaixo, descompacte a parte do snippet 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 linhas a seguir. 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 as 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 por meio da biblioteca azidentity. Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Conector de Serviço. Ao usar o código abaixo, descompacte a parte do snippet 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 Conector de Serviço. Autenticar por meio da biblioteca @azure/identity. Ao usar o código abaixo, descompacte a parte do snippet 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 outras linguagens, você pode usar a URL da conta do Armazenamento de Blobs do Azure e outras propriedades que o Conector de Serviço define para as variáveis de ambiente para se conectar ao Armazenamento de Blobs do Azure. Para obter detalhes sobre as variáveis de ambiente, consulte Integrar o Armazenamento de Blobs do Azure com o Conector de Serviço.
Identidade gerenciada atribuída pelo usuário
Cliente SpringBoot
A autenticação com uma identidade gerenciada atribuída pelo usuário está disponível apenas para a versão 4.0 ou superior do Spring Cloud Azure.
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 Conector de Serviço. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
Instalar dependências
dotnet add package Azure.Identity
Aqui está o código de exemplo para se conectar ao Armazenamento de Blobs usando a identidade gerenciada ou a 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 dependências a seguir no seu arquivo pom.xml:
Autentique 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, descompacte a parte do snippet 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();
Autentique usando a biblioteca azure-identity e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Conector de Serviço. Ao usar o código abaixo, descompacte a parte do snippet 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)
Autenticar por meio da biblioteca azure-identity. Ao usar o código abaixo, descompacte a parte do snippet 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 linhas a seguir. 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 as 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 por meio da biblioteca azidentity. Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Conector de Serviço. Ao usar o código abaixo, descompacte a parte do snippet 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 Conector de Serviço. Autenticar por meio da biblioteca @azure/identity. Ao usar o código abaixo, descompacte a parte do snippet 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 outras linguagens, você pode usar a URL da conta do Armazenamento de Blobs do Azure e outras propriedades que o Conector de Serviço define para as variáveis de ambiente para se conectar ao Armazenamento de Blobs do Azure. Para obter detalhes sobre as variáveis de ambiente, consulte Integrar o Armazenamento de Blobs do Azure com o Conector de Serviço.
Cadeia de conexão
Aviso
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento exige um grau muito alto de confiança no aplicativo e traz 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 Conector do Serviço.
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 dependências a seguir no seu arquivo pom.xml:
Consulte Carregar um arquivo em um Armazenamento de Blobs do Azure e configure seu aplicativo Spring. As propriedades de configuração são adicionadas aos Aplicativos Spring pelo Conector de Serviço. Dois conjuntos de propriedades de configuração são fornecidos de acordo com a versão do Spring Cloud Azure (anterior a 4.0 e superior a 4.0). Para obter mais informações sobre as alterações na biblioteca do Spring Cloud Azure, veja 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 Conector do Serviço.
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 as dependências.
pip install django-storages[azure]
Configure o back-end do Armazenamento de Blobs do Azure no arquivo de configurações do Django de acordo com sua versão do django. Para obter mais informações, consulte django-storages[azure].
Na configuração do arquivo, adicione as linhas a seguir.
# in your setting file, eg. settings.py
AZURE_CONNECTION_STRING = os.getenv('AZURE_STORAGEBLOB_CONNECTIONSTRING')
Instale as 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 Conector do Serviço.
Para outras linguagens, você pode usar a URL da conta de Armazenamento de Blobs do Azure e outras propriedades que o Conector de Serviço define para as variáveis de ambiente para se conectar ao Armazenamento de Blobs do Azure. Para obter detalhes sobre as variáveis de ambiente, consulte Integrar o Armazenamento de Blobs do Azure com o Conector de Serviço.
Entidade de serviço
Cliente SpringBoot
Autenticar com uma entidade de serviço está disponível apenas para a versão 4.0 ou superior do Spring Cloud Azure.
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 Conector de Serviço. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
Instalar dependências
dotnet add package Azure.Identity
Aqui está o código de exemplo para se conectar ao Armazenamento de Blobs usando a identidade gerenciada ou a 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 dependências a seguir no seu arquivo pom.xml:
Autentique 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, descompacte a parte do snippet 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();
Autentique usando a biblioteca azure-identity e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Conector de Serviço. Ao usar o código abaixo, descompacte a parte do snippet 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)
Autenticar por meio da biblioteca azure-identity. Ao usar o código abaixo, descompacte a parte do snippet 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 linhas a seguir. 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 as 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 por meio da biblioteca azidentity. Obtenha a URL do ponto de extremidade do Armazenamento de Blobs do Azure da variável de ambiente adicionada pelo Conector de Serviço. Ao usar o código abaixo, descompacte a parte do snippet 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 Conector de Serviço. Autenticar por meio da biblioteca @azure/identity. Ao usar o código abaixo, descompacte a parte do snippet 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 outras linguagens, você pode usar a URL da conta do Armazenamento de Blobs do Azure e outras propriedades que o Conector de Serviço define para as variáveis de ambiente para se conectar ao Armazenamento de Blobs do Azure. Para obter detalhes sobre as variáveis de ambiente, consulte Integrar o Armazenamento de Blobs do Azure com o Conector de Serviço.
Próximas etapas
Siga os tutoriais para saber mais sobre o conector de serviço.