SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Almacenamiento en
Azure storage con
Xamarin en Visual
Studio 2017
@enriqueaguilar
enriqueaguilarvargas.com
Agenda
1.- Características generales Azure Storage
2.- Demo Xamarin con Azure Storage
"We think about building technology so
other people can build technology and
make things happen”
Satya Nadella
CEO
Microsoft
Almacenamiento	Azure
Ideal para la Administración del
Centro de Datos:
• Gama de soluciones para cada
necesidad.
• La escalabilidad que nunca
sobrepasará.
• Flexible a medida que cambian las
necesidades.
• Costos más bajos y pago solo por lo
que necesita.
Almacenamiento	Azure
•Blobs.
Almacena datos de objetos no estructurados, como texto,
documentos, archivo multimedia o un instalador de
aplicación.
• Tablas
Almacena conjuntos de datos estructurados (NoSQL), que
permite el desarrollo rápido de grandes cantidades de datos
y el acceso inmediato a los mismos.
• Queue
Ofrece una solución de mensajería confiable para el
procesamiento de flujos de trabajo y para la
comunicación entre los componentes de los servicios
en la nube.
• Archivos Compartidos
Ofrece almacenamiento compartido para aplicaciones
heredadas que usan el protocolo SMB estándar. Las
máquinas virtuales y los servicios en la nube pueden
compartir datos de archivos entre componentes de
aplicaciones a través de recursos compartidos.
Ejemplo	de	
Almacenamiento	en	
Azure desde	Xamarin
Preparando	el	entorno	para	el	uso	de	Blobs
Preparando	el	entorno	para	el	uso	de	Blobs
Asignamos	un	nombre	a	la	cuenta de	Almacenamiento
Resource Manager	para	aplicaciones	nuevas	o	
clásica para	ya	implementadas	previamente.
Seleccione	uso	general	para	unificar	la	cuenta	de	
Almacenamiento	o	almacenamiento	de	blobs	para	
verificar	nivel	de	acceso.
Almacenamiento	en	cinta	magnética	o	en	disco	de	
estado	sólido.
Replicación	con	redundancia	geográfica
Suscripción	a	un	mismo	permiso,	ciclo	de	vida	y	directivas.
Preparando	el	entorno	para	el	uso	de	Blobs
Preparando	el	entorno	para	el	uso	de	Blobs
Preparando	el	entorno	para	el	uso	de	Blobs
Código	Xamarin– Azure Storage	Blob
string archivoLocal;
AVCaptureDevice dispositivodeCaptura;
AVCaptureSession sesiondeCaptura;
AVCaptureDeviceInput entradaDispositivo;
AVCaptureStillImageOutput salidaImagen;
AVCaptureVideoPreviewLayer preview;
string ruta;
byte[] arregloJpg;
async Task autorizacionCamara()
{
var estatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video);
if (estatus != AVAuthorizationStatus.Authorized)
{
await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video);
}
}
using System;
using UIKit;
using System.Drawing;
using System.Threading.Tasks;
using AVFoundation;
using Foundation;
using System.IO;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
Código	Xamarin – Azure Storage	Blob
btnRespaldar.TouchUpInside += async delegate
{
try
{
CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse
("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+
q1zwfv7lkb2d/cm8r9ycoc5ZgkNEbuypQYgM001p9E9CWChPtIBfW1A==");
CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient();
CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes");
CloudBlockBlob recursoblob = contenedor.GetBlockBlobReference(archivoLocal);
await recursoblob.UploadFromFileAsync(ruta);
MessageBox("Guardado en", "Azure Storage - Blob");
}
catch (StorageException ex)
{
MessageBox("Error: ", ex.Message);
}
};
Código	Xamarin.iOS – Azure Storage	Blob
btnRespaldar.TouchUpInside += async delegate
{
try
{
CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse
("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+
q1zwfv7lkb2d/cm8r9ycoc5ZgkNEbuypQYgM001p9E9CWChPtIBfW1A==");
CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient();
CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes");
CloudBlockBlob recursoblob = contenedor.GetBlockBlobReference(archivoLocal);
await recursoblob.UploadFromFileAsync(ruta);
MessageBox("Guardado en", "Azure Storage - Blob");
}
catch (StorageException ex)
{
MessageBox("Error: ", ex.Message);
}
};
Código	Xamarin.iOS – Azure Storage	Blob
btnRespaldar.TouchUpInside += async delegate
{
try
{
CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse
("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+
q1zwfv7lkb2d/cm8r9ycoc5ZgkNEbuypQYgM001p9E9CWChPtIBfW1A==");
CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient();
CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes");
CloudBlockBlob recursoblob = contenedor.GetBlockBlobReference(archivoLocal);
await recursoblob.UploadFromFileAsync(ruta);
MessageBox("Guardado en", "Azure Storage - Blob");
}
catch (StorageException ex)
{
MessageBox("Error: ", ex.Message);
}
};
Código	Xamarin – Azure Storage	Blob
btnImagen.Click += async delegate{
try {
string carpeta = System.Environment.GetFolderPath
(System.Environment.SpecialFolder.Personal);
string archivoLocal = "Foto.jpg";
string ruta = System.IO.Path.Combine(carpeta, archivoLocal);
CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse
("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+q1z
wfv7lkb2d/cm8riq9E9CWChPtIBfW1A==");
CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient();
CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes");
CloudBlockBlob recursoBlob = contenedor.GetBlockBlobReference("Foto.jpg");
var stream = File.OpenWrite(ruta);
await recursoBlob.DownloadToStreamAsync(stream);
Android.Net.Uri rutaImagen = Android.Net.Uri.Parse(ruta);
Imagen.SetImageURI(rutaImagen);
}
catch (StorageException ex)
{
Toast.MakeText(this, ex.Message, ToastLength.Short);
}
};
Código	Xamarin.Android – Azure Storage	Blob
btnImagen.Click += async delegate{
try {
string carpeta = System.Environment.GetFolderPath
(System.Environment.SpecialFolder.Personal);
string archivoLocal = "Foto.jpg";
string ruta = System.IO.Path.Combine(carpeta, archivoLocal);
CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse
("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+q1z
wfv7lkb2d/cm8riq9E9CWChPtIBfW1A==");
CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient();
CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes");
CloudBlockBlob recursoBlob = contenedor.GetBlockBlobReference("Foto.jpg");
var stream = File.OpenWrite(ruta);
await recursoBlob.DownloadToStreamAsync(stream);
Android.Net.Uri rutaImagen = Android.Net.Uri.Parse(ruta);
Imagen.SetImageURI(rutaImagen);
}
catch (StorageException ex)
{
Toast.MakeText(this, ex.Message, ToastLength.Short);
}
};
Código	Xamarin.Android – Azure Storage	Blob
btnImagen.Click += async delegate{
try {
string carpeta = System.Environment.GetFolderPath
(System.Environment.SpecialFolder.Personal);
string archivoLocal = "Foto.jpg";
string ruta = System.IO.Path.Combine(carpeta, archivoLocal);
CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse
("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+q1z
wfv7lkb2d/cm8riq9E9CWChPtIBfW1A==");
CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient();
CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes");
CloudBlockBlob recursoBlob = contenedor.GetBlockBlobReference("Foto.jpg");
var stream = File.OpenWrite(ruta);
await recursoBlob.DownloadToStreamAsync(stream);
Android.Net.Uri rutaImagen = Android.Net.Uri.Parse(ruta);
Imagen.SetImageURI(rutaImagen);
}
catch (StorageException ex)
{
Toast.MakeText(this, ex.Message, ToastLength.Short);
}
};
DEMO
Por donde empezar?
• channel9.msdn.com
• azure.microsoft.com
@enriqueaguilar
enriqueaguilarvargas.com

Contenu connexe

Similaire à Xamarin storage Azure

CloudStorage - Almacenamiento en la Nube
CloudStorage - Almacenamiento en la NubeCloudStorage - Almacenamiento en la Nube
CloudStorage - Almacenamiento en la NubeArsys
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nubeJuan Pablo
 
azure_Storage.docx
azure_Storage.docxazure_Storage.docx
azure_Storage.docxhefloca
 
Xamarin Diplomado Intermedio
Xamarin Diplomado IntermedioXamarin Diplomado Intermedio
Xamarin Diplomado Intermedioenriqueaguilar
 
Arquitectura Data Warehousing PaaS de Azure #sqlsatbi905
Arquitectura Data Warehousing PaaS de Azure #sqlsatbi905Arquitectura Data Warehousing PaaS de Azure #sqlsatbi905
Arquitectura Data Warehousing PaaS de Azure #sqlsatbi905Germán Cayo Morales
 
Azure Storage, Cognitive Services y Xamarin - Universidad Tecnológica de León
Azure Storage, Cognitive Services y Xamarin - Universidad Tecnológica de LeónAzure Storage, Cognitive Services y Xamarin - Universidad Tecnológica de León
Azure Storage, Cognitive Services y Xamarin - Universidad Tecnológica de Leónenriqueaguilar
 
Cloud Storage
Cloud StorageCloud Storage
Cloud StorageGabySac
 
Santiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud ComputingSantiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud ComputingWalter Vargas
 
Experts Live 2018: Azure Storage y la plataforma de datos
Experts Live 2018: Azure Storage y la plataforma de datosExperts Live 2018: Azure Storage y la plataforma de datos
Experts Live 2018: Azure Storage y la plataforma de datosCesar Herrada
 
Migrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data FactoryMigrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data FactoryRaul Martin Sarachaga Diaz
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSAmazon Web Services LATAM
 
Bases de datos SQL Azure en Microsoft Azure con C#
Bases de datos SQL Azure en Microsoft Azure con C#Bases de datos SQL Azure en Microsoft Azure con C#
Bases de datos SQL Azure en Microsoft Azure con C#Víctor Moreno
 

Similaire à Xamarin storage Azure (20)

CloudStorage - Almacenamiento en la Nube
CloudStorage - Almacenamiento en la NubeCloudStorage - Almacenamiento en la Nube
CloudStorage - Almacenamiento en la Nube
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nube
 
azure_Storage.docx
azure_Storage.docxazure_Storage.docx
azure_Storage.docx
 
Xamarin Diplomado Intermedio
Xamarin Diplomado IntermedioXamarin Diplomado Intermedio
Xamarin Diplomado Intermedio
 
Gestión de data y Storage en Azure
Gestión de data y Storage en AzureGestión de data y Storage en Azure
Gestión de data y Storage en Azure
 
Arquitectura Data Warehousing PaaS de Azure #sqlsatbi905
Arquitectura Data Warehousing PaaS de Azure #sqlsatbi905Arquitectura Data Warehousing PaaS de Azure #sqlsatbi905
Arquitectura Data Warehousing PaaS de Azure #sqlsatbi905
 
Cloud Computing: Windows Azure
Cloud Computing: Windows AzureCloud Computing: Windows Azure
Cloud Computing: Windows Azure
 
Cbs aws-fundamentals-3
Cbs aws-fundamentals-3Cbs aws-fundamentals-3
Cbs aws-fundamentals-3
 
Azure Storage, Cognitive Services y Xamarin - Universidad Tecnológica de León
Azure Storage, Cognitive Services y Xamarin - Universidad Tecnológica de LeónAzure Storage, Cognitive Services y Xamarin - Universidad Tecnológica de León
Azure Storage, Cognitive Services y Xamarin - Universidad Tecnológica de León
 
Cloud Storage
Cloud StorageCloud Storage
Cloud Storage
 
Implementando DRP en AWS
Implementando DRP en AWSImplementando DRP en AWS
Implementando DRP en AWS
 
Como reducir costos en AWS
Como reducir costos en AWSComo reducir costos en AWS
Como reducir costos en AWS
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Santiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud ComputingSantiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud Computing
 
Experts Live 2018: Azure Storage y la plataforma de datos
Experts Live 2018: Azure Storage y la plataforma de datosExperts Live 2018: Azure Storage y la plataforma de datos
Experts Live 2018: Azure Storage y la plataforma de datos
 
Azure DataFactory
Azure DataFactoryAzure DataFactory
Azure DataFactory
 
Migrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data FactoryMigrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data Factory
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 
Bases de datos SQL Azure en Microsoft Azure con C#
Bases de datos SQL Azure en Microsoft Azure con C#Bases de datos SQL Azure en Microsoft Azure con C#
Bases de datos SQL Azure en Microsoft Azure con C#
 
AWSome Day - Conferencia Online
AWSome Day - Conferencia OnlineAWSome Day - Conferencia Online
AWSome Day - Conferencia Online
 

Plus de Ivan Martinez

Novedades Windows Server 2022.pdf
Novedades Windows Server 2022.pdfNovedades Windows Server 2022.pdf
Novedades Windows Server 2022.pdfIvan Martinez
 
Integracion de servicios en azure con windows admin center
Integracion de servicios en azure con  windows admin center  Integracion de servicios en azure con  windows admin center
Integracion de servicios en azure con windows admin center Ivan Martinez
 
Global Azure-Latam-2020
Global Azure-Latam-2020Global Azure-Latam-2020
Global Azure-Latam-2020Ivan Martinez
 
Tutorial instalacion windows terminal linux windows 10
Tutorial instalacion windows terminal linux windows 10Tutorial instalacion windows terminal linux windows 10
Tutorial instalacion windows terminal linux windows 10Ivan Martinez
 
Conferencia aumenta la productividad y seguridad Azure
Conferencia aumenta la productividad y seguridad AzureConferencia aumenta la productividad y seguridad Azure
Conferencia aumenta la productividad y seguridad AzureIvan Martinez
 
Tutorial como conectar recurso compartido de archivos de azure con windows-PART1
Tutorial como conectar recurso compartido de archivos de azure con windows-PART1Tutorial como conectar recurso compartido de archivos de azure con windows-PART1
Tutorial como conectar recurso compartido de archivos de azure con windows-PART1Ivan Martinez
 
Tutorial implementar hyper v a traves de powershell
Tutorial implementar hyper v a traves de powershellTutorial implementar hyper v a traves de powershell
Tutorial implementar hyper v a traves de powershellIvan Martinez
 
Consideraciones de networking en Azure
Consideraciones de networking en AzureConsideraciones de networking en Azure
Consideraciones de networking en AzureIvan Martinez
 
Conociendo Microsoft Dinamics
Conociendo Microsoft DinamicsConociendo Microsoft Dinamics
Conociendo Microsoft DinamicsIvan Martinez
 
Tutorial implementar alertas unificadas en azure monitor preview
Tutorial implementar alertas unificadas en azure monitor previewTutorial implementar alertas unificadas en azure monitor preview
Tutorial implementar alertas unificadas en azure monitor previewIvan Martinez
 
Microsoft ignite 2018
Microsoft ignite 2018Microsoft ignite 2018
Microsoft ignite 2018Ivan Martinez
 
Evento Share point preview 2018
Evento Share point  preview 2018Evento Share point  preview 2018
Evento Share point preview 2018Ivan Martinez
 
Planificando el Camino azure migracion
Planificando el Camino azure migracionPlanificando el Camino azure migracion
Planificando el Camino azure migracionIvan Martinez
 
INTRODUCCION ARM AZURE
INTRODUCCION ARM AZURE INTRODUCCION ARM AZURE
INTRODUCCION ARM AZURE Ivan Martinez
 
Windows Server Summit 2018 implementacion containers
Windows Server Summit 2018  implementacion containersWindows Server Summit 2018  implementacion containers
Windows Server Summit 2018 implementacion containersIvan Martinez
 
Desarrollo web migrando tus skills a la nube
Desarrollo web migrando tus skills a la nubeDesarrollo web migrando tus skills a la nube
Desarrollo web migrando tus skills a la nubeIvan Martinez
 
Escenarios de recuperacion de windows 10 en redes corporativas
Escenarios de recuperacion de windows 10 en redes corporativasEscenarios de recuperacion de windows 10 en redes corporativas
Escenarios de recuperacion de windows 10 en redes corporativasIvan Martinez
 
Introduccion Azure Containers
Introduccion Azure Containers Introduccion Azure Containers
Introduccion Azure Containers Ivan Martinez
 
La Transformación Digital a través de Nuevas Tecnologías Microsoft Azure
La Transformación Digital a través de Nuevas Tecnologías Microsoft Azure La Transformación Digital a través de Nuevas Tecnologías Microsoft Azure
La Transformación Digital a través de Nuevas Tecnologías Microsoft Azure Ivan Martinez
 

Plus de Ivan Martinez (20)

Novedades Windows Server 2022.pdf
Novedades Windows Server 2022.pdfNovedades Windows Server 2022.pdf
Novedades Windows Server 2022.pdf
 
Integracion de servicios en azure con windows admin center
Integracion de servicios en azure con  windows admin center  Integracion de servicios en azure con  windows admin center
Integracion de servicios en azure con windows admin center
 
Global Azure-Latam-2020
Global Azure-Latam-2020Global Azure-Latam-2020
Global Azure-Latam-2020
 
Tutorial instalacion windows terminal linux windows 10
Tutorial instalacion windows terminal linux windows 10Tutorial instalacion windows terminal linux windows 10
Tutorial instalacion windows terminal linux windows 10
 
Conferencia aumenta la productividad y seguridad Azure
Conferencia aumenta la productividad y seguridad AzureConferencia aumenta la productividad y seguridad Azure
Conferencia aumenta la productividad y seguridad Azure
 
Tutorial como conectar recurso compartido de archivos de azure con windows-PART1
Tutorial como conectar recurso compartido de archivos de azure con windows-PART1Tutorial como conectar recurso compartido de archivos de azure con windows-PART1
Tutorial como conectar recurso compartido de archivos de azure con windows-PART1
 
Tutorial implementar hyper v a traves de powershell
Tutorial implementar hyper v a traves de powershellTutorial implementar hyper v a traves de powershell
Tutorial implementar hyper v a traves de powershell
 
Consideraciones de networking en Azure
Consideraciones de networking en AzureConsideraciones de networking en Azure
Consideraciones de networking en Azure
 
Conociendo Microsoft Dinamics
Conociendo Microsoft DinamicsConociendo Microsoft Dinamics
Conociendo Microsoft Dinamics
 
Tutorial implementar alertas unificadas en azure monitor preview
Tutorial implementar alertas unificadas en azure monitor previewTutorial implementar alertas unificadas en azure monitor preview
Tutorial implementar alertas unificadas en azure monitor preview
 
Microsoft ignite 2018
Microsoft ignite 2018Microsoft ignite 2018
Microsoft ignite 2018
 
Evento Share point preview 2018
Evento Share point  preview 2018Evento Share point  preview 2018
Evento Share point preview 2018
 
Planificando el Camino azure migracion
Planificando el Camino azure migracionPlanificando el Camino azure migracion
Planificando el Camino azure migracion
 
INTRODUCCION ARM AZURE
INTRODUCCION ARM AZURE INTRODUCCION ARM AZURE
INTRODUCCION ARM AZURE
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Windows Server Summit 2018 implementacion containers
Windows Server Summit 2018  implementacion containersWindows Server Summit 2018  implementacion containers
Windows Server Summit 2018 implementacion containers
 
Desarrollo web migrando tus skills a la nube
Desarrollo web migrando tus skills a la nubeDesarrollo web migrando tus skills a la nube
Desarrollo web migrando tus skills a la nube
 
Escenarios de recuperacion de windows 10 en redes corporativas
Escenarios de recuperacion de windows 10 en redes corporativasEscenarios de recuperacion de windows 10 en redes corporativas
Escenarios de recuperacion de windows 10 en redes corporativas
 
Introduccion Azure Containers
Introduccion Azure Containers Introduccion Azure Containers
Introduccion Azure Containers
 
La Transformación Digital a través de Nuevas Tecnologías Microsoft Azure
La Transformación Digital a través de Nuevas Tecnologías Microsoft Azure La Transformación Digital a través de Nuevas Tecnologías Microsoft Azure
La Transformación Digital a través de Nuevas Tecnologías Microsoft Azure
 

Dernier

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 

Dernier (12)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

Xamarin storage Azure

  • 1. Almacenamiento en Azure storage con Xamarin en Visual Studio 2017 @enriqueaguilar enriqueaguilarvargas.com
  • 2. Agenda 1.- Características generales Azure Storage 2.- Demo Xamarin con Azure Storage
  • 3. "We think about building technology so other people can build technology and make things happen” Satya Nadella CEO Microsoft
  • 4. Almacenamiento Azure Ideal para la Administración del Centro de Datos: • Gama de soluciones para cada necesidad. • La escalabilidad que nunca sobrepasará. • Flexible a medida que cambian las necesidades. • Costos más bajos y pago solo por lo que necesita.
  • 5. Almacenamiento Azure •Blobs. Almacena datos de objetos no estructurados, como texto, documentos, archivo multimedia o un instalador de aplicación. • Tablas Almacena conjuntos de datos estructurados (NoSQL), que permite el desarrollo rápido de grandes cantidades de datos y el acceso inmediato a los mismos. • Queue Ofrece una solución de mensajería confiable para el procesamiento de flujos de trabajo y para la comunicación entre los componentes de los servicios en la nube. • Archivos Compartidos Ofrece almacenamiento compartido para aplicaciones heredadas que usan el protocolo SMB estándar. Las máquinas virtuales y los servicios en la nube pueden compartir datos de archivos entre componentes de aplicaciones a través de recursos compartidos.
  • 8. Preparando el entorno para el uso de Blobs Asignamos un nombre a la cuenta de Almacenamiento Resource Manager para aplicaciones nuevas o clásica para ya implementadas previamente. Seleccione uso general para unificar la cuenta de Almacenamiento o almacenamiento de blobs para verificar nivel de acceso. Almacenamiento en cinta magnética o en disco de estado sólido. Replicación con redundancia geográfica Suscripción a un mismo permiso, ciclo de vida y directivas.
  • 12. Código Xamarin– Azure Storage Blob string archivoLocal; AVCaptureDevice dispositivodeCaptura; AVCaptureSession sesiondeCaptura; AVCaptureDeviceInput entradaDispositivo; AVCaptureStillImageOutput salidaImagen; AVCaptureVideoPreviewLayer preview; string ruta; byte[] arregloJpg; async Task autorizacionCamara() { var estatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video); if (estatus != AVAuthorizationStatus.Authorized) { await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video); } } using System; using UIKit; using System.Drawing; using System.Threading.Tasks; using AVFoundation; using Foundation; using System.IO; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.Storage.Blob;
  • 13. Código Xamarin – Azure Storage Blob btnRespaldar.TouchUpInside += async delegate { try { CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse ("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+ q1zwfv7lkb2d/cm8r9ycoc5ZgkNEbuypQYgM001p9E9CWChPtIBfW1A=="); CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient(); CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes"); CloudBlockBlob recursoblob = contenedor.GetBlockBlobReference(archivoLocal); await recursoblob.UploadFromFileAsync(ruta); MessageBox("Guardado en", "Azure Storage - Blob"); } catch (StorageException ex) { MessageBox("Error: ", ex.Message); } };
  • 14. Código Xamarin.iOS – Azure Storage Blob btnRespaldar.TouchUpInside += async delegate { try { CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse ("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+ q1zwfv7lkb2d/cm8r9ycoc5ZgkNEbuypQYgM001p9E9CWChPtIBfW1A=="); CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient(); CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes"); CloudBlockBlob recursoblob = contenedor.GetBlockBlobReference(archivoLocal); await recursoblob.UploadFromFileAsync(ruta); MessageBox("Guardado en", "Azure Storage - Blob"); } catch (StorageException ex) { MessageBox("Error: ", ex.Message); } };
  • 15. Código Xamarin.iOS – Azure Storage Blob btnRespaldar.TouchUpInside += async delegate { try { CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse ("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+ q1zwfv7lkb2d/cm8r9ycoc5ZgkNEbuypQYgM001p9E9CWChPtIBfW1A=="); CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient(); CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes"); CloudBlockBlob recursoblob = contenedor.GetBlockBlobReference(archivoLocal); await recursoblob.UploadFromFileAsync(ruta); MessageBox("Guardado en", "Azure Storage - Blob"); } catch (StorageException ex) { MessageBox("Error: ", ex.Message); } };
  • 16. Código Xamarin – Azure Storage Blob btnImagen.Click += async delegate{ try { string carpeta = System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal); string archivoLocal = "Foto.jpg"; string ruta = System.IO.Path.Combine(carpeta, archivoLocal); CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse ("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+q1z wfv7lkb2d/cm8riq9E9CWChPtIBfW1A=="); CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient(); CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes"); CloudBlockBlob recursoBlob = contenedor.GetBlockBlobReference("Foto.jpg"); var stream = File.OpenWrite(ruta); await recursoBlob.DownloadToStreamAsync(stream); Android.Net.Uri rutaImagen = Android.Net.Uri.Parse(ruta); Imagen.SetImageURI(rutaImagen); } catch (StorageException ex) { Toast.MakeText(this, ex.Message, ToastLength.Short); } };
  • 17. Código Xamarin.Android – Azure Storage Blob btnImagen.Click += async delegate{ try { string carpeta = System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal); string archivoLocal = "Foto.jpg"; string ruta = System.IO.Path.Combine(carpeta, archivoLocal); CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse ("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+q1z wfv7lkb2d/cm8riq9E9CWChPtIBfW1A=="); CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient(); CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes"); CloudBlockBlob recursoBlob = contenedor.GetBlockBlobReference("Foto.jpg"); var stream = File.OpenWrite(ruta); await recursoBlob.DownloadToStreamAsync(stream); Android.Net.Uri rutaImagen = Android.Net.Uri.Parse(ruta); Imagen.SetImageURI(rutaImagen); } catch (StorageException ex) { Toast.MakeText(this, ex.Message, ToastLength.Short); } };
  • 18. Código Xamarin.Android – Azure Storage Blob btnImagen.Click += async delegate{ try { string carpeta = System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal); string archivoLocal = "Foto.jpg"; string ruta = System.IO.Path.Combine(carpeta, archivoLocal); CloudStorageAccount cuentaAlmacenamiento = CloudStorageAccount.Parse ("DefaultEndpointsProtocol=https;AccountName=enriqueaguilar;AccountKey=UJ+q1z wfv7lkb2d/cm8riq9E9CWChPtIBfW1A=="); CloudBlobClient clienteBlob = cuentaAlmacenamiento.CreateCloudBlobClient(); CloudBlobContainer contenedor = clienteBlob.GetContainerReference("imagenes"); CloudBlockBlob recursoBlob = contenedor.GetBlockBlobReference("Foto.jpg"); var stream = File.OpenWrite(ruta); await recursoBlob.DownloadToStreamAsync(stream); Android.Net.Uri rutaImagen = Android.Net.Uri.Parse(ruta); Imagen.SetImageURI(rutaImagen); } catch (StorageException ex) { Toast.MakeText(this, ex.Message, ToastLength.Short); } };
  • 19. DEMO
  • 20. Por donde empezar? • channel9.msdn.com • azure.microsoft.com