Jump to content

dev botao

Backup em nuvem


Go to solution Solved by Juliomar Marchetti,

Recommended Posts

  • Membros Pro

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.

Link to comment
Share on other sites

  • Membros Pro
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;

 

  • Thanks 1

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.