Pular para o conteúdo principal

Copiar Dados do SharePoint para o Azure Blob Storage com Rclone e PnP PowerShell

Objetivo

Este documento descreve o processo para copiar dados de um site SharePoint para um Azure Blob Storage utilizando o rclone com a storage mapeada, facilitando a transferência entre os dois ambientes.

Pré-requisitos

Antes de começar, verifique se você possui os seguintes itens:

  • Conta no SharePoint com permissões adequadas para acessar e copiar arquivos ou documentos.
  • Conta no Azure com o Azure Blob Storage configurado.
  • rclone instalado. Se ainda não instalou, siga o guia de instalação aqui.
  • PowerShell 7.0 instalado. Baixe a versão mais recente aqui
  • Credenciais de acesso para o SharePoint e Azure Blob Storage.
  • Configuração do rclone com o Azure Blob Storage.

- Configuração do Rclone

Abra o terminal ou prompt de comando e navega té a pasta do rclone onde o programa foi salvo:
C: Temp\ rclone-v1.69.0-windows-amd64

Em seguida  execute o comando:
rclone config

- Crie uma nova configuração:

Escolha n para criar uma nova configuração.
Dê um nome para a configuração, por exemplo: azureblob.
Selecione 34 para Azure Blob Storage.
Insira as credenciais (Account Name, Account Key, Tenant e url SAS) do seu Azure Blob Storage ou utilize a autenticação via Azure AD.

Teste a conexão com o Azure Blob Storage: Após configurar, execute o comando:
rclone lsd azureblob:

- Mapear a Storage no rclone
rclone mount azureblob:"contoso" X: --vfs-cache-mode full  

Após executar o comando o mesmo vai aparecer no file Explorer.

Obs: A tela do Rclone não pode ser fechada, pois ela encerra o compartilhamento.


- Conectar ao SharePoint

Primeiramente, é essencial garantir que o módulo PnP PowerShell esteja instalado e atualizado em sua máquina. Para isso, execute os seguintes comandos, a fim de assegurar que todas as configurações necessárias estejam corretas:

Install-Module PnP.PowerShell -Scope CurrentUser -Force
Update-Module PnP.PowerShell

Após a instalação e atualização, o próximo passo é estabelecer a conexão com seu ambiente SharePoint Online utilizando as credenciais apropriadas. Para se conectar ao seu site, utilize o seguinte comando:

$SiteURL = "https://azuretechinsights.com.br/teste/teste"
Connect-PnPOnline -Url $SiteURL -UseWebLogin

Será solicitado que você forneça suas credenciais:

Nota importante: é necessário ser Global Admin para realizar esta operação.

- Configurar Variáveis para o Processo

Agora, é necessário configurar as variáveis essenciais para o script, incluindo o nome da biblioteca, o caminho da pasta dentro da biblioteca e o diretório local para armazenar os arquivos:

$SiteURL = "https://azuretechinsights.com.br/teste/teste"
$LibraryName = "Documentos Compartilhados"  # Nome da biblioteca no SharePoint
$FolderPath = "azuretechinsights"   # Caminho relativo da pasta dentro da biblioteca
$DownloadPath = "Caminho da Storage Mapeada"  # Caminho local onde os arquivos serão baixados

- $LibraryName: Nome da biblioteca de documentos do SharePoint onde os arquivos estão armazenados.
$FolderPath: Caminho relativo da pasta dentro da biblioteca que você deseja copiar.
$DownloadPath: Diretório local onde os arquivos serão armazenados após o download.

Após a configuração das variáveis, execute o script abaixo. Ele realizará o download da pasta denominada azuretechinsights do SharePoint

=========================================================================

# Atualizar e instalar o módulo PnP PowerShell (se necessário)
Install-Module PnP.PowerShell -Scope CurrentUser -Force
Update-Module PnP.PowerShell
 
$SiteURL = "https://azuretechinsights/teste/teste"
Connect-PnPOnline -Url $SiteURL -UseWebLogin
 
# Configurar variáveis
$SiteURL = "https://azuretechinsights/teste/teste"
$LibraryName = "Documentos Compartilhados"  # Nome da biblioteca no SharePoint
$FolderPath = "azuretechinsights"   # Caminho relativo da pasta dentro da biblioteca
$DownloadPath = "Caminho da Storage Mapeada"  # Caminho local onde os arquivos serão baixados
 
# Conectar ao SharePoint
Connect-PnPOnline -Url $SiteURL -Interactive
 
# Criar a pasta local se não existir
if (!(Test-Path -Path $DownloadPath)) {
    New-Item -ItemType Directory -Path $DownloadPath -Force
}
 
# Obter itens da pasta específica dentro da biblioteca
$Files = Get-PnPListItem -List $LibraryName | Where-Object { $_.FieldValues.FileRef -match $FolderPath }
 
foreach ($File in $Files) {
    $FileUrl = $File.FieldValues.FileRef
    $FileName = Split-Path $FileUrl -Leaf
    $RelativePath = $FileUrl -replace "^/sites/sites/Shared Documents/", ""  # Ajuste para refletir a estrutura exata
    $LocalFilePath = Join-Path -Path $DownloadPath -ChildPath $RelativePath
 
    # Criar diretório local correspondente, se necessário
    $LocalFolderPath = Split-Path -Path $LocalFilePath -Parent
    if (!(Test-Path -Path $LocalFolderPath)) {
        New-Item -ItemType Directory -Path $LocalFolderPath -Force
    }
 
    # Baixar arquivo mantendo a estrutura
    Get-PnPFile -Url $FileUrl -Path $LocalFolderPath -FileName $FileName -AsFile -Force
    Write-Host "Arquivo baixado: $FileName para $LocalFolderPath"
}
 
Write-Host "Download concluído!"
 

Após receber a mensagem acima, os dados vão está na storage que foi mapeada e sera copiado direto para a nuvem.

=====================================================================

Conclusão

Neste processo, foi demonstrado como realizar a cópia de dados de uma biblioteca do SharePoint para um Azure Blob Storage, utilizando o rclone e o PnP PowerShell. O uso do rclone mapeado permite uma transferência eficiente dos arquivos diretamente para a nuvem.

Após a execução do script, os dados serão baixados e, em seguida, transferidos para o armazenamento em nuvem, mantendo a integridade da estrutura de pastas original.

Esse método oferece uma maneira prática e escalável de mover dados do SharePoint para o Azure Blob Storage, sem a necessidade de intervenção manual, tornando o processo mais ágil e seguro.






















Comentários

Postagens mais visitadas deste blog

Microsoft Authenticator agora suporta Passkeys: Como ativar e testar

 A autenticação de dois fatores (MFA) sempre foi uma das melhores práticas para proteger contas online. Agora, a Microsoft deu um passo além ao adicionar suporte nativo para Passkeys no Microsoft Authenticator . Essa atualização, lançada em janeiro de 2025, permite que os usuários façam login sem precisar de senhas tradicionais, utilizando métodos resistentes a phishing e mais convenientes, como biometria ou PIN. Neste artigo, vamos explorar o que são Passkeys, os benefícios desse novo recurso e como ativá-lo e testá-lo no Microsoft Authenticator . O que são Passkeys? As Passkeys são um método moderno de autenticação baseado no padrão FIDO2/WebAuthn , que permite que os usuários façam login de maneira segura sem precisar inserir senhas. Em vez disso, eles usam biometria (impressão digital ou reconhecimento facial), um PIN ou outro fator local para validar a identidade. Principais benefícios das Passkeys - Resistência a phishing: Como não há senhas para serem roubadas, ataques d...

Mudança no Processo de Exclusão de Usuário no Microsoft 365

 A Microsoft fez uma atualização importante no processo de exclusão de usuários no Microsoft 365 . Agora, ao excluir um usuário, os delegados (pessoas que têm acesso à caixa de correio e aos arquivos) terão apenas 30 dias para acessar o OneDrive do usuário excluído. O que muda? Prazo reduzido : O tempo de acesso aos arquivos foi limitado a 30 dias após a exclusão do usuário, o que significa que os dados ficam acessíveis por um período mais curto. Impacto nos Delegados : Antes, os delegados podiam acessar os dados por mais tempo. Agora, a Microsoft reduziu esse prazo para evitar o armazenamento prolongado de dados de usuários excluídos. Ação Rápida Necessária : Caso seja necessário manter os arquivos por mais tempo, a organização deve tomar providências para transferir ou arquivar esses dados antes que o acesso expire. Por que isso é importante? Essa mudança reflete um esforço da Microsoft para alinhar a gestão de dados com práticas de segurança mais rígidas, incentivando as empre...

Microsoft está removendo as permissões "Todos, exceto usuários externos" no OneDrive

 Já encontrou arquivos no OneDrive acessíveis para toda a sua organização, mesmo sem ter compartilhado intencionalmente? Isso acontece por conta da permissão "Todos, exceto usuários externos" (EEEU) , que permite o acesso interno sem restrições. Mas isso está prestes a mudar. - A partir de 10 de abril de 2025 , a Microsoft removerá a permissão EEEU dos sites raiz do OneDrive e das bibliotecas de documentos padrão, reduzindo o risco de compartilhamento acidental de dados. - Se seus aplicativos, processos ou usuários dependem dessa permissão, eles perderão o acesso assim que a alteração for aplicada. - No entanto, permissões diretas de arquivos e pastas não serão afetadas – quem já tem acesso explícito continuará com permissão. Muitas organizações deixam conteúdos abertos para todos os usuários internos sem perceber. Apesar de parecer inofensivo, isso aumenta riscos de segurança e pode levar à exposição involuntária de dados. O que você deve fazer? ✅ Revisar as permissões ...