Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #2380

azure-storage-blob-rust

Ajuda seu agente a gerenciar arquivos (blobs) no Azure usando Rust. É útil para carregar, baixar e organizar dados na nuvem.

O que ela faz

Esta ferramenta ajuda programas escritos em Rust a guardar e buscar arquivos (chamados 'blobs') no armazenamento em nuvem da Microsoft Azure. Você pode usar para enviar, baixar e organizar esses arquivos.

Quando usar

  • ✓Quando seu programa precisa salvar um arquivo grande na nuvem.
  • ✓Quando seu programa precisa baixar um arquivo que está guardado na nuvem.
  • ✓Quando seu programa precisa listar ou apagar arquivos em um local específico na nuvem.

Exemplo do que pedir para a IA

“Como faço para meu programa Rust enviar um arquivo para o Azure Blob Storage?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-storage-blob-rust/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-storage-blob-rust/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O programa usa uma 'biblioteca' especial (SDK) que se comunica com o Azure. Ele precisa de informações de acesso e, em seguida, usa comandos específicos para enviar, baixar ou gerenciar os arquivos.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill azure-storage-blob-rust

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-storage-blob-rust/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

SDK do Azure Blob Storage para Rust

Biblioteca cliente para o Azure Blob Storage — a solução de armazenamento de objetos da Microsoft na nuvem.

Os exemplos abaixo exigem um conjunto de crates compatíveis revisados e a substituição de cada placeholder de recurso. Não use dados de produção para gravações de demonstração.

Instalação

cargo add azure_storage_blob@=1.1.0 azure_identity@=1.0.0 azure_core@=1.1.0

Variáveis de Ambiente

export AZURE_STORAGE_ACCOUNT_NAME="<storage-account-name>"
# Endpoint: https://<account>.blob.core.windows.net/

Autenticação

use azure_identity::DeveloperToolsCredential;
use azure_core::http::Url;
use azure_storage_blob::clients::{BlobClient, BlobClientOptions};

let credential = DeveloperToolsCredential::new(None)?;
let blob_client = BlobClient::new(
    Url::parse("https://<account>.blob.core.windows.net/container-name/blob-name")?,
    Some(credential),
    Some(BlobClientOptions::default()),
)?;

Tipos de Cliente

Cliente Propósito
BlobServiceClient Operações em nível de conta, listar contêineres
BlobContainerClient Operações de contêiner, listar blobs
BlobClient Operações de blob individual

Operações Principais

Upload de Blob

use azure_core::http::RequestContent;
use azure_storage_blob::models::BlobClientUploadOptions;

let data = b"hello world";
blob_client
    .upload(
        RequestContent::from(data.to_vec()),
        Some(BlobClientUploadOptions::if_not_exists()), // fail rather than overwrite an existing blob
    )
    .await?;

Download de Blob

let response = blob_client.download(None).await?;
// Check the approved size before fetching; use download_into with a bounded buffer for large data.
let content = response.body.collect().await?;
// Process authorized bytes; do not log the payload.

Obter Propriedades do Blob

let properties = blob_client.get_properties(None).await?;
// Read the version-specific response header trait; properties is a response, not a content_length field.
// Do not infer a body/size limit from successful metadata access alone.

Excluir Blob

blob_client.delete(None).await?;

Operações de Contêiner

use azure_storage_blob::clients::BlobContainerClient;
use futures::TryStreamExt;

let container_client = BlobContainerClient::new(
    Url::parse("https://<account>.blob.core.windows.net/container-name")?,
    Some(credential),
    None,
)?;

// Create container
container_client.create(None).await?;

// List blobs
let mut pager = container_client.list_blobs(None)?;
while let Some(page) = pager.try_next().await? {
    let listing = page.into_model()?;
    // Process this listing page; apply an explicit maximum-page budget.
}

Melhores Práticas

  1. Use autenticação do Entra ID — DeveloperToolsCredential para desenvolvimento, ManagedIdentityCredential para produção
  2. Revise o comportamento de sobrescrita — a API de upload revisada usa opções; if_not_exists impede substituições não intencionais
  3. Use RequestContent::from() — para encapsular dados de upload
  4. Manipule operações assíncronas — use o runtime tokio
  5. Verifique as permissões RBAC — garanta a função "Colaborador de Dados do Blob de Armazenamento"

Permissões RBAC

Para autenticação do Entra ID, atribua uma destas funções:

  • Storage Blob Data Reader — somente leitura
  • Storage Blob Data Contributor — leitura/escrita
  • Storage Blob Data Owner — acesso a dados de blob e gerenciamento de propriedade/ACL compatível; não concede autoridade geral de atribuição de função RBAC do Azure

A API de exemplo segue o BlobClient 1.1.0; versões anteriores usavam assinaturas de construtor/upload diferentes. Use as versões de crate Azure compatíveis do projeto em vez de misturá-las.

O conjunto de exemplos revisado usa azure_storage_blob 1.1.0 e crates de credenciais/núcleo Azure compatíveis. Registre e confirme o Cargo.lock; a revisão de código-fonte/API não é um teste de compilador ou de serviço ativo.

Links de Referência

Recurso Link
Referência da API https://docs.rs/azure_storage_blob
Código-fonte https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/storage/azure_storage_blob
crates.io https://crates.io/crates/azure_storage_blob

Quando Usar

Use quando um aplicativo Rust faz upload/download de um blob Azure especificado, lê suas propriedades ou gerencia um contêiner autorizado.

Limitações

…

Perguntas frequentes

O que é um 'blob'?

Um 'blob' é apenas um termo técnico para um arquivo guardado no Azure, como uma foto, um documento ou qualquer outro tipo de dado.

O que significa 'armazenamento em nuvem'?

É um espaço para guardar seus arquivos em computadores remotos (servidores) que você acessa pela internet, em vez de guardá-los no seu próprio computador.

Preciso saber programar em Azure para usar isso?

Este SDK é para quem já programa em Rust. Ele simplifica a interação com o Azure, mas você ainda precisa ter um conhecimento básico de como o Azure funciona e como programar em Rust.

Detalhes

Descrição original do autor

Azure Blob Storage SDK for Rust. Use for uploading, downloading, and managing blobs and containers.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2380
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas