|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
Started by Boller, Jan., 11 2017 12:56 AM - 2 replies |
| |
| | | |
|
| |
Registered member 3,742 messages |
|
Posted on January, 11 2017 - 12:56 AM |
Prezados,
O Amazon Simple Storage Service (Amazon S3) é um armazenamento de objetos com uma interface de web service simples para armazenar e recuperar qualquer volume de dados de qualquer parte da web. Ele foi projetado para oferecer uma durabilidade de 99,999999999% e escalar mais de 1 trilhão de objetos em todo o mundo. Os clientes usam o S3 como um repositório em massa, ou "data lake", para análise, backup e recuperação, recuperação de desastres e computação sem servidor. Muitas aplicações nativas da nuvem usam o S3 até mesmo como armazenamento principal. É simples transferir grandes volumes de dados para dentro ou para fora do S3 com as opções de migração de dados para a nuvem da Amazon. Depois que os dados forem armazenados no Amazon S3, eles poderão ser automaticamente divididos em categorias de armazenamento na nuvem de custo mais baixo e longo prazo, como o S3 Padrão – Acesso ocasional e o Amazon Glacier para arquivamento.
Recursos O Amazon S3 oferece a plataforma de armazenamento de objetos com o conjunto de recursos mais completo disponível atualmente na nuvem. Simples O Amazon S3 é simples de usar e tem um console de gerenciamento e uma aplicação móvel, ambos baseados na web. O S3 também disponibiliza APIs REST e SDKs completos para a integração fácil com tecnologias de terceiros. Conceitos básicos do Amazon S3 » Resiliente O Amazon S3 proporciona infraestrutura durável para armazenar dados importantes e foi projetado para oferecer durabilidade de objetos de 99,999999999%. Seus dados são armazenados com redundância em várias instalações e diversos dispositivos em cada instalação. Saiba mais » Escalável Com o Amazon S3, você pode armazenar a quantidade de dados desejada e acessá-los quando precisar. Não é mais necessário adivinhar as necessidades futuras de armazenamento. Você pode aumentar e diminuir a escala de acordo com a necessidade, aumentando consideravelmente a agilidade empresarial.
Segue aqui a Classe Amazon S3 para ser usada em seus projetos:
Conteúdo da Classe:
S3 is a Class PRIVATE Cliente is dynamic AmazonS3Client nomeBucket is string END
Procedure Constructor(Senha is string,SenhaSecreta is string ,bucket is string) nomeBucket = bucket
Cliente = new AmazonS3Client(Senha,SenhaSecreta,AmazoN.RegionEndpoint.USEast1)
Procedure Destructor()
Procedure Upload(CodigoEmpresa is string,ClienteEmp is string,Categoria is string,AspNet is boolean,Arquivo is string,progresBar is string,zipArquivo is boolean,AreaAspNet is string,Ano is string,Mes is string)
Requisicao is TransferUtilityUploadRequest Transferencia is TransferUtility(Cliente) ArquivoGuid is string Key is string CaminhoArquivo is string = ""
ArquivoGuid = GetGUID(guidRough)
IF AspNet = True THEN Key = CodigoEmpresa + "/" + ClienteEmp + "/" + Categoria + "/" +AreaAspNet(Val(AreaAspNet)) + "/" + Ano + "/" + Mes + "/" + ArquivoGuid ELSE Key = CodigoEmpresa + "/" + Ano + "/" + ArquivoGuid END Requisicao:BucketName = nomeBucket Requisicao:key = Key IF zipArquivo = True THEN CaminhoArquivo = CompactaArquivo(fExtractPath(Arquivo,fFileName),Arquivo) ELSE CaminhoArquivo = Arquivo END Requisicao:FilePath = CaminhoArquivo Requisicao:ContentType = BuscaTipoArquivo(fExtractPath(CaminhoArquivo,fExtension)) IF progresBar <> "" THEN Requisicao:UploadProgressEvent = (DotNetDelegate(progresBar, "EventHandler<UploadProgressArgs>")) END Transferencia.Upload(Requisicao)
RESULT ArquivoGuid
Procedure PRIVATE BuscaTipoArquivo(sExtensaoArquivo is string = "") tipoArquivo is string = "" SWITCH Replace(sExtensaoArquivo,".","") CASE "doc","dot" sExtensaoArquivo = "application/msword" CASE "docx" sExtensaoArquivo = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" CASE "dll" sExtensaoArquivo = "application/x-msdownload" CASE "exe" sExtensaoArquivo = "application/octet-stream" CASE "gif" sExtensaoArquivo = "image/gif" CASE "gz" sExtensaoArquivo = "application/x-gzip" CASE "htm","html" sExtensaoArquivo = "text/html" CASE "ico" sExtensaoArquivo = "image/x-icon" CASE "jpe","jpeg","jpg" sExtensaoArquivo = "image/jpeg" CASE "png" sExtensaoArquivo = "image/png" CASE "pdf" sExtensaoArquivo = "application/pdf" CASE "pps","ppt" sExtensaoArquivo = "application/vnd.ms-powerpoint" CASE "rtf" sExtensaoArquivo = "application/rtf" CASE "txt","cs" sExtensaoArquivo = "text/plain" CASE "xls","csv" sExtensaoArquivo = "application/vnd.ms-excel" CASE "xlsx" sExtensaoArquivo = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" CASE "xml" sExtensaoArquivo = "text/xml" CASE "zip" sExtensaoArquivo = "application/zip" OTHER CASE sExtensaoArquivo = "" END
RESULT sExtensaoArquivo
Procedure DownloadArquivo(CodigoEmpresa is int,ClienteEmp is string,Categoria is string,Ano is int,AspNet is boolean,ArquivoGuid is string,CaminhoDown is string,ProgessoBar is string,AreaAspNet is int,Mes is int) ResquisaoDown is TransferUtilityDownloadRequest TransferenciaDown is TransferUtility(Cliente) Arquivo is string = ""
IF AspNet = True THEN Arquivo = CodigoEmpresa + "/" + ClienteEmp + "/" + Categoria + "/" +AreaAspNet(AreaAspNet) + "/" + Ano + "/" + Mes + "/" + ArquivoGuid ELSE Arquivo = CodigoEmpresa + "/" + ClienteEmp + "/" + Ano + "/" + Categoria + "/" + ArquivoGuid END
ResquisaoDown.BucketName = nomeBucket ResquisaoDown.Key = Arquivo ResquisaoDown.FilePath = CaminhoDown IF ProgessoBar <> "" ResquisaoDown:WriteObjectProgressEvent = (DotNetDelegate(ProgessoBar, "EventHandler<WriteObjectProgressArgs>")) END TransferenciaDown.Download(ResquisaoDown)
Procedure PRIVATE CompactaArquivo(Arquivo is string, CaminhoArq is string) resp is int = 0 caminhoZip is string = ""
resp = zipCreate("ArqZip", fExtractPath(CaminhoArq,fDrive+fDirectory) + "\" + Arquivo + ".zip") IF resp = 0 THEN resp = zipAddFile("ArqZip", CaminhoArq, zipNone) caminhoZip = fExtractPath(CaminhoArq,fDrive+fDirectory+fFileName) + ".zip" END zipClose("ArqZip")
RESULT caminhoZip
Procedure AreaAspNet(Codigo is int) Area is string = "" SWITCH Codigo
CASE 1 Area = "CONTABIL" CASE 2 Area = "FISCAL" CASE 3 Area = "PESSOAL" CASE 4 Area = "AUDITORIA" CASE 5 Area = "ADM" CASE 6 Area = "PLUS" OTHER CASE Area = "OUTROS" END
RESULT Area
Procedure ListaArquivosPasta(CodigoEmpresa is int,CodigoCliente is string,OutrasPastas is string = "") Diretorio is string = "" ListaArquivos is ListVersionsRequest Arquivo is S3ObjectVersion arrArquivos is array of 0 by 2 string NomeGuid is string ="" CaminhoArquivo is string = ""
IF OutrasPastas <> "" THEN Diretorio = CodigoEmpresa + "/" + CodigoCliente + "/" + OutrasPastas ELSE Diretorio = CodigoEmpresa + "/" + CodigoCliente END
ListaArquivos:BucketName = nomeBucket ListaArquivos:Prefix = Diretorio
WHILE ListaArquivos <> Null FOR EACH Arquivo OF Cliente.ListVersions(ListaArquivos).Versions CaminhoArquivo = Arquivo:key NomeGuid =fExtractPath(CaminhoArquivo,fFileName) ArrayAddLine(arrArquivos,CaminhoArquivo,NomeGuid) END IF Cliente.ListVersions(ListaArquivos).IsTruncated = True ListaArquivos:KeyMarker = Cliente.ListVersions(ListaArquivos).NextKeyMarker; ListaArquivos:VersionIdMarker = Cliente.ListVersions(ListaArquivos).NextVersionIdMarker; ELSE ListaArquivos = Null; END END
RESULT arrArquivos
Procedure DowloandPasta(Arquivo is string, CaminhoDown is string)
ResquisaoDown is TransferUtilityDownloadRequest TransferenciaDown is TransferUtility(Cliente)
ResquisaoDown.BucketName = nomeBucket ResquisaoDown.Key = Arquivo ResquisaoDown.FilePath = CaminhoDown
TransferenciaDown.Download(ResquisaoDown)
Adicione as duas DLL do SDK da Amazon S3
a) AWSSDK.Core.dll
b) AWSSDK.S3.dll
Seguro O Amazon S3 oferece suporte à transferência de dados usando SSL e criptografia automática dos dados após o upload. Você também pode configurar políticas de bucket para gerenciar permissões de objetos e controlar o acesso a seus dados usando o AWS Identity and Access Management (IAM). Saiba mais »
Disponível O Amazon S3 Standard foi concebido para proporcionar uma disponibilidade de objetos de até 99,99% durante um determinado ano e tem o respaldo do Acordo de nível de serviço do Amazon S3, garantindo que você possa contar com o serviço sempre que precisar. E você também pode escolher a região da AWS para otimizar a latência, minimizar os custos ou cumprir requisitos normativos.
Baixo custo O Amazon S3 permite armazenar grandes quantidades de dados com custo muito baixo. Com o uso de políticas de ciclo de vida, você pode definir políticas para migrar automaticamente dados para a categoria Padrão – Acesso ocasional e para o Amazon Glacier, conforme se aproximarem do fim da vida útil, para reduzir ainda mais os custos.
Transferência de dados simples A Amazon oferece várias opções de migração de dados para a nuvem e possibilita a movimentação de grandes volumes de dados de e para o Amazon S3 com simplicidade e economia. Os clientes podem escolher entre métodos de conector otimizados para rede, baseados em disco físico ou de terceiros para importar ou exportar dados do S3.
Integrado O Amazon S3 está altamente integrado a outros Serviços da AWS para facilitar a criação de soluções que usam vários Serviços da AWS. As integrações incluem os seguintes serviços: Amazon CloudFront, Amazon CloudWatch, Amazon Kinesis, Amazon RDS, Amazon Glacier, Amazon EBS, Amazon DynamoDB, Amazon Redshift, Amazon Route 53, Amazon EMR, Amazon VPC, Amazon KMS e AWS Lambda.
Fácil de gerenciar Os recursos de gerenciamento de armazenamento do S3 permitem a adoção de uma abordagem controlada por dados à otimização do armazenamento, à segurança de dados e à eficiência do gerenciamento. Esses recursos de nível empresarial disponibilizam dados sobre os seus dados, para que você possa gerenciar o armazenamento com base nestes metadados personalizados.
Casos de uso do Amazon S3 O Amazon S3 é uma ótima escolha para uma grande variedade de casos de uso, de um simples repositório de armazenamento para backup e recuperação até um armazenamento principal para algumas das aplicações nativas de nuvem mais avançadas no mercado atual, bem como para todas as variações intermediárias.
Backup e arquivamento O Amazon S3 oferece uma solução altamente durável, escalonável e segura para backup e arquivamento de dados críticos. Você pode usar o recurso de versionamento do Amazon S3 para oferecer ainda mais proteção aos seus dados armazenados. Você também pode definir as regras do ciclo de vida para migrar automaticamente dados acessados com menos frequência para a categoria Standard – IA e arquivar conjuntos de objetos no Amazon Glacier.
Armazenamento e distribuição de conteúdo O Amazon S3 oferece armazenamento altamente durável e disponível para diversos conteúdos. Permite que você transfira a sua infraestrutura de armazenamento completa para a nuvem, onde você pode tirar proveito da escalabilidade do Amazon S3 e da definição de preço com pagamento conforme o uso para atender às suas crescentes necessidades de armazenamento. Você pode distribuir seu conteúdo diretamente do Amazon S3 ou usar o Amazon S3 como um arquivo de origem para entregar conteúdo aos seus pontos de presença do Amazon CloudFront.
Análise de big data Se você está armazenando dados farmacêuticos ou financeiros, ou arquivos multimídia como fotografias e vídeos, o Amazon S3 pode ser usado como armazenamento de objetos de big data. A Amazon Web Services oferece um portfólio abrangente de serviços que ajudam a gerenciar big data reduzindo custos, oferecendo escalabilidade para atender à demanda e acelerando a inovação.
Hospedagem de sites estáticos Você pode hospedar seu site estático inteiro no Amazon S3 para obter uma solução de hospedagem altamente disponível e econômica, com escalabilidade automática para atender a demandas de tráfego. Com o Amazon S3, você pode atender ao seu tráfego com confiabilidade e lidar com picos imprevistos sem se preocupar com a escalabilidade de sua infraestrutura.
Dados de aplicações nativos da nuvem O Amazon S3 oferece armazenamento de alto desempenho e disponibilidade que facilita a escalabilidade e a manutenção de aplicativos de rápida execução, econômicos e baseados na Internet. Com o Amazon S3, você pode adicionar qualquer quantidade de conteúdo e acessá-lo de qualquer lugar, possibilitando implementar aplicativos com maior rapidez e alcançar mais clientes.
Recuperação de desastres A infraestrutura altamente resiliente, segura e global do Amazon S3 oferece uma solução de recuperação de desastres robusta e projetada para oferecer a melhor proteção para os seus dados. A replicação entre regiões (CRR) replica automaticamente cada objeto do S3 para um bucket de destino localizado em uma diferente região da AWS.
Comece a usar o Amazon S3 É fácil começar a usar o Amazon S3. Siga nossas orientações detalhadas de console para provisionar seu primeiro bucket do S3 com apenas alguns cliques. O nível gratuito da AWS inclui 5 GB de armazenamento, 20.000 solicitações GET e 2.000 solicitações PUT com o Amazon S3.
https://portal.aws.amazon.com/gp/aws/developer/registration/index.html
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modified, January, 11 2017 - 1:06 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,742 messages |
|
Posted on January, 11 2017 - 11:23 AM |
Bom dia,
Código enviado como sugestão pelo analista Henrique Soares.
Muito obrigado por ceder o código fonte a comunidade!
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 3,742 messages |
|
Posted on January, 11 2017 - 11:28 AM |
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|