Ir para conteúdo
  • Cadastre-se

dev botao

Backup em nuvem


Ver Solução Respondido por Juliomar Marchetti,

Recommended Posts

  • Membros Pro
Postado

Boa Noite. tem algum componente ACBr que eu possa usar para fazer backup em nuvem ou em alguma pasta do meu site.

Se tiver tem exemplos em Delphi?

Preciso Fazer backup do XML dos clientes

Agradeço de puderem ajudar.

  • Membros Pro
Postado
Em 21/08/2024 at 20:11, tavares0841 disse:

Boa Noite. tem algum componente ACBr que eu possa usar para fazer backup em nuvem ou em alguma pasta do meu site.

Se tiver tem exemplos em Delphi?

Preciso Fazer backup do XML dos clientes

Agradeço de puderem ajudar.

Se você tiver um tempo para desenvolver, eu recomendaria você utilizar o S3 da AWS.
No Delphi tem o componente TAmazonConnectionInfo para isto.

Vou te dar um exemplo:

var
  AWS: TAmazonConnectionInfo;
  S3: TAmazonStorageService;

Response: TCloudResponseInfo;

BytesStream: TBytesStream;
  FileStream: TFileStream;
  BytesEnviar: TBytes;

NomeArqAWS: string;

 

begin

  AWS := TAmazonConnectionInfo.Create(Self);
  AWS.UseDefaultEndpoints := False;
  AWS.ConsistentRead := True;
  AWS.Protocol := 'http';
  AWS.AccountKey := 'AccountKey';
  AWS.AccountName := 'AccountName';
  AWS.Region := AWS.GetRegionFromString('Region');
  AWS.StorageEndpoint := 'StorageEndpoint';
  S3 := TAmazonStorageService.Create(AWS);

 

Response := TCloudResponseInfo.Create;
  NomeArqAWS := 'nome_sub_pasta/nome_arquivo';

 

BytesStream := TBytesStream.Create;
    try
      try
        BytesStream.LoadFromFile('arquivo');
        BytesStream.Position := 0;
        SetLength(BytesEnviar, BytesStream.Size);
        BytesStream.ReadBuffer(BytesEnviar, BytesStream.Size);

        Result.ArquivoEnviado := S3.UploadObject('nome_bucket', NomeArqAWS,
          BytesEnviar, False, nil, nil, amzbaBucketOwnerFullControl, Response);
        Result.StatusCode := Response.StatusCode;
        Result.StatusMessage := Response.StatusMessage;
      except
        on E: Exception do
        begin
          Result.ArquivoEnviado := False;
          Result.StatusCode := 0;
          Result.StatusMessage := E.Message.Trim;
        end;
      end;
    finally
      S3.Free;
      AWS.Free;
      Response.Free;
    end;

 

  • Obrigado 1

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.