Mostrando las entradas con la etiqueta Azure. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Azure. Mostrar todas las entradas

martes, 20 de octubre de 2015

Web.config clave de conexión de Azure Storage

Para tener un poco más de seguridad de nuestra clave de acceso al blob de Microsoft Azure, podemos teclear nuestra clave e acceso en el web.config para posteriormente llamarlos.

Teclear en el web.config:


Para poder recuperar la clave desde una webform:

Dim AccountName As String = System.Web.Configuration.WebConfigurationManager.AppSettings("cnn_storage_name").ToString
Dim AccountKey As String = System.Web.Configuration.WebConfigurationManager.AppSettings("cnn_storage_key").ToString

Referenca: Anexar archivos en Azure Storage

Descargar archivo de Azure Storage

Para poder descargar un archivo que hemos anexado en el blob de Microsoft Azure debemos crear un BOTON y una etiqueta llamada LABEL_ARCHIVO, dicha etiqueta contendrá el nombre del archivo con su extensión a descargar que se encuentra almacenado en el contenedor de Microsoft Azure. (Referencia:Anexar archivos en Azure Storage)


1.Protected Sub Button_Click(sender As Object, e As EventArgs) Handles Button.Click
2.  Me.label_archivo.text ="este_es_mi_archivo.pdf"
3.  Dim AccountName As String = "imgenes"
4.  Dim AccountKey As String = "AAADd9/uyyu43534ui5yi3u45ui34y5ui34y5ui34y5ui34y5"
5.  Try
6.     Dim account = CloudStorageAccount.Parse("DefaultEndpointsProtocol=http;AccountName=" + AccountName + ";AccountKey=" + AccountKey)
7.     Dim blobClient As CloudBlobClient = account.CreateCloudBlobClient()
8.     Dim container As CloudBlobContainer = blobClient.GetContainerReference("rh-archivos")
9.     Dim blob As CloudBlockBlob = container.GetBlockBlobReference(Me.label_archivo.Text.Trim)
10.     Dim memStream As MemoryStream = New MemoryStream()
11.   blob.DownloadToStream(memStream)
12.   Response.ContentType = blob.Properties.ContentType
13.   Response.AddHeader("Content-Disposition", "Attachment; filename=" + Me.label_archivo.Text.Trim)
14.   Response.AddHeader("Content-Length", blob.Properties.Length.ToString())
15.   Response.BinaryWrite(memStream.ToArray())
16.   Catch ex As Exception
17.       Me.label_error.Text = ex.Message
18.    End Try
19.End Sub

Anexar archivos en Azure Storage

Microsoft Azure es la modalidad de nube de Microsoft, es una excelente opción para migrar tus aplicaciones de ASP.Net, para poder crear un repositorio de archivos en tu cuenta de Azure deberas realizar lo siguiente.

1. Ingresas a tu cuenta de Microsoft Azure, seleccionas ALMACENAMIENTO/NUEVO.

 
2. Selecciona ALMACENAMIENTO/CREACION RAPIDA, teclea al nombre de URL donde se almacenaran tus archivos, la ubicación por default, la replicación se refiere a la redundancia para realizar las copias a otras servidores.
 

3. Una vez creada la URL seleccionamos ADMINISTRAR CLAVE DE ACCESO para copiar las llaves con las cuales nos conectaremos para realizar la copia de archivos.


4. Copiamos el NOMBRE DE CUENTA DE ALAMECNAMIENTO y CLAVE DE ACCESO PRIMARIA.
 
5. Ingresamos a nuestra URL, seleccionamos CONTENEDOR/CREAR UN CONTENEDOR donde se almacenaran todos nuestros archivos.
 


6. Tecleamos el NOMBRE de nuestro contenedor y podemos seleccionar diferentes tipos de ACCESO, recomiendo PRIVADO.
7. Una vez creado nuestro contenedor aparecerá vacío.
 

 
8. Ahora creamos un website en Visual Studio, crearemos un botón y copiaremos el siguiente código:
1.Imports System.IO
2.Imports Microsoft.WindowsAzure
3.Imports Microsoft.WindowsAzure.Storage
4.Imports Microsoft.WindowsAzure.Storage.Auth
5.Imports Microsoft.WindowsAzure.Storage.Blob
 
6.Protected Sub Button_subir_Click(sender As Object, e As EventArgs) Handles 7.Button9.Click
8.    Dim AccountName As String = "imgenes"
9.    Dim AccountKey As String = "i3MifOZtdsfsdfsd7t76576s5dfsd5f76sd5f76dsd65fsdf5=="
10.  Try
11.     Dim creds As StorageCredentials = New StorageCredentials(AccountName, AccountKey)
12.     Dim account = CloudStorageAccount.Parse("DefaultEndpointsProtocol=http;AccountName=" + AccountName + ";AccountKey=" + AccountKey)
13.     Dim client As CloudBlobClient = account.CreateCloudBlobClient()
14.     Dim sampleContainer As CloudBlobContainer = client.GetContainerReference("archivos")
15.     sampleContainer.CreateIfNotExists()
16.     Dim blob As CloudBlockBlob = sampleContainer.GetBlockBlobReference("este_es_mi_archivo.pdf") 'nombre de archivo con el cual se copiara

17.     Dim Stream As FileStream = System.IO.File.OpenRead("c:\temp\ejemplo.pdf") 'ruta del archivo origen
18.     blob.UploadFromStream(Stream)
19.     Catch ex As Exception

20.           Me.label1.Text = ex.Message 'mensaje de error
20.     End Try
21.End Sub
 
9. El resultado.

Si requieres seleccionar el archivo con una ventana de browse, inserta un FILEUPLOAD y sustituye las siguientes líneas en el código:

1. Dim blob As CloudBlockBlob = sampleContainer.GetBlockBlobReference(Me.FileUpload1.FileName.Trim) ' obtiene nombre del archivo

2. Dim Stream As FileStream = System.IO.File.OpenRead(Path.GetDirectoryName(Me.FileUpload1.PostedFile.FileName) + "\" + Me.FileUpload1.FileName.Trim) 'obtiene ruta del archivo más el nombre del archivo



Comparte