SlideShare uma empresa Scribd logo
1 de 31
How to use Windows Azure
 features on Windows 8



                                Radu Vunvulea
                         vunvulear@gmail.com
             http://vunvulearadu.blogspot.com
How to use Windows Azure
 features on Windows 8



                                Radu Vunvulea
                         vunvulear@gmail.com
             http://vunvulearadu.blogspot.com
Agenda
•   A short introduction in Metro App
•   Push Notifications
•   Scenario 1
•   Scenario 2
•   Scenario 3
•   Shared Access Signature
•   Scenario 4
•   Scenario 5
•   Conclusion
Metro Style application
• Focus on user experience
Metro Style application
• Focus on user experience
• Consistent UI through all the applications
Metro Style application
• Focus on user experience
• Consistent UI through all the applications
• Do one think, but do it best
What does Windows Azure offers to us
•   Tables
•   Blobs
•   Queues
•   Service Bus
•   SQL Azure
•   Push Notifications
•   Shared Access Signature
•   Web roles
•   Worker roles
•   Cache roles
•   Virtual Machines roles
•   ... and a lot more
Push Notifications
• Using this mechanism we can send toasts, badges, tiles and row
  notifications to the client application
• The send request notifications can be send from a cloud service



                         Metro Style App



           Notification Client
                                      Cloud Service
                Platform


                         Windows Push
                          Notification
                            Service
Scenario 1




             Windows Azure
Scenario 1 – Azure Tables
• Use table storage to store what each patient eat at each meal
• The price for storing data in table storage is very low

    Timestamp      Partition Key Row Key    …   …         …
    2005-10-30 T   Client ID    Meal type
    10:45 UTC



Problem
• How user can have limited access to only one part of the table ?
Scenario 1 - Azure Tables + SAS
Problem
• How user can have limited access to only one part of the table?

Solution
• We can use Shared Access Signature

• What we can do with Shared Access Signature
  • Limit access of the user to only a specific numbers of tables
  • Limit access to a specific partition key and row key intervals
  • Limit what kind of actions a user can do on the table
  • Give access to a resource for a specific time interval
What is Shared Access Signature
• Limit user access to a specific Windows Azure resource
• Types of resources:
    •   Tables
    •   Queues
    •   Blobs and containers
• You don’t need to know or register user LIVE account
• The only thing that you share with the user is a token
• User can access your resource based on a token
How to create a SAS for Azure Tables
• Create the access policy
SharedAccessTablePolicy tablePolicy = new SharedAccessTablePolicy()
{
    Permissions = SharedAccessTablePermissions.Query
                    | SharedAccessTablePermissions.Add,
    SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1)
};
• Assign permissions
TablePermissions tablePermissions = new TablePermissions();
tablePermissions.SharedAccessPolicies.Add(
         "Client1",
        tablePolicy);
myTable.SetPermissions(tablePermissions);
• Generate the access token signature
tableToken = myTable.GetSharedAccessSignature(
        new SharedAccessTablePolicy(),
        "Client1_1",
        10, 0, 19, 100);
How to create a SAS for Azure Blobs
• Create the access signature
var sharedAccessSignature = myBlob.GetSharedAccessSignature(
          new SharedAccessPolicy()
          {
                   Permissions = SharedAccessPermissions.Write
                            | SharedAccessPermissions.Read,
                   SharedAccessExpiryTime = DateTime.UtcNow +
                            TimeSpan.FromHours(1);
          }
• Generate access URL
string sharedAccessSignatureUri = blob.Uri.AbsoluteUri +         +
          sharedAccessSignature;
• Use the access signature
var storageCredentialsSAS = new StorageCredentialsSharedAccessSignature(
          sharedAccessSignature);
var blobClient = new CloudBlobClient(
          myAccount.BlobEndpoint,
          storageCredentialsSAS);
var myBlob = blobClient .GetBlobReference(“myContainer/firstBlob.txt”);
string currentContentOfBlob = myBlob.DownloadText();
myBlob.UploadText(“New text appended”);
How to create a SAS for Azure Queues
• Create the access signature
SharedAccessQueuePolicy sharedAccessPolicy = new SharedAccessQueuePolicy()
{
           Permissions = SharedAccessQueuePermissions .ProcessMessages,
           SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1)
};
string policyIdentifier = "QueuePolicy1";
QueuePermissions queuePermissions= new QueuePermissions();
queuePermissions.SharedAccessPolicies.Add(
           policyIdentifier,
           sharedAccessPolicy);
myQueue.SetPermissions(queuePermissions);
• Generate access token signature
string accessSignature = myQueue.GetSharedAccessSignature(
         new SharedAccessQueuePolicy(),
         policyIdentifier);
Scenario 2




             Windows Azure
Scenario 2 – Blob Storage
•   Store all content on Blob Storage
•   Cheap
•   Scalable
•   Can stream any type of content
•   Multiply devices of the same client can access the same resources
    based on the Shared Access Signature
     • We can send the access token by email
Scenario 3




             Windows Azure
Scenario 3 – Azure Queues
• Each document for processing a command is send to Azure queue
• The message from the queue can be consumed by the core
  application that process the message
• Limited access based on Shared Access Signature
   • The user that generate the requests will not be able to read or
      pop any kind of messages from the queue
How to access Windows Azure content?
Proxy
Shared Access Signature




             Web Role
Scenario 4
• We are a well know photograph
• We decide that we what to share our pictures with peoples that own a
  Windows 8 tablet all around the world
• Based on a subscriptions for each album we hope to make money
• An album can contain 10 to n photos



        How can we share this content with our clients?
Scenario 4 - Blobs
• A simple solution is using blobs plus Shared Access Signature
• For each client we create an access token that allow clients to access the
  album for which they already paid
• Over this structure we create a web-application that allow clients to
  download the albums based on a token
• We can use the token that is generated by Shared Access Signature
Scenario 5
• Let’s imagine an application that will display stock reports for each week
• This information is generated based on a lot of computation power
• Because of this the company decides to sell this valuable content based on
  a weekly subscriptions
• A client can have access only to information for the weeks that he paid
• The client want to access this content from a Metro app created by us but
  he also want to import this data in his own systems




                                                        Stock
Scenario 5 – Azure Tables
• Store all the weakly report information on Azure Tables
• Create a service that give the user the ability to access
  report data based on a username and password
• Update and manage the username list and what reports
  they can access
Scenario 5 – Azure Tables
• Store all the weakly report information on Azure Tables
• Create a service that give the user the ability to access
  report data based on a username and password
• Update and manage the username list and what reports
  they can access
• Define a Shared Access Policy based on partition key and
  row key
      Partition Key – Week unique id (201234)
      Row Key – Report name
Conclusion
Conclusion



     Metro style apps are great to
     create a consistent, elegant & compelling
     user experience
THE END




                        Radu Vunvulea
                 vunvulear@gmail.com
     http://vunvulearadu.blogspot.com

Mais conteúdo relacionado

Mais procurados

Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?Eberhard Wolff
 
Secure Keystone Deployment
Secure Keystone DeploymentSecure Keystone Deployment
Secure Keystone DeploymentPriti Desai
 
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will FailMichael Collier
 
System Center 2012 SP1 - Overview - EPC Group
System Center 2012 SP1 - Overview - EPC GroupSystem Center 2012 SP1 - Overview - EPC Group
System Center 2012 SP1 - Overview - EPC GroupEPC Group
 
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key VaultTechdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key VaultTom Kerkhove
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET DevelopersTaswar Bhatti
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparisonbizalgo
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architectureToni Ramirez
 
Paris Tech Meetup talk : Troubles start at version 1.0
Paris Tech Meetup talk : Troubles start at version 1.0Paris Tech Meetup talk : Troubles start at version 1.0
Paris Tech Meetup talk : Troubles start at version 1.0Laurent Cerveau
 
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo ThaiOGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo ThaiBuff Nguyen
 
Introduction to Windows Azure
Introduction to Windows AzureIntroduction to Windows Azure
Introduction to Windows AzureRavi Ranjan Karn
 
OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity serviceopenstackindia
 
Building an Angular 2 App
Building an Angular 2 AppBuilding an Angular 2 App
Building an Angular 2 AppFelix Gessert
 
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...PROIDEA
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB DeploymentMongoDB
 

Mais procurados (20)

Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
Secure Keystone Deployment
Secure Keystone DeploymentSecure Keystone Deployment
Secure Keystone Deployment
 
Web services
Web servicesWeb services
Web services
 
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail
 
System Center 2012 SP1 - Overview - EPC Group
System Center 2012 SP1 - Overview - EPC GroupSystem Center 2012 SP1 - Overview - EPC Group
System Center 2012 SP1 - Overview - EPC Group
 
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key VaultTechdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
 
Keystone Federation
Keystone Federation Keystone Federation
Keystone Federation
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Multi tenancy for docker
Multi tenancy for dockerMulti tenancy for docker
Multi tenancy for docker
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architecture
 
Paris Tech Meetup talk : Troubles start at version 1.0
Paris Tech Meetup talk : Troubles start at version 1.0Paris Tech Meetup talk : Troubles start at version 1.0
Paris Tech Meetup talk : Troubles start at version 1.0
 
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo ThaiOGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
 
Introduction to Windows Azure
Introduction to Windows AzureIntroduction to Windows Azure
Introduction to Windows Azure
 
Web security
Web securityWeb security
Web security
 
OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity service
 
Building an Angular 2 App
Building an Angular 2 AppBuilding an Angular 2 App
Building an Angular 2 App
 
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB Deployment
 

Destaque

Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source CreativitySara Cannon
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...Brian Solis
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)maditabalnco
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 

Destaque (7)

Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source Creativity
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 

Semelhante a How to Use Windows Azure Features Like Push Notifications, Tables, Blobs and Shared Access Signatures

Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, augustTokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustKanio Dimitrov
 
Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesAymeric Weinbach
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with AzureCallon Campbell
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with AzureKris Wagner
 
What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)Michael Collier
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows AzureAbhishek Sur
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerMichael Collier
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureGameLandVN
 
Cloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureCloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureVinh Nguyen Quang
 
TechDays 2015 The Azure Sightseeing Tour
TechDays 2015 The Azure Sightseeing TourTechDays 2015 The Azure Sightseeing Tour
TechDays 2015 The Azure Sightseeing TourErik van Appeldoorn
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...DataArt
 
NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300Kristian Nese
 
Develop Azure compute solutions Part - 2
Develop Azure compute solutions Part - 2Develop Azure compute solutions Part - 2
Develop Azure compute solutions Part - 2AzureEzy1
 
Cloud computing & windows azure intro
Cloud computing & windows azure introCloud computing & windows azure intro
Cloud computing & windows azure introHaddy El-Haggan
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile ServicesMarco Parenzan
 
Windows Azure - Mobile Services
Windows Azure - Mobile ServicesWindows Azure - Mobile Services
Windows Azure - Mobile ServicesJose R Jara
 

Semelhante a How to Use Windows Azure Features Like Push Notifications, Tables, Blobs and Shared Access Signatures (20)

Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
 
Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile services
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with Azure
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
 
Cloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureCloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With Azure
 
TechDays 2015 The Azure Sightseeing Tour
TechDays 2015 The Azure Sightseeing TourTechDays 2015 The Azure Sightseeing Tour
TechDays 2015 The Azure Sightseeing Tour
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
 
NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300
 
Develop Azure compute solutions Part - 2
Develop Azure compute solutions Part - 2Develop Azure compute solutions Part - 2
Develop Azure compute solutions Part - 2
 
What is Azure.pptx
What is Azure.pptxWhat is Azure.pptx
What is Azure.pptx
 
Cloud computing & windows azure intro
Cloud computing & windows azure introCloud computing & windows azure intro
Cloud computing & windows azure intro
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
 
Windows Azure - Mobile Services
Windows Azure - Mobile ServicesWindows Azure - Mobile Services
Windows Azure - Mobile Services
 
Jenkins Terraform Vault
Jenkins Terraform VaultJenkins Terraform Vault
Jenkins Terraform Vault
 

Último

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Último (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

How to Use Windows Azure Features Like Push Notifications, Tables, Blobs and Shared Access Signatures

  • 1. How to use Windows Azure features on Windows 8 Radu Vunvulea vunvulear@gmail.com http://vunvulearadu.blogspot.com
  • 2.
  • 3. How to use Windows Azure features on Windows 8 Radu Vunvulea vunvulear@gmail.com http://vunvulearadu.blogspot.com
  • 4. Agenda • A short introduction in Metro App • Push Notifications • Scenario 1 • Scenario 2 • Scenario 3 • Shared Access Signature • Scenario 4 • Scenario 5 • Conclusion
  • 5. Metro Style application • Focus on user experience
  • 6. Metro Style application • Focus on user experience • Consistent UI through all the applications
  • 7. Metro Style application • Focus on user experience • Consistent UI through all the applications • Do one think, but do it best
  • 8. What does Windows Azure offers to us • Tables • Blobs • Queues • Service Bus • SQL Azure • Push Notifications • Shared Access Signature • Web roles • Worker roles • Cache roles • Virtual Machines roles • ... and a lot more
  • 9. Push Notifications • Using this mechanism we can send toasts, badges, tiles and row notifications to the client application • The send request notifications can be send from a cloud service Metro Style App Notification Client Cloud Service Platform Windows Push Notification Service
  • 10. Scenario 1 Windows Azure
  • 11. Scenario 1 – Azure Tables • Use table storage to store what each patient eat at each meal • The price for storing data in table storage is very low Timestamp Partition Key Row Key … … … 2005-10-30 T Client ID Meal type 10:45 UTC Problem • How user can have limited access to only one part of the table ?
  • 12. Scenario 1 - Azure Tables + SAS Problem • How user can have limited access to only one part of the table? Solution • We can use Shared Access Signature • What we can do with Shared Access Signature • Limit access of the user to only a specific numbers of tables • Limit access to a specific partition key and row key intervals • Limit what kind of actions a user can do on the table • Give access to a resource for a specific time interval
  • 13. What is Shared Access Signature • Limit user access to a specific Windows Azure resource • Types of resources: • Tables • Queues • Blobs and containers • You don’t need to know or register user LIVE account • The only thing that you share with the user is a token • User can access your resource based on a token
  • 14. How to create a SAS for Azure Tables • Create the access policy SharedAccessTablePolicy tablePolicy = new SharedAccessTablePolicy() { Permissions = SharedAccessTablePermissions.Query | SharedAccessTablePermissions.Add, SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1) }; • Assign permissions TablePermissions tablePermissions = new TablePermissions(); tablePermissions.SharedAccessPolicies.Add( "Client1", tablePolicy); myTable.SetPermissions(tablePermissions); • Generate the access token signature tableToken = myTable.GetSharedAccessSignature( new SharedAccessTablePolicy(), "Client1_1", 10, 0, 19, 100);
  • 15. How to create a SAS for Azure Blobs • Create the access signature var sharedAccessSignature = myBlob.GetSharedAccessSignature( new SharedAccessPolicy() { Permissions = SharedAccessPermissions.Write | SharedAccessPermissions.Read, SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1); } • Generate access URL string sharedAccessSignatureUri = blob.Uri.AbsoluteUri + + sharedAccessSignature; • Use the access signature var storageCredentialsSAS = new StorageCredentialsSharedAccessSignature( sharedAccessSignature); var blobClient = new CloudBlobClient( myAccount.BlobEndpoint, storageCredentialsSAS); var myBlob = blobClient .GetBlobReference(“myContainer/firstBlob.txt”); string currentContentOfBlob = myBlob.DownloadText(); myBlob.UploadText(“New text appended”);
  • 16. How to create a SAS for Azure Queues • Create the access signature SharedAccessQueuePolicy sharedAccessPolicy = new SharedAccessQueuePolicy() { Permissions = SharedAccessQueuePermissions .ProcessMessages, SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1) }; string policyIdentifier = "QueuePolicy1"; QueuePermissions queuePermissions= new QueuePermissions(); queuePermissions.SharedAccessPolicies.Add( policyIdentifier, sharedAccessPolicy); myQueue.SetPermissions(queuePermissions); • Generate access token signature string accessSignature = myQueue.GetSharedAccessSignature( new SharedAccessQueuePolicy(), policyIdentifier);
  • 17. Scenario 2 Windows Azure
  • 18. Scenario 2 – Blob Storage • Store all content on Blob Storage • Cheap • Scalable • Can stream any type of content • Multiply devices of the same client can access the same resources based on the Shared Access Signature • We can send the access token by email
  • 19. Scenario 3 Windows Azure
  • 20. Scenario 3 – Azure Queues • Each document for processing a command is send to Azure queue • The message from the queue can be consumed by the core application that process the message • Limited access based on Shared Access Signature • The user that generate the requests will not be able to read or pop any kind of messages from the queue
  • 21. How to access Windows Azure content?
  • 22. Proxy
  • 24. Scenario 4 • We are a well know photograph • We decide that we what to share our pictures with peoples that own a Windows 8 tablet all around the world • Based on a subscriptions for each album we hope to make money • An album can contain 10 to n photos How can we share this content with our clients?
  • 25. Scenario 4 - Blobs • A simple solution is using blobs plus Shared Access Signature • For each client we create an access token that allow clients to access the album for which they already paid • Over this structure we create a web-application that allow clients to download the albums based on a token • We can use the token that is generated by Shared Access Signature
  • 26. Scenario 5 • Let’s imagine an application that will display stock reports for each week • This information is generated based on a lot of computation power • Because of this the company decides to sell this valuable content based on a weekly subscriptions • A client can have access only to information for the weeks that he paid • The client want to access this content from a Metro app created by us but he also want to import this data in his own systems Stock
  • 27. Scenario 5 – Azure Tables • Store all the weakly report information on Azure Tables • Create a service that give the user the ability to access report data based on a username and password • Update and manage the username list and what reports they can access
  • 28. Scenario 5 – Azure Tables • Store all the weakly report information on Azure Tables • Create a service that give the user the ability to access report data based on a username and password • Update and manage the username list and what reports they can access • Define a Shared Access Policy based on partition key and row key Partition Key – Week unique id (201234) Row Key – Report name
  • 30. Conclusion Metro style apps are great to create a consistent, elegant & compelling user experience
  • 31. THE END Radu Vunvulea vunvulear@gmail.com http://vunvulearadu.blogspot.com

Notas do Editor

  1. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  2. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  3. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  4. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  5. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  6. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  7. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  8. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  9. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  10. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  11. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  12. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  13. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  14. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  15. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  16. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  17. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  18. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  19. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  20. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  21. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  22. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification