You are here

Feed aggregator

Detecting OS & IE Version in (C#) Coded UI Tests

MSDN Blogs - 8 hours 13 min ago

Using ProcessStartInfo and ApplicationUnderTest.Launch(ProcessStartInfo startInfo) you can launch a process under another user, but this will not work for Coded UI Tests in IE because you cannot access the DOM inside IE. Instead you can use the approach described there: http://blogs.msdn.com/b/siddharthapandey/archive/2009/12/13/testing-webpages-that-uses-windows-authentication-for-different-credentials.aspx

As mentioned the login dialog is different depending on Windows version. There might also be other situation where you want know the OS and/or IE version.

You can detect OS the Windows version in C# like this using Environment.OSVersion:

1: string ver = "0.0.0.0"; 2: ver = Environment.OSVersion.ToString(); 3: 4: switch (ver) 5: { 6: default: 7: //Do clever stuff based on the version number 8: break; 9: } 10:   11: TestContext.WriteLine("OS Version Detected was: " + ver);

Test output:

The IE version can be found using the WebBrowser class:

1: string ver = "0.0.0.0"; 2: using (WebBrowser wb = new WebBrowser()) 3: { 4: ver = wb.Version.ToString(); 5: } 6:   7: switch (ver) 8: { 9: default: 10: //Do clever stuff based on the version number 11: break; 12: } 13:   14: TestContext.WriteLine("IE Version Detected was: " + ver);

Test output:

Azure Search - Get Ready for some action

MSDN Blogs - 8 hours 53 min ago

Few Days Ago, another new service was made available on Azure , categorically called as "Search as a Service". This enables a PAAS feature in azure to enable organizations to use enrich search capability . This allows users to manage Full text search and build search enabled applications.

It is integrated with Azure portal and available for provisioning under Data Storage, Cache and Back Up section. Also, it will be available from quick menu as shown below.

The Azure Search works on its ​API  and should be used by developers to utilize the search service to create indexes, upload files for the indexing and finally make it available as a search result.  Azure Search will take out the burden of setting up search service infrastructure and repetitive labor and cost of managing these services. Also, It is really easy to scale out this as shown below.


As of now, Its the developer community who can leverage on this and can build solutions which are really dependent of high performing search service. I found a really nice article explaining creation of Indexes and finally searching it from Azure Search.

Please refer this 

In Nut Shell,

Azure Search is a indexing service which will allow a provisioned​ service which is capable to delivering high query per second(50-60) and can be scalable further if further needed.

新的D系列Azure虚拟机:CPU加速60%,更大的内存和本地SSD磁盘

MSDN Blogs - 9 hours 5 min ago

[原文发表地址] New D-Series of Azure VMs with 60% Faster CPUs, More Memory and Local SSD Disks

[原文发表时间] 2014-09-22

今天我很高兴的宣布我们刚刚发布了一组新的Microsoft Azure虚拟机。现在每个Azure用户都可以立即使用这些新的虚拟机了。

新的D系列虚拟机可以在Azure虚拟机和Azure云服务中使用。除了提供更快的CPU(比A系列加快了大约60%更大的内存(多达112GB),新的虚拟机大小都有一个本地的SSD磁盘(多达800GB,以实现更快的IO读写。

今天可用的新的虚拟机包括以下内容:

通用D系列虚拟机

Name

vCores

Memory (GB)

Local SSD Disk (GB)

Standard_D1

1

3.5

50

Standard_D2

2

7

100

Standard_D3

4

14

200

Standard_D4

8

28

400

高内存D系列虚拟机

Name

vCores

Memory (GB)

Local SSD Disk (GB)

Standard_D11

2

14

100

Standard_D12

4

28

200

Standard_D13

8

56

400

Standard_D14

16

112

800

想要了解更多的定价信息,请查看虚拟机定价详情

本地SSD磁盘和SQL Server缓冲池扩展

虚拟机上的临时驱动(Windows的D盘,Linux上的/mnt 或者/mnt/resource)映射到D系列服务虚拟机的本地SSD磁盘,为复制式的存储工作量提供了一个很好的选择,如MongoDB,或者通过启用其独特的缓冲池扩展(SPF)功能来大幅提高SQL Server 2014的性能。

SQL Server 2014的缓冲池扩展允许您通过使用本地SSD磁盘的内存来扩展SQL引擎缓冲池的方法可以显著提高SQL高负载下的性能。缓冲池是用于缓存页面更快速读取操作的一个全局内存资源。你可以使用一个仅仅四行的简单T-SQL查询为D系列虚拟机的SSD启用缓冲池支持,而不需要在你的应用程序中做任何的代码修改:

1: ALTER SERVER CONFIGURATION 2: SET BUFFER POOL EXTENSION ON 3: SIZE = <size> [ KB | MB | GB ] 4: FILENAME = 'D:\SSDCACHE\EXAMPLE.BPE'

不需要对你的应用程序中的代码进行更改,所有的写操作将继续长期保留在Azure存储器中的虚拟机驱动器中。请到这里查看更多关于配置和使用BPF的详细信息。

从今天开始使用D系列虚拟机

你可以立即使用新的D系列虚拟机了。通过现有的Azure管理门户以及预览门户,或者Azure管理命令行/脚本/API都可以很方便的创建和使用它们。

要想学习更多关于D系列的产品请阅读这篇博客,里面有更多关于D系列的详细介绍,也可以查看Azure文档中心

希望对你有所帮助,

Scott

Un SDK mobile qui gère l’Offline

MSDN Blogs - 9 hours 20 min ago

Que vous développiez des applications mobiles pour iPhone, iPad, Android, ou Windows vos utilisateurs ne sont pas toujours connectés au réseau et avoir une application qui continue de fonctionner quand il n’y a pas de réseau est évidemment un plus.

Une première solution est de n’avoir des données que sur le mobile. Dans la pratique, on a tout de même besoin de données dans le cloud. Si on prend un exemple aussi bête que le leader board de jeux, si chacun a sa propre version du meilleur score, c’est un peu moins challenging!

Dans le dernier épisode (155) du cloud cover Show, on voit le détail de la façon dont l’offline est pris en charge par le SDK d’Azure Mobile Sercvices.

Par défaut, le SDK s’appuie sur SQLite, mais d’autres moteurs, y compris custom sont possibles. Egalement, le SDK prend en charge les problématiques de concurrence d’accès.

 

Ci-dessus, on voit cela avec Xamarin pour Android et iOS, mais c’est aussi disponible en Java pour Android comme le montre ce billet: Offline support in the Azure Mobile Services Android SDK, ou en objective-C pour iOS: Offline support in the Azure Mobile Services iOS SDK.

 

Benjamin (@benjguin)

Azure Site Recovery (cloud cover show 149)

MSDN Blogs - 9 hours 48 min ago

Ce résumé a été écrit par Baptiste Ohanes (Microsoft France).

 

Voici un résumé en français de l’épisode 149 du Cloud Cover Show, publié le 25 juillet 2014, que je vous engage à regarder en vous rendant sur http://channel9.msdn.com/Shows/Cloud+Cover/Episode-149-Azure-Site-Recovery-with-Praveen-Vijayaraghavan

Retrouvez tous les résumés du Cloud Cover Show (http://aka.ms/cloud-cover-show) à http://aka.ms/cloud-cover-show-fr.

Dans cet épisode, Nick Harris et Chris Risner sont rejoints par Praveen Vijayaraghavan, senior program manager dans l'équipe Windows Server and System Center. Pravenn va nous parler de la fonctionnalité Azure Sitre Recovery. Dans la première version de la fonction Site Recovery de SCVMM, vous pouviez copier vos machines virtuelles à partir d'un datacenter principal vers un secondaire dans le cadre d'une reprise après sinistre. Dans sa version la plus récente, Site Recovery vous permet de déplacer vos machines virtuelles depuis votre datacenter vers Azure.

Pour de renseignements sur la fonctionnalité Azure Site Recovery :

Site Recovery

http://azure.microsoft.com/fr-fr/services/site-recovery/

Site Recovery sur le blog de l'équipe System Center :

http://blogs.technet.com/b/systemcenter/archive/2014/07/01/microsoft-azure-site-recovery-your-dr-site-in-microsoft-azure.aspx

Virtualization Blog

http://blogs.technet.com/b/virtualization/

Le premier composant discuté est la fonction Azure Site Recovery. Avec cette nouvelle version les clients n'ont pas à investir dans un centre de données secondaire, évitant ainsi certains coûts de de fonctionnements, les machines étant directement protégées dans Azure. En cas de défaillance du datacenter principal, il s'suffit d'accéder à l'interface Azure et de déclencher la bascule.

Azure Backup Vault est un second composant qui permet de sauvegarder les disques physiques et virtuels et sera approfondi dans un autre épisode.

Configuration d'un archivage Azure Site Recovery

Une démo du service s'ensuit (3:20) qui comprend les étapes suivantes :

· création d'un archivage Azure Site Recovery

· jonction à System Center Virtual Machine Manager via la création et l'upload d'un certificat afin de signer les opérations de récupération

· Déploiement des compléments Azure Site Recovery pour SCVMM

· Déclaration du service d'archivage Azure Recovery sur la machine SCVMM et appairage via le certificat cité auparavant (également employé pour encrypter les données durant l'upload).

Une fois que les clouds privés à protéger sont déclarés dans Azure, certaines configuration additionnelles sont requises (9:17) tels que :

· La fréquence de copy (possibilité de descendre à 20 secondes)

· Le compte de stockage utilisé

· l'encryptage

· Les données de RPO (nombre d'heures à récupérer)

Il est également possible de protéger un ensemble de serveurs pour garantir la cohérence interne au sein d’une application.

La dernière étape (13:29) consiste à déclarer les machines à protéger au niveau du cloud et déclencher l'upload initial des vhds :

Votre cloud privé est maintenant protégé !

Critères de protection

Certains critères sont à respecter pour assurer leur protection (14:26). Ceux-ci sont néanmoins amenés à évoluer dans le temps :

· La version de l'os doit être supporté par Azure (Windows ou Linux)

· Le disque OS ne doit pas dépasser 127 Gb

· Une carte réseau par VM

Mapping du réseau et des tailles de VMs

Il est nécessaire de déclarer des correspondances entre les réseaux locaux et un réseau virtuel Azure (16:00) :

Bascule des services et recovery plan

Notre système est maintenant protégé mais la bascule est encore à tester (17:50) :

· Il est possible de tester la bascule sans interrompre la production

· Le concept de plan de récupération permet de basculer un ensemble de machines virtuelles simultanément et de définir des étapes de basculement :

Les machines virtuelles peuvent être regroupées en fonction de leur rôle, il peut être intéressant de basculer en premier les services de bases de données avant de remonter les services web frontaux par exemple.

(21:00) Il est possible d'exécuter des scripts PowerShell sur les serveurs également, pour vérifier leur connectivité avec des contrôleurs de domaines par exemple :

Il est également possible de tester la bascule par plan de récupération :

Les machines sont ensuite joignables au travers du VPN site-à-site entre Azure et vos datacenters. L'emploi d'ExpressRoute en lieu et place du VPN site-à-site permet d'optimiser le trafic entre le réseau local et les datacenters Azure.

Un fois la bascule effectuée (25:00), il est nécessaire que les machines effectuent un nettoyage de leur cache DNS pour mettre à jour l'IP des différents services. Tout le temps du test de bascule, les environnements de production ne sont pas impactés (26:00).

On distingue deux types de bascule

· Les bascules planifiées : il est possible de basculer les différents services granulairement sans interruptions de services et d'éteindre progressivement les machines localement.

· Les bascules non planifiées: l'ensemble du service redémarre de manière groupée en suivants les étapes vues précédemment également.

Coûts (27:00) :

Les prix affichés ci-dessus sont les prix pratiqués en Europe de l'ouest, au 22/09/2014 et peuvent évoluer.

Comment démarrer ? (29:15)

Afin de démarrer plus facilement, connecter à la page d'accueil d'un nouveau site d'archivage, l'ensemble des étapes à suivre y est détaillé !

 

Si vous souhaitez tester cela par vous-mêmes et que vous n’avez pas encore de compte Windows Azure ni d’abonnement MSDN, ouvrez un compte de test gratuit, vous obtiendrez 150 € de ressources pendant 1 mois.

Visual Studio Online 更新—9月23日

MSDN Blogs - 9 hours 49 min ago

[原文地址] Visual Studio Online Update – Sept 23th

[原文时间] 2014/9/23

这周我们即将结束VS Online 的第71个迭代。你可以从新闻页面中了解到更多关于产品的变化。在过去,随着软件的部署,我们挣扎于如何选择时机出版发布说明。但是随时我们拥有越来越多的实例(我们现在有 4个,并且将很快会有第 5 个),为每一个实例选择正确的时机变得越来越难。在刚刚启动这一迭代的时候,我们便计划在第一个公共实例升级开始的同时出版发布说明。这意味着发布说明将始终比功能的真正实现要超前一点点,但是最多超前几天(能阅读到的人并不多)。

我也想评论新闻帖子中提到的一件事: 工作项性能。

我在上一个迭代中提到,我们将一些规模更大的内部团队带入了TFS/VS Online的研发中,在这过程中,我们碰到一些性能 (和可用性) 的问题。针对这类问题,我们在这个迭代中取得的进展比上一个迭代还要多。

样例:

  • 工作项窗体的加载— — 假设一个团队有一大堆相当大工作项窗体。我不推荐这种做法,但我会通过引导的方式来使不同的团队拥有不能级别的复杂程度。当他们在TFS上遇到超大且内容超多的窗口时,平均要花上2.8秒去打开—简直是龟速。对此我们做了优化,其中包括不事先构建隐藏字段的DOM。经过优化之后,我们将这段时间减少到了0.8秒。。对于结构简单的窗体,这样的优化显得没那么明显,但是所有的窗体加到一起就能够明显感觉到速度变快。
  • 共享工作项查询— — 与上一个样例类似, 这个团队拥有大量共享查询。事实上,他们在几个月之内构建了数以千计的共享查询,这些查询结果的加载较慢。每一次导航到查询页面时都需要10.5秒去显示查询结构。使用渐进式显示的方法,我们把这段时间减少到了0.3秒。无独有偶,不是所有人都能看见引人注目的变化,但是每个人都能感受到一些改善

我们正在为下一个 迭代添加更多的方案 — — 例如点击邮件中的链接去打开工作项窗体需要花费几秒钟,我们在第72个迭代中将使它大大地加快。

所有的这些变化也将列入 TFS 2013 Update 4。

期待几周后更多的分享 — — 我们将在第72个迭代中部署大量内容。敬请期待

Brian

Using the WebDAV Redirector with OneDrive Part 2 - Two-Step Verification

MSDN Blogs - 10 hours 21 min ago

This blog is Part 2 of a series about mapping a drive letter to your OneDrive account. In Part 1 of this series, I showed you how to map a drive letter to your OneDrive account when you are using standard security, and in this blog I will show you how to map a drive letter to your OneDrive account after you have enabled two-step verification for your account security. The process is largely similar, with the notable exception that you need to generate an application password which you will use when you are mapping the drive letter with the WebDAV Redirector.

A quick note about two-step verification: enabling this security feature adds an additional requirement so that you will need to use a secondary method to verify your identity when you are logging in. (For example, you can use a phone app, text message, or second email account.) However, you cannot use a secondary login method when you are using the WebDAV Redirector, so you will need to create an application password. (Note: More information about two-step verification for your Microsoft is available in the Two-step verification: FAQ.)

Step 1 - Log Into Your OneDrive Account

The first thing that you need to do is to browse to https://onedrive.live.com/ and sign in with your Windows account.

Step 2 - Determine Your OneDrive Customer ID

Once you have logged in to your OneDrive account, hover your mouse over the Files link on the left part of your browser window – this will show your customer number in the status bar on the bottom of your browser window. If you have the status bar disabled, you can right-click the Files link and click Copy Shortcut in the pop-up menu. (Note: Those instructions are for Internet Explorer, but the method should be similar in Chrome or Firefox.)

Your Customer ID is the value that is specified after the "cid=" in the URL; for example: "https://onedrive.live.com/?cid=426f62526f636b73". You will need this value when you map a drive letter.

Step 3 - Generate an Application Password

To map a WebDAV drive to your OneDrive account after you have enabled two-step account verification, you will need to generate an application password which you will use when you enter your credentials. (Note: More information about two-step verification can be found in the App passwords and two-step verification article.)

To generate an application password, you first need to log into your Microsoft account settings at https://account.live.com/:

Once you have logged in, click on Security & password and then Create a new app password:

When the app password page is displayed, copy the password for later:

Step 4 - Map the Drive Letter

Your next step is to map the drive letter, and there are a few ways to do this. I have documented several methods in my Using the WebDAV Redirector article on the IIS.net website, but I will show a few ways in this blog.

Method #1 - Using the Windows User Interface and Wizards

On most of my systems I have the Network and This PC or My Computer icons on my desktop, which makes it easy to simply right-click one of those icons and select Map network drive:

An alternate method on Windows 8 is to open This PC and Map network drive will be listed as an icon on the Windows Explorer ribbon:

Once the Map Network Drive Wizard appears, enter "https://d.docs.live.net/" followed by your Customer ID from Step 2. For example: "https://d.docs.live.net/426f62526f636b73/"

When the Windows Security dialog box appears, enter your email address that you used to log into your OneDrive account in Step 1 and the application password that you created in Step 3.

Once the mapping has been completed, you will be able to view your OneDrive files in Windows Explorer via the mapped drive:

Method #2 - Using the Windows Command Line

You can also map a WebDAV drive letter to your OneDrive account from a command line. The general syntax is listed below:


C:\>net use * https://d.docs.live.net/xxxxxxxxxxxxxxxx/ /user:"user@example.com" "password"

 

For example:


C:\>net use * https://d.docs.live.net/426f62526f636b73/ /user:"bob@contoso.com" "426f62526f636b73"

  C:\>dir Volume in drive Z has no label. Volume Serial Number is 0000-0000 Directory of Z:\ 09/02/2014 10:38 PM <DIR> Applications 09/27/2014 08:43 AM <DIR> Blog Photos 09/29/2014 10:50 PM <DIR> Documents 08/17/2014 03:44 AM <DIR> Pictures 09/22/2014 05:58 PM <DIR> Public 09/29/2014 10:43 AM <DIR> SkyDrive camera roll C:\>

That wraps it up for Part 2 of this blog series - I hope this helps!

Using the WebDAV Redirector with OneDrive Part 1 - Standard Security

MSDN Blogs - 10 hours 24 min ago

If you have read some of my previous blog posts and IIS.NET articles about WebDAV, you will see that I often use the WebDAV Redirector that is built-in to Windows in order to connect to various WebDAV websites. This allows me to access my files via a mapped drive letter, which also enables me to use WebDAV with applications that do not have native WebDAV support. (Like Visual Studio.) I'm also a big fan of OneDrive, but sometimes I'm on a legacy system where I don't have OneDrive installed. With that in mind, I thought that I would put together a quick blog series to show you how to map a drive letter to your OneDrive files.

In Part 1 of this series, I will show you how to map a drive letter to your OneDrive account by using standard security. In Part 2 of this series, I will show you how to map a drive letter to your OneDrive account after you have enabled two-step verification for your account security.

Step 1 - Log Into Your OneDrive Account

The first thing that you need to do is to browse to https://onedrive.live.com/ and sign in with your Windows account.

Step 2 - Determine Your OneDrive Customer ID

Once you have logged in to your OneDrive account, hover your mouse over the Files link on the left part of your browser window – this will show your customer number in the status bar on the bottom of your browser window. If you have the status bar disabled, you can right-click the Files link and click Copy Shortcut in the pop-up menu. (Note: Those instructions are for Internet Explorer, but the method should be similar in Chrome or Firefox.)

Your Customer ID is the value that is specified after the "cid=" in the URL; for example: "https://onedrive.live.com/?cid=426f62526f636b73". You will need this value when you map a drive letter.

Step 3 - Map the Drive Letter

Your next step is to map the drive letter, and there are a few ways to do this. I have documented several methods in my Using the WebDAV Redirector article on the IIS.net website, but I will show a few ways in this blog.

Method #1 - Using the Windows User Interface and Wizards

On most of my systems I have the Network and This PC or My Computer icons on my desktop, which makes it easy to simply right-click one of those icons and select Map network drive:

An alternate method on Windows 8 is to open This PC and Map network drive will be listed as an icon on the Windows Explorer ribbon:

Once the Map Network Drive Wizard appears, enter "https://d.docs.live.net/" followed by your Customer ID from Step 2. For example: "https://d.docs.live.net/426f62526f636b73/"

When the Windows Security dialog box appears, enter the email address and password that you used to log into your OneDrive account in Step 1.

Once the mapping has been completed, you will be able to view your OneDrive files in Windows Explorer via the mapped drive:

Method #2 - Using the Windows Command Line

You can also map a WebDAV drive letter to your OneDrive account from a command line. The general syntax is listed below:


C:\>net use * https://d.docs.live.net/xxxxxxxxxxxxxxxx/ /user:"user@example.com" "password"

 

For example:


C:\>net use * https://d.docs.live.net/426f62526f636b73/ /user:"bob@contoso.com" "P@ssw0rd"

  C:\>dir Volume in drive Z has no label. Volume Serial Number is 0000-0000 Directory of Z:\ 09/02/2014 10:38 PM <DIR> Applications 09/27/2014 08:43 AM <DIR> Blog Photos 09/29/2014 10:50 PM <DIR> Documents 08/17/2014 03:44 AM <DIR> Pictures 09/22/2014 05:58 PM <DIR> Public 09/29/2014 10:43 AM <DIR> SkyDrive camera roll C:\>

That wraps it up for Part 1 of this blog series. In Part 2, I will show how to map a WebDAV drive to your OneDrive account after you have enabled two-step verification for your account security.

Why I chose Microsoft as a Governor and Parent

MSDN Blogs - 10 hours 42 min ago

As a governor and tech savvy parent of four, Dani Schuchman has begun helping his local school to improve technology in education. Working in an environment which is so exposed to great technology and resources, Dani believes it is vital that he gave back to the community, as he could see how these tools could enhance learning.

When Dani first started working with his children's school, The Independent Jewish Day School, a technology refresh was needed for some out of date classroom and administrative equipment. The school was interested in choosing technology that put them ahead of the curve, whilst being cost effective. By choosing Microsoft enabled products, the school were able to tap into so many more resources than if they had chosen a competitor. With Microsoft's wide range of developer networks and partnerships The Independent Jewish Day School could use the same software on the various form factors in the school – teacher’s laptops, classroom computers, interactive touchscreens and potentially tablets in the future. "The possibilities were endless!"

As a governor, Dani believes it is a school’s duty to provide the best learning environment for students, utilising technology in the best way possible and in-line with Department for Education guidelines. Microsoft technology enables Dani's school to achieve this objective. The DfE has recently introduced new Computer Science guidelines within the curriculum. Along with enabling schools to comply with these guidelines, Microsoft technology allows pupils to gain true value from lessons which will support them in their futures. Skills such as touch typing, e-mail, safer ways to use the internet and coding, equips students for life. Using the “Switched on Computing” resources in conjunction with Microsoft, will help teachers implement the change in curriculum whilst creating enriching lesson plans.

The head teacher at Dani's school believes that "Microsoft enables us to accommodate for different styles of learning in the classroom and ensuring that pupils make good progress".

Dani argues that technology can't replace the important staples within education, such as reading, writing and arithmetic. However, it is only technology that can remove the boundaries within the classroom. For example, Skype has the potential to allow students to communicate with environments and people all around the world. Guest speakers and classrooms which would have never interacted can now engage, enabling student’s learning to be utilised. Dani strongly believes technology is a brilliant tool which can enhance a student's learning. A wide range of resources are now available to teachers and students at one click. No longer do lessons rely solely on materials that are in the classroom. With technology, a synchronised use of recourses from videos to blogs can be created. The learning environment is enhanced, equipping them for the future, whilst enriching their learning within the classroom, in a fun and innovative manner.

Dani believes Microsoft is at the forefront of improving education for primary years all the way through University years. Through Microsoft's full reach of their partner and developer network there is so much that can be done.

Why I chose Microsoft as a Governor and Parent

MSDN Blogs - 10 hours 42 min ago

As a governor and tech savvy parent of four, Dani Schuchman has begun helping his local school to improve technology in education. Working in an environment which is so exposed to great technology and resources, Dani believes it is vital that he gave back to the community, as he could see how these tools could enhance learning.

When Dani first started working with his children's school, The Independent Jewish Day School, a technology refresh was needed for some out of date classroom and administrative equipment. The school was interested in choosing technology that put them ahead of the curve, whilst being cost effective. By choosing Microsoft enabled products, the school were able to tap into so many more resources than if they had chosen a competitor. With Microsoft's wide range of developer networks and partnerships The Independent Jewish Day School could use the same software on the various form factors in the school – teacher’s laptops, classroom computers, interactive touchscreens and potentially tablets in the future. "The possibilities were endless!"

As a governor, Dani believes it is a school’s duty to provide the best learning environment for students, utilising technology in the best way possible and in-line with Department for Education guidelines. Microsoft technology enables Dani's school to achieve this objective. The DfE has recently introduced new Computer Science guidelines within the curriculum. Along with enabling schools to comply with these guidelines, Microsoft technology allows pupils to gain true value from lessons which will support them in their futures. Skills such as touch typing, e-mail, safer ways to use the internet and coding, equips students for life. Using the “Switched on Computing” resources in conjunction with Microsoft, will help teachers implement the change in curriculum whilst creating enriching lesson plans.

The head teacher at Dani's school believes that "Microsoft enables us to accommodate for different styles of learning in the classroom and ensuring that pupils make good progress".

Dani argues that technology can't replace the important staples within education, such as reading, writing and arithmetic. However, it is only technology that can remove the boundaries within the classroom. For example, Skype has the potential to allow students to communicate with environments and people all around the world. Guest speakers and classrooms which would have never interacted can now engage, enabling student’s learning to be utilised. Dani strongly believes technology is a brilliant tool which can enhance a student's learning. A wide range of resources are now available to teachers and students at one click. No longer do lessons rely solely on materials that are in the classroom. With technology, a synchronised use of recourses from videos to blogs can be created. The learning environment is enhanced, equipping them for the future, whilst enriching their learning within the classroom, in a fun and innovative manner.

Dani believes Microsoft is at the forefront of improving education for primary years all the way through University years. Through Microsoft's full reach of their partner and developer network there is so much that can be done.

Why I chose Microsoft as a Governor and Parent

MSDN Blogs - 10 hours 42 min ago

As a governor and tech savvy parent of four, Dani Schuchman has begun helping his local school to improve technology in education. Working in an environment which is so exposed to great technology and resources, Dani believes it is vital that he gave back to the community, as he could see how these tools could enhance learning.

When Dani first started working with his children's school, The Independent Jewish Day School, a technology refresh was needed for some out of date classroom and administrative equipment. The school was interested in choosing technology that put them ahead of the curve, whilst being cost effective. By choosing Microsoft enabled products, the school were able to tap into so many more resources than if they had chosen a competitor. With Microsoft's wide range of developer networks and partnerships The Independent Jewish Day School could use the same software on the various form factors in the school – teacher’s laptops, classroom computers, interactive touchscreens and potentially tablets in the future. "The possibilities were endless!"

As a governor, Dani believes it is a school’s duty to provide the best learning environment for students, utilising technology in the best way possible and in-line with Department for Education guidelines. Microsoft technology enables Dani's school to achieve this objective. The DfE has recently introduced new Computer Science guidelines within the curriculum. Along with enabling schools to comply with these guidelines, Microsoft technology allows pupils to gain true value from lessons which will support them in their futures. Skills such as touch typing, e-mail, safer ways to use the internet and coding, equips students for life. Using the “Switched on Computing” resources in conjunction with Microsoft, will help teachers implement the change in curriculum whilst creating enriching lesson plans.

The head teacher at Dani's school believes that "Microsoft enables us to accommodate for different styles of learning in the classroom and ensuring that pupils make good progress".

Dani argues that technology can't replace the important staples within education, such as reading, writing and arithmetic. However, it is only technology that can remove the boundaries within the classroom. For example, Skype has the potential to allow students to communicate with environments and people all around the world. Guest speakers and classrooms which would have never interacted can now engage, enabling student’s learning to be utilised. Dani strongly believes technology is a brilliant tool which can enhance a student's learning. A wide range of resources are now available to teachers and students at one click. No longer do lessons rely solely on materials that are in the classroom. With technology, a synchronised use of recourses from videos to blogs can be created. The learning environment is enhanced, equipping them for the future, whilst enriching their learning within the classroom, in a fun and innovative manner.

Dani believes Microsoft is at the forefront of improving education for primary years all the way through University years. Through Microsoft's full reach of their partner and developer network there is so much that can be done.

Traffic Manager:Azure中国版 正式发布

MSDN Blogs - 11 hours 11 min ago

我们很高兴地宣布 Azure Traffic Manager 现已面向中国版 Azure正式发布。此版本现已投入生产,由企业 SLA 支持,随时可用于生产场景中。

借助 Azure Traffic Manager,您可以控制用户流量到托管在 Azure 内部或外部的应用程序的分配。您的应用程序可以在同一数据中心运行,并且可以分发到全球不同地区甚至本地托管的端点。Traffic Manager 的工作原理是,将智能路由策略引擎应用于对您的域名执行的域名服务 (DNS) 查询,并将 DNS 路由映射到相应的应用程序实例。

您可以使用 Traffic Manager 提高应用程序的可用性 - 方法是在您的某一应用程序实例出现问题时启用自动客户流量故障转移方案。您还可以使用 Traffic Manager 提高应用程序的性能 - 方法是自动将客户路由到离他们最近的应用程序实例(例如,您可以设置 Traffic Manager,以将中国北部的客户路由到应用程序的中国北部实例,将中国东部的客户路由到应用程序的中国东部实例)。此外,Traffic Manager 还可用来实现内部部署端点以及托管在其他 Azure 实例中的端点的流量负载平衡

Traffic Manager 支持云服务、Azure 网站和外部端点作为同一 Traffic Manager 配置文件中的对等点。

实现高可用性

Traffic Manager 可监控在其内部配置的每个应用程序/服务端点的运行状况,并在任何服务出现故障时自动将流量重定向到其他应用程序/服务端点。

借助 Traffic Manager,您可以配置用于监控端点运行状况的协议、端口和监控路径。您可以使用您的任何网页作为监控路径,也可以使用专用的监控页面,让您实现自己的客户运行状况检查逻辑。

提高性能

您可以在不同地理区域部署应用程序或服务的多个实例,并使用 Traffic Manager 的“性能”负载平衡策略自动将最终用户定向到最近的应用程序实例。这样可减少最终用户的网络延迟,从而提高性能。

请注意,端点监控和故障转移是所有 Traffic Manager 负载平衡策略而不仅仅是“故障转移”策略的一个特性。这意味着,如果其中一个实例出现问题并脱机,Traffic Manager 会自动将所有用户定向到运行状况良好的实例。

无缝的应用程序更新

您也可以在 Traffic Manager 中明确启用和禁用每个应用程序/服务端点。要执行此操作,只需选择端点,然后单击 Disable 命令。

这并不会停止底层应用程序,而只是告知 Traffic Manager 将流量路由到别处。这使您能够在对特定的应用程序/服务部署进行更新和测试时从其迁移出流量,然后恢复服务,所有这些操作只需单击几下即可完成。

支持使用外部端点的混合场景

Traffic Manager 通过对外部端点的支持,支持混合内部部署和跨 Azure 实例场景。利用这些场景,可以跨内部部署设备和 Azure 云实现流量负载平衡,从而实现“扩展到云”、“快速过渡到云”、“故障转移到云”或“故障转移到内部部署”场景。

此外,对外部端点的支持使应用程序能够将 Azure 实例无缝跨越到最终用户。这使得中国版 Azure 中的 Traffic Manager 能够展示跨中国版 Azure 和公共 Azure 托管的应用程序,并使公共 Azure 中的 Traffic Manager 能够跨公共 Azure 和中国版 Azure 中的应用程序实例实现负载平衡。

正式发布

由于 Traffic Manager 在支持高可用性应用程序方面起着关键作用,因此 Traffic Manager 本身具有高可用性当然也很重要。这正是我们在正式发布中宣布 Traffic Manager SLA 正常运行时间将高达 99.99% 的原因所在。

 

Just in Time Disaster Recovery to Azure with Symantec Disaster Recovery Orchestrator

MSDN Blogs - 11 hours 25 min ago

Authors: Lisa Erickson (Symantec), Konstantin Dotchkoff (Microsoft)

 

Introduction

One of the fundamental promises of cloud computing is cost benefits from economy of scale. Running applications in a public cloud is typically less expensive than in an on-premises environment. But there is even more potential for cost reductions. Because cloud computing makes the costs for running an application very transparent, developers and operations teams tend to spend iterations of optimizations to further reduce the operation costs. Developers can compare the cost of different implementation and design options to understand how they could tune the app for cost. Using dynamic auto-scale to respond to changes in demand is a common practice too. The ultimate goal is to use exactly as much resources as needed and thus to pay for only what you really need.
Obviously, the potential for savings depends on the workload profile. Disaster Recovery (DR) is an interesting case, because for most of the time a DR site and resources are not actively being used. Only in a case of a disaster the secondary site will be fully needed. Using Azure as a DR site is an interesting option since you generally pay for only what you use and inbound data transfers are free. This would allow to greatly reduce the expenses for a DR site (in addition to shifting Capex to Opex cost).

Solution Example

Let’s take a look at an example of a disaster recovery solution and some of the design considerations applied to achieve cost optimizations. Symantec, having a huge expertise and a long tradition in delivering enterprise high availability and disaster recovery solutions, partnered with Microsoft to provide a cost effective solution for DR to Microsoft Azure. Symantec Disaster Recovery Orchestrator (DRO) enables businesses to automate and manage the takeover and failback of Windows-based applications residing on either physical or virtual machines (VMs) to Microsoft Azure. The solution is application centric and provides fully automated and orchestrated end-to-end application recovery.

In a traditional DR approach the infrastructure required for the DR site will be provisioned and typically a 1:1 replication relationship or pairing between the source and the target resources will be established. Some businesses may instead decide to keep “cold” stand-by capacity for DR, but this greatly increases the RTO and still has costs associated with the procured hardware.
On the other hand, in a public cloud environment you pay for only what you use. In Azure, VMs are billed per minute and there are no charges for stopped (deallocated) VMs. This influenced the architecture design of the solution. It resulted in an implementation where application data is replicated to the DR site without the need for all application recovery VMs to be up and running, since they are not actively needed until a takeover event occurs. The target VMs can be provisioned when needed for takeover, providing a just in time disaster recovery. The replication streams for protected applications are terminated using a central component running in Azure, acting as a consolidated replication target. However, it is necessary a) to keep the data separated for each application and b) to provide the ability for each application recovery VM to access the application data in a case of disaster. To fulfil these requirements the consolidated replication target runs within a separate Azure VM (Controller VM in the graphic below) that writes replicated data to attached target disk, minimum of one per application as shown below:


As you can see from the graphic, application recovery VMs are not actively running in this passive state. Those VMs are provisioned during the initial configuration of a protected application, but are removed with the system disk retained at the end of the configuration process. Upon a takeover operation, the application recovery VMs will be recreated out of the saved system disk and the application recovered leveraging the disks used for application data replication by detaching from the Controller VM and attaching to the just created application recovery VM.
(Note: At the time of writing up to 16 disks with up to 1TB can be attached to a VM; if necessary multiple DRO instances can be used for greater scale.)
In addition to the replication engine, the Controller VM also hosts the solutions automation and orchestration components and management portal. All these components are deployed on the Controller VM to reduce the number of VMs and associated costs to a minimum.

Here are the detailed tasks the Disaster Recovery Orchestrator will handle during an application takeover to the DR site:

  1. Offline the on-premises application (when it is available and running)
  2. Pause the replication and wait for it to return to up-to-date state
  3. Provision application recovery VM in Azure
  4. Detach the replicated disks for the application from the controller and attach to the application recovery VM
  5. Update the replication primary to the application recovery VM (this will reverse the replication from Azure to on-premises target, when available)
  6. Online the application in Azure

The following graphic shows the configuration after a takeover operation in a DR case:



After the takeover the application VMs are running with the application data disks attached to them. The replication direction has been reversed from the application VMs in Azure to the application nodes on premises and once the primary site becomes available the DRO will synchronize the sites to enable a fail back operation.

Summary

This example demonstrates how the solution design was optimized for cost reduction. Symantec Disaster Recovery Orchestrator leverages a consolidated replication target as the central component for applications that need to be recovered in the cloud. This approach reduces the number of VMs needed in Azure, while providing the flexibility of just in time recovery of an application in the cloud.

Microsoft Translator Celebrates International Translation Day

MSDN Blogs - 11 hours 35 min ago

Promoted by the International Federation of Translators since 1953, the goal of International Translation Day has been to celebrate the worldwide translation community that is becoming increasingly essential in the era of progressing globalization. Microsoft celebrates International Translation Day (September 30, 2014) with a look back at what has proven to be a year of exciting announcements from Microsoft Translator.

One of the most important innovations from Microsoft Translator was showcased earlier this year. During a  talk at the Code Conference, by Microsoft CEO Satya Nadella, unveiled an early look at the Skype Translator app. This app represents a breakthrough in language translation jointly developed by Microsoft researchers and Skype engineers, bridging geographic and language barriers through the use of real-time speech-to-speech translation.The functionality combines Skype voice and instant messaging, Microsoft Translator and machine-learning based technologies for speech recognition used in Windows and Windows Phone Translation applications.

In addition to the Skype Translator app, below is a summary of additional highlights from Microsoft Translator over the last year:

  • Song Translator App - Last fall, our Translator Summer Interns: Michelle Agcamaran, Priya Ganesan, and Kat Zhou built an app to showcase the capabilities of Translator and our partners in a new and interesting way. After three months of work they launched: Song Translator. The song translation app allows users to upload their favorite songs with lyrics, add timestamps to the lyrics, then translate and record the song in another language.
  • Release of Welsh - In February, Microsoft Translator is announced Welsh as a new supported language in partnership with the National Assembly for Wales and leveraging the Microsoft Translator Hub. The Welsh became the latest to join a growing list of languages to benefit from translation services provided by Microsoft Translator.
  • Blog Plug In - Microsoft Open Technologies, Inc. released a new Bing Translator plugin that lets you apply the power of Bing Translator to any WordPress site running version 3.8 or later to translate your site into any of the 45+ supported languages. Adding WordPress to the list of blogging sites including Tumblr.
  • App Localization – This year Multilingual App Toolkit (MAT) team announced the release of MAT 3.1. The Multilingual App Toolkit integrates with Microsoft Visual Studio to provide Windows Store apps and Windows Phone apps with translation support powered, translation file management, and editor tools powered by Microsoft Translator.
  • Yammer Language Support – Earlier this year, Yammer announced key localization updates across its web client, mobile apps, and the Yammer Success Center, and introduced message translation in both the iOS and Android Yammer apps, powered by Microsoft Translator®. 
  • Updates to Windows and Windows Phone Translator Apps -  Over the past year updates were released for Windows and Windows Phone Translator apps which include: speech-to-speech for Windows app, new offline language packs, new language support for camera, keyboard modes, user interface design improvements, amongst many other updates and improvements.

Real-time communication and collaboration technologies from video conferencing to social media have removed the physical barriers of communication and today translation technology is paving the way for removing the barrier of language in the same way. The Microsoft Translator team is committed to helping to enable business, communities, and consumers to be able to communicate and collaborate regardless of language through technology innovation.

This is just a small sampling of the many things that Microsoft Translator has been working on over the past year, to learn more about what Microsoft Translator has been up to, like us on Facebook and follow us on Twitter.

Happy translating!
 

Azure 管理ポータルを使用したライブ ストリーミングの開始

MSDN Blogs - 11 hours 42 min ago

このポストは、9 月 10 日に投稿された Getting Started with Live Streaming Using the Azure Management Portal の翻訳です。

このたびマイクロソフトは、Azure Media Services の各種ライブ サービスのパブリック プレビュー開始を発表しました。これらのライブ サービスは、NBC Sports がイギリス プレミア リーグ、NHL ホッケー、サンデー ナイト フットボール、ソチ オリンピックなどのスポーツ生中継をマルチプラットフォームで配信するために使用してきたものと同じです。先日閉幕した FIFA ワールド カップでも、世界の放送局 10 社に採用されました。そしてこのたび、高い安定性、スケーラビリティ、パフォーマンスを誇るこれらのサービスを、すべての Media Services ユーザーが利用できるようになりました。

ライブ ストリーミング機能のさまざまな面と使用方法については、今週投稿する複数の記事で取り上げています。この記事では、ライブ ストリーミングの基礎を説明した後、具体的なシナリオ (ライブ デスクトップ Web キャスト) に沿って解説します。この記事では、コードを使用せずに管理ポータルでさまざまな処理を行います。SDK を使用して同じアクションを自動化する方法については、今週投稿する別の記事で説明しています。

ライブ ストリーミングの基本コンポーネント

はじめに、後述するエンドツーエンド ソリューションの基本コンポーネントの概要を説明します。

  • Azure アカウントとサブスクリプション – Microsoft Azure アカウントをまだお持ちでない場合、まず http://azure.com にアクセスして作成する必要があります。購入前に無料で試用することができます。
  • Azure Media Services アカウント – Media Services アカウントをまだお持ちでない場合、作成方法の説明 (http://azure.microsoft.com/ja-jp/documentation/articles/media-services-create-account/) に従って作成してください。
  • ビデオ カメラ – この記事のサンプルではノート PC の Web カメラを使用しますが、ほぼどのカメラでもかまいません。USB のようなデジタル出力が可能な場合、PC に直接接続して出力をエンコードできます。デジタル出力ができない場合はビデオ キャプチャ カードが必要です。
  • ライブ エンコーダー – 現時点では、Azure Media Services ではフラグメント MP4/Smooth Streaming と RTMP の 2 つのライブ取り込みプロトコルがサポートされています。RTMP が普及したため、無料の Flash Media Encoder や FFMPEG のほか、低価格の Wirecast、NewTek の高価格製品である Tricaster、さらに Cisco や Elemental、Image などが販売しているプロフェッショナル向け製品まで、幅広い選択肢からエンコーダーを選択できます。この後のサンプルでは、Telestream の Wirecast をインストールしたノート PC を使用します。まだエンコーダーのご用意がない場合、こちらのサイト (英語) から Wirecast をダウンロードすれば、試用ライセンスで使用できます。ビデオ エンコーディングでは CPU が大量に消費されるため、私が自分のノート PC でエンコーディングを行うときには、品質レベルを 3 つに制限し、ビット レートを低めにしています。CPU の処理能力が低いノート PC などを使用する際は、CPU 使用率を確認してください。常に 70% を超える場合は、エンコーディング プロファイルの品質レベル数を減らすか、ビットレートおよび解像度を下げましょう。
  • 高速インターネット接続 – ライブ ビデオを配信するには、エンコーダー出力のビット レートの変動による影響を受けないよう、送信するビデオのビット レートの 1.5 倍以上の安定した送信速度を持つインターネット接続が必要です。たとえば、この後で構築するソリューションでは、ライブ ストリームの品質レベル ("レンディション") を 400、600、および 900 Kbps の 3 つにし、総ビット レートを 1,900 Kbps にしています。したがって、少なくとも 2,850 Kbps (2.85 Mbps) の速度が必要です。
  • Azure Media Services チャネル – Azure Media Services でのライブ ストリーミングに必要な唯一の新規コンポーネントです。エンコーダーの出力のための取り込みポイントを提供します。
  • Azure Media Services アセット – Media Services のアセットとは、すべてのオーディオおよびビデオのほか、ストリームに関連付けられたメタデータを格納するコンテナーです。
  • Azure Media Services プログラム – プログラムとは、チャネルで受信したストリームをアセットとして書き込み始めるためにチャネル上に作成する、Azure Media Services のエンティティです。
  • Azure Media Services ストリーミング ロケーター – ストリーミングに使用するアセットに対してロケーターを作成します。
  • Azure Media Services ストリーミング エンドポイントおよびストリーミング ユニット – ストリーミング エンドポイントにより、ライブおよび VOD アセットを取得できる URL が提供されます。また、ストリーミング エンドポイントによって動的パッケージング機能が提供され、ストリーム配信が確実に行われます。ストリーミング ユニットは、プロビジョニングされてストリーミング エンドポイントとなり、保証最大スループットが決まります。各ストリーミング ユニットのストリーミング出力容量は 200 Mbps です。必要に応じてストリーミング エンドポイントに追加して、容量を増やすことができます。
  • Azure CDN – Azure CDN はごく近い将来、Azure Media Services に統合されます。統合後は、ストリーミング エンドポイントに新たな設定が加わり、CDN エンドポイントをストリーミング エンドポイントに自動的に接続するかどうかを指定できるようになります。当面は、ストリーミング エンドポイントから直接ストリーム配信することが可能です。お使いのストリーミング エンドポイントに合わせた Azure CDN のセットアップをご希望の場合は、Azure サポートにご依頼ください。
  • ビデオ プレーヤー – Azure Media Services のストリーミング エンドポイントが提供する動的パッケージング機能により、配信先の各デバイスに必要なストリーミング プロトコルを使用してライブ ストリームを出力できます。この後で構築するソリューションでは、iOS 以外のすべてのプラットフォーム (デスクトップ ブラウザー、Android、Windows Phone) 用に MPEG-DASH と HTML5/DASH.js プレーヤーを使用します。iOS 用には、HLS バージョン 3 を使用します。動的パッケージング機能の詳細については、Nick の Channel 9 のビデオ (英語) および MSDN のドキュメントをご覧ください。
シナリオ: Web キャスト イベント

では、これから実践するシナリオについて少し説明します。以下で紹介する手順では、PC の Web カメラからトレーニングを放映するデスクトップ Web キャストのためのソリューションを構築していきます。この Web キャストを "イベント" と呼びます。ライブ ストリーミング用語で、始まりと終わりのあるライブ ストリームを意味します。これとは対照的に、常に放映が行われているテレビのチャネルのように終わりのないものを "リニア" ストリームと呼びます。リニア ストリームでのライブ サービスの使用方法については、別のブログ記事で取り上げます。

イベント前のセットアップ

ここからは、イベントを実行する準備として、イベント前のセットアップ手順を説明します。この準備手順はイベント前のどのタイミングで実行してもかまいません。"放送" 開始直前に急いで行う必要はありません。

Azure Media Services のチャネルとストリーミング エンドポイントの作成

まず、エンコーダーからのライブ ストリームの受信と、すべてのクライアント再生デバイスに配信するためのストリーミングとパッケージングに必要なインフラストラクチャを準備します。それには Azure 管理ポータルを使用します。

1. http://azure.com にアクセスして上部メニュー バーの [PORTAL] をクリックし、Azure 管理ポータルを開きます。Microsoft ID を使用してログインすると、管理ポータルが表示されます。

2. 左側の垂直メニューの [MEDIA SERVICES] というメニュー項目をクリックします。過去に作成したすべての Media Services アカウントが右側に表示されます。

3. このサンプルの構築に使用する Media Services アカウントをクリックします。ここでは、"jasonblog" という Media Services アカウントを使用します。Media Services アカウントのすべての詳細が表示されます。上部メニュー バーから、Media Services のすべてのエンティティ タイプの作成および管理が可能です。Media Services を使用されたことのある方ならお気付きになると思いますが、プレビューのマークの付いた [CHANNELS] というメニュー項目が上部メニュー バーに新たに加わっています。ここから、Azure Media Services のチャネルを管理します。

4. 上部メニュー バーの [CHANNELS] をクリックします。アカウントのチャネル リストが表示されます (チャネルが存在する場合)。

5. この時点ではチャネルがないため、「You have no channels. Add one to get started!」というメッセージが表示されます。すぐ下の [ADD NEW CHANNEL] をクリックします。チャネルに設定するプロパティを入力するダイアログが表示されます。

6. [Create a new Live Channel] ダイアログで、チャネル名を入力します (ここでは、「webcast」と入力します)。次に、使用する取り込みプロトコルを指定します。この例では RTMP を出力する Wirecast を使用するので、既定のままにします。下部の 3 つのチェックボックスのうち、[Start the new channel now] チェックボックスをオンのままにします。これにより、後でチャネルを開始する手間が省けます。現時点で "既定" のストリーミング エンドポイントにストリーミング ユニットがプロビジョニングされていない場合、次の [Add one streaming unit] というチェックボックスは既定でオンになっています。その場合、オンのままにします。プロビジョニングが自動的に実行され、この後の手間を省くことができます。最後の [Restrict video ingest to my computer’s current IP address] というチェックボックスがオンの場合、IP アクセス制御リスト (ACL) がチャネルに適用され、お使いのコンピューターからの入力のみ受け入れるよう制限されます。このチェックボックスはオフにしてください。以下は、これらの設定をすべて完了したダイアログのスクリーンショットです。

7. [Create a new Live Channel] ダイアログの右下隅のチェックマーク ボタンをクリックすると、新規チャネルが作成されて開始されると共に、新規ストリーミング ユニットが "既定" のストリーミング エンドポイントに追加されます。画面下部のステータス バーに、チャネルが作成されて開始されたことが示されます。これらの手順が完了するまでに数分間かかります。完了してから次の手順に進んでください。

エンコーダーの構成と起動

Cenk Dingiloglu がエンコーダーの構成について別ブログで説明しています。詳細は次のURLより参照してください。http://azure.microsoft.com/blog/2014/09/18/azure-media-services-rtmp-support-and-live-encoders/

Media Services に必要なインフラストラクチャの準備ができたので、次に Wirecast をセットアップし、チャネルでストリームの配信を開始します。Telestream は現在、必要な手順を減らすために Azure Media Services 用の "配信先" の設定に関して最終作業を行っているところです。しかし、これはまだ提供されていないので、手動による手順すべてをひととおり説明します。時間を短縮するために、必要な設定情報のほとんどを Wirecast の "サンプル" としてドキュメント化しました。このサンプルの作成手順の詳細は省略します。後日、エンコーダーに関する詳細な記事が Cenk Dingiloglu から別途投稿される予定です。

1. サンプルを http://jasonsueblog.blob.core.windows.net/wirecastdocument/WirecastDocument.wcst からダウンロードします。

2. Wirecast を開き、ダウンロードしたサンプルを開きます。以下のように、サンプルに記載されているメディアが Wirecast で認識できないことを示すエラーが表示されます。かまわずに、[Cancel] をクリックします。このエラーは、お使いのカメラ デバイスが、私がセットアップに使用したものと異なるため表示されます。これには次のステップで対応します。

3. Wirecast の UI でカメラ ソースを追加します。UI の下部に 3 行のソースがあります。1 行目の "+" にマウス ポインターを合わせ、カメラ アイコンをクリックします。現在お使いの PC に接続されているカメラのリストが表示されたら、ここで使用するものを選択します。選択すると、その行に新規ソースが表示され、カメラからのライブ フィードが表示されます。

4. Wirecast の [Output] メニューをクリックし、[Output Settings...] を選択します。私が作成したサンプルに沿って操作しているので、次のようなダイアログが表示されます。ストリームを 400、600、900 Kbps の 3 つの品質レベルでエンコードするように設定されています。400 Kbps の品質レベルでは、H.264 ベースライン プロファイルを使用してエンコードすることで、古い Android デバイスをサポートします。600 および 900 Kbps の品質レベルでは、より高い品質を提供するメイン プロファイルを使用します。この時点で未入力なのは、ストリームをプッシュする配信先の "アドレス" のみです。これは次のステップで入力します。

5. Azure 管理ポータルに戻り、チャネル リストの中から使用するチャネルを見つけます。[INGEST URL] 列にマウス ポインターを合わせ、右側のコピー アイコンをクリックします。これで、このチャネルの取り込み URL がクリップボードにコピーされます。

6. Wirecast の [Output Settings] ダイアログに戻り、取り込み URL を [Address] テキスト ボックスに貼り付けます。エンコードする 3 つの品質レベルすべてに対し、この手順を繰り返します。つまり、ダイアログの左側にある [RTMP Flash Server] の各項目をクリックし、それぞれアドレスを設定します。

7. [Output Settings] ダイアログで [OK] ボタンをクリックします。

8. ステップ 3 で作成したカメラ ソースをクリックします。これで映像が UI の [Preview] セクションに表示されます。

9. 次に、[—>] ボタンをクリックして [Preview] の映像を [Live] に表示し、UI の上部の 2 つの場所にカメラ ソースが表示されるようにします。

10. これで、Wirecast の構成はすべて完了です。Wirecast の UI の左上隅にある [Stream] ボタンをクリックすれば、Azure Media Services チャネルへのストリームの配信を開始できます。正常に動作すると、配信中であることを示す赤いドットがボタンに表示されます。

11. ストリームが正常に受信されているかどうかをチェックするには、チャネルのプレビュー公開ポイントから表示して、受信内容を直接確認します。Azure 管理ポータルに戻り、下部のコマンド バーで [PLAY] をクリックします。サブコマンド リストが表示されたら、[Play Preview URL] をクリックします。ポータル内でビデオ プレーヤーが開き、チャネルのプレビュー URL に接続されます。

メモ: なんらかの理由でエンコーダーを停止した後、再開する必要がある場合、まず Azure 管理ポータルで [RESET] コマンドをクリックしてチャネルをリセットしてください

イベントの開始とストリームの再生

ストリームがチャネルに配信されるようになったので、イベントの開始に移ります。アセット、プログラム、およびストリーミング ロケーターを作成し、ストリーミングをアーカイブし、それをストリーミング エンドポイントから視聴者に公開しましょう。これらすべてを 1 つのステップで実行するショートカットがポータルにあります。

プログラムの作成と開始

1. Azure 管理ポータルの [CHANNELS] セクションに戻ります (まだ戻っていない場合)。アカウントに複数のチャネルがある場合、先ほどセットアップしたチャネルが選択されている (青で強調表示されている) ことを確認します。ページ下部のコマンド バーで [START STREAMING] をクリックし、確認画面が表示されたら [YES] をクリックします。コマンドが完了すると、[PUBLISH URL] 列に URL が表示されます。この URL を使用して、ストリーミング エンドポイントからストリームを取得できます。

ライブ ストリームの再生

ライブ ストリームがアセットに格納されるようになり、それがストリーミング エンドポイントから取得され、現在サポートされているすべてのプロトコル (MPEG-DASH、HLS バージョン 3、HLS バージョン 4、HDS、および Smooth Streaming) に動的にパッケージングされます。これらの機能により、Flash コントロールで Smooth を使用するデスクトップ ブラウザー、また HLS バージョン 3 を使用する iOS および Android デバイスでのストリーム再生が可能になります。

1. Azure 管理ポータルで、使用するチャネルの [PUBLISH URL] にマウス ポインターを合わせ、コピー アイコンをクリックすると、URL がクリップボードにコピーされます。

2. この発行 URL を任意のテキスト エディターに貼り付けます。これは Smooth Streaming の URL で、「http://<アカウント名>.origin.mediaservices.windows.net/<ロケーターの GUID>/<ストリームの GUID>.ism/manifest」のようになっています。この URL をもう一度貼り付け、URL の最後に「(format=mpd-time-csf)」を付け加えます。これにより、ストリーミング エンドポイントに対して、ストリームを MPEG-DASH 用にパッケージングするよう指定できます。URL をさらにもう一度貼り付け、今度は「(format=m3u8-aapl-v3)」を付け加えます。これで、ストリーミング エンドポイントに対して、ストリームを HLS バージョン 3 用にパッケージングするよう指定できます。

3. Windows PC または Mac (最新の Internet Explorer や Chrome など、Media Source Extensions をサポートするブラウザーが必要) で、http://dashplayer.azurewebsites.net (英語) にアクセスします。これは、ストリームのテスト用に私が構築したサンプルの DASH.js video プレーヤーです。MPEG-DASH 用の URL を上部のテキスト ボックスに貼り付け、[Load] をクリックします。Android デバイスおよび Windows Phone でも、同様に操作します。

メモ: サンプルの DASH プレーヤーは、DASH 用の URL を URL のクエリ パラメーターとしても受け取れます。つまり、次のような URL を構築して、各デバイスに配信することが可能です。http://dashplayer.azurewebsites.net/?URL=http://<アカウント名>.origin.mediaservices.windows.net/../...sm/manifest(format=mpd-time-csf)

4. iOS デバイスの場合は Safari を開き、アドレス バーに HLS バージョン 3 用の URL を入力します。アドレス バーにこれを入力することで、ネイティブ プレーヤーでストリームをすばやく再生できます。また、ソースを HLS 用の URL に設定したビデオ タグを含む HTML5 ページを作成したり、同様のネイティブ アプリケーションを構築したりすることもできます。

イベントの停止

イベントを終了するには、プログラムを停止し、アセットへのストリームのプッシュを停止する必要があります。これは簡単なワン ステップの操作です。

1. Azure 管理ポータルに戻ってチャネルを選択し、下部のコマンド バーで [STOP STREAMING] コマンドをクリックして、表示される確認画面で [YES] をクリックします。これで、そのチャネルで実行していたプログラムが停止され、削除されます。

ライブ サービスには、ライブからオンデマンドにアセットをシームレスかつ瞬時に移行できるという大きな特長があります。この時点でビデオ プレーヤーに戻り、ストリームを再生すると、ストリームの URL は変わりませんが、ライブではなくオンデマンドで配信されます。

クリーンアップ

別のイベントを実行する場合、実行中のイベントはそのままでかまいません。先ほどと同じように、チャネルで新規プログラムを開始するだけです。しかし、終了する場合は、準備したインフラストラクチャの一部または全部を破棄します。

1. まずエンコーダーでは、Wirecast の [Stream] ボタンをクリックしてストリームのプッシュを停止した後、アプリケーションを閉じます。

2. これで、チャネルも停止できます。Azure 管理ポータルでもう一度チャネルを選択し (まだ選択していない場合)、下部のコマンド バーで [STOP CHANNEL] コマンドをクリックします。処理が完了すると、チャネルの状態が "Stopped" になり、リソースを消費しなくなります。チャネルをずっとこの状態にしておけば、料金はかかりません。再度使用する場合は、[START CHANNEL] コマンドをクリックすれば、同じ取り込み URL で再開されます。エンコーダーの再構成は不要です。

3. 最後に、ストリーミング エンドポイントを処理します。ライブ イベントのアーカイブをオンデマンド ストリームとして提供し続ける場合、ストリーム エンドポイントをそのままにしておく必要があります。ストリーミングを終了する場合は、管理ポータルの [STREAMING ENDPOINTS] タブに移動し、ストリーミング エンドポイント (通常は "既定") を選択して、下部のコマンド バーで [STOP] コマンドをクリックします。

まとめと次回の更新について

このブログ記事では、コードを使用せずに Azure 管理ポータルから、ライブ イベントのセットアップ、実行、破棄 (必要な場合) を行う手順を説明しました。近日に投稿する記事で、マイクロソフトがテスト済みの RTMP エンコーダーのリストとそのセットアップ方法のほか、SDK を使用してライブ イベントをセットアップおよび実行する方法、ライブ ストリームへのコンテンツ セキュリティの適用、リニア ストリームの実行について取り上げる予定です。

SQL 2014 & Power BI Training

MSDN Blogs - Mon, 09/29/2014 - 20:26

With the commercial availability of SQL Server 2014 a new set of technologies is landing that can transform your data platform and business intelligence projects. Technologies such as in-memory OLTP, updateable column store, resource governor, Power BI on O365 and Azure are a leap forward in enabling data insights and mission critical scenarios.

COURSE OVERVIEW
To help you build your expertise on these technologies we are delivering a Level 300 three day course for data platform and business intelligence technology partners. You will leave this training with news skills to implement the latest features of the expanding product set. The 3 days cover the following technologies:

  • Microsoft SQL Server 2014
  • Power BI
  • Windows Azure

What Will You Learn?
This 3-day, instructor-led course will help students understand how to put the latest technologies to work with hands-on labs as well as instructor lead materials including:

  • SQL 2014 in-memory OLTP (overview, management & development)
  • Always-On enhancements
  • Resource governor and other mission critical enhancements
  • Azure scenarios such as backup to cloud, SQL in IaaS, HA on for SQL 2014 on Azure
  • Updateable column store
  • Power BI including Power Query and Pivot as well as the Data Management Gateway and Administration

WHO SHOULD ATTEND?
This course is targeted at technologists with data platform and business intelligence expertise as well as Pre-sales Engineers who are interested in updating and expanding their skills. Familiarity with SQL Server is required as this is not an introductory course. Some familiarity with Windows Azure will aid the attendee.

PRE-REQUISITES:

  • Please bring your laptop to the training.
  • You will access the internet via LAN connection.
  • Please bring adapters if applicable (e.g. Ethernet, Mini Display to VGA, power Adapter)

COST: $499 per Person

COURSE LEVEL: 300 (Technical)

DATES & LOCATIONS:

Location: Saxons Melbourne

Date: 5 – 7 November
Time: 9:00 – 17:00

Location: Saxons Perth

Date: 24 – 26 November
Time: 9:00 – 17:00

Location: Microsoft North Ryde

Date: 8 – 10 February
Time: 9:00 – 17:00

Location: Saxons Brisbane

Date: 23 – 26 February
Time: 9:00 – 17:00

REGISTER NOW!

For the best training experience, please come with your Windows Azure account. We will demonstrate the latest features for Virtual Machines, HDInsight (Hadoop on Azure) and PowerShell for Azure. Also, feel free to explore Power BI prior to attendance to get more from the deep technical view we'll be providing by going to http://www.powerbi.com

Questions: If you have any questions, please send an email to msaupr@microsoft.com

REGISTER NOW!

Did you know?

The Partner Learning Centre (PLC) is the central training database where learners can register for classroom training, online training and consume on-demand training. To get access to the PLC, partner individuals will need to log-in using an associated windows live id that has been associated to a Partner Organisation.

The Simplified Association Process tool provides a quick and efficient way for individuals to update their current Windows Live ID or connect it to their company's Microsoft Partner Network profile.

If you have any questions, or issues registering, email ausplcpr@microsoft.com or call 1300 305 448 to talk to one of our team members.

Azure Media Indexer の紹介

MSDN Blogs - Mon, 09/29/2014 - 19:50

このポストは、9 月 10 日に投稿された Introducing Azure Media Indexer の翻訳です。

はじめに

インターネット ビデオの利用は驚くべき速度で成長しています。Cisco VNI Forecast の調査によると、2014 年には消費者によるすべてのインターネット トラフィックの 70% をビデオ コンテンツが占め、2018 年までに 79% に伸びると予測されています。ビデオ コンテンツは既に世界中でインターネット トラフィックの大半を占め、World Wide Web を席巻しています。この成長に伴い、コンテンツ検索の問題が生じています。

インターネットはテキストベースの文書を中心として誕生したため、Web 全体でテキストを検索して見つけるためのインフラストラクチャは成熟しています。一方、ビデオ ファイルは本質的に "検索不可能" なものであり、一般的には手動でタグ付けされた膨大なメタデータを中心とした複雑な分類システムが必要です。それでは、もし意味のあるメタデータを自動的に抽出する方法があったらどうでしょうか。Azure Media Indexer は、Microsoft Research の自然言語処理 (NLP) テクノロジを活用してメディア ファイルやコンテンツを検索可能にするメディア プロセッサです。キーワード ファイル (XML)、字幕ファイル一式 (SAMI/TTML)、強力なバイナリ インデックス ファイル (AIB) の形態で、意味のあるメタデータをエンド ユーザーに自動的に公開します。

マルチメディアの成長と共に、聴覚に障害のあるユーザーに対するビデオ コンテンツの使いやすさに注目が集まっています。現状では、字幕トラックを作成するには高いコストをかけてすべてのビデオの文字起こしを手動で行う必要があります。Azure Media Indexer では、音声認識エンジンにより、入力メディア ファイルの英語音声に対応する字幕トラック (時間整合済み) が自動的に作成されます。従来は多くの工数がかかっていた骨の折れる手動プロセスを、自動ジョブにすることができるのです。

開発者は Azure Media Indexer の出力ファイルと、SQL Server、Apache Lucene/Solr などの検索エンジンを組み合わせて利用し、全文検索を実現できます。ユーザーはテキスト クエリでコンテンツ ライブラリを簡単に検索でき、結果ページには単語が出現するタイムスタンプが付いています。このように、メタデータとビデオを高度に統合することで、膨大なコンテンツ ライブラリから適切な検索結果が得られるようになります。この検索レイヤーの実装については、この記事では取り上げません。Azure Media Indexer を使用してメディア ファイルの検索ポータルを作成する方法については、Azure ブログに今後投稿される記事をご覧ください。

アセットのインデックス作成

Azure Media Indexer では、ローカル ファイル システムまたはパブリック インターネットのさまざまなファイル タイプに対してインデックス作成ジョブを実行できます。初めて実践してみる Azure Media Indexer ジョブとして、ローカル ディスクのファイルを Azure Media Services にアップロードし、Azure のクラウド環境で処理してみましょう。このチュートリアルでは、サンプルとして Channel 9 のビデオ (英語) を使用します。MP4 ファイルをご自身のコンピューターに保存し、名前を Index.mp4 に変更します。このチュートリアルでは、対象のビデオ ファイルが "C:\Users\<<ユーザー名>>\Videos\Index.mp4" にあるものとします。

完成済みのサンプル プロジェクトは、こちらからダウンロードできます。

メモ: このチュートリアルでは、ユーザーが Azure Media Services アカウントを既にお持ちであることを前提としています。

プロジェクトの設定

まず、Visual Studio 2013 で新しい C# コンソール アプリケーション プロジェクトを作成します ([File] > [New] > [Project]、または Ctrl + Shift + N)。

次に、NuGet を使用して Azure Media Services SDK をインストールします。それには、ソリューション エクスプローラーでプロジェクトの References フォルダーを右クリックし、[Manage NuGet Packages] をクリックします。検索ボックスに「media services」と入力し、[Windows Azure Media Services .NET SDK] をインストールします。

最後に App.config ファイルを開き、次のように appSettings セクションを追加します。Azure Media Services の資格情報の適切なキーと値の組み合わせを入力してください。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>

  <!-- 以下を設定します -->-->
  <appSettings>
    <add key="accountName" value="<<YOUR_ACCT_NAME>>"/>
    <add key="accountKey" value="<<YOUR_ACCT_KEY>>"/>
  </appSettings>
  <!-- <<YOUR_ACCT_NAME>> および <<YOUR_ACCT_KEY>> を置き換えてください -->

</configuration> アセットの作成

アセットとは、Azure Media Services のメディア ファイルを格納するコンテナーです。アセットには、メディア ファイルそのものと、ストリーミング用のマニフェスト ファイルやプレビュー用のサムネイル ファイルなどの他の必要なファイルが含まれています。このサンプルでは、.NET SDK を使用してビデオ ファイルを保持するアセット ファイルを作成します。アセットのアップロードは Azure 管理ポータルでも可能です。メディアを処理するジョブで、入力アセットを取得し、指定した出力アセットに結果を保存します。

まず依存関係をインポートし、Program.cs で使用する定数を宣言します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Microsoft.WindowsAzure.MediaServices.Client;
using System.Configuration;
using System.IO;
using System.Threading;

namespace MyFirstIndexingJob
{
    class Program
    {

        private static CloudMediaContext _context = null;
        private const string _mediaProcessorName = "Azure Media Indexer";
        private const string _configurationFile = "<<PLACEHOLDER>>";
        private static readonly string _accountName =
            ConfigurationManager.AppSettings["accountName"];
        private static readonly string _accountKey =
            ConfigurationManager.AppSettings["accountKey"];

Media Services クラウド環境へプログラムで接続を確立するには、CloudMediaContext オブジェクトをインスタンス化する必要があります。ファイルをアップロードするには、新規アセットを作成した後、ファイルをアセット内に AssetFile としてアップロードします。まず、Main 関数に以下の行を追加し、ビデオを探す場所と出力ファイルの場所を指定します。

メモ: このサンプル プロジェクトと同じパスを使用する場合、<<USERNAME>> をローカルの Windows ユーザー名に置き換えてください。

static void Main(string[] args)
{
    _context = new CloudMediaContext(_accountName, _accountKey);
    var inputFile = @“C:\Users\<<USERNAME>>\Videos\Index.mp4”;
    var outputFolder = @“C:\Users\<<USERNAME>>\Desktop”;
    RunIndexingJob(inputFile, outputFolder, _configurationFile);
}

次に、RunIndexingJob 関数に以下の数行を追加します。

static bool RunIndexingJob(string inputFilePath, string outputFolder, string configurationFile = “”)
{
    IAsset asset = _context.Assets.Create(“Indexer_Asset”, AssetCreationOptions.None);    
    var assetFile = asset.AssetFiles.Create(Path.GetFileName(inputFilePath));
    assetFile.Upload(inputFilePath);
} インデックス作成ジョブの送信

ファイルを Azure Media Services のアセットとして作成したら、Azure Content Indexer メディア プロセッサへの参照を取得し、ジョブそのものを作成します。Media Services のジョブは、処理操作の詳細 (エンコーディング、パッケージ化など) を指定する 1 つ以上のタスクで構成されます。

オプションで、タスクそのものの詳細を指定するタスク構成ファイルを追加できます。このサンプルでは、後述する有用なメタデータを含むオプションの構成ファイル "default.config" を使用して、新規アセットでのインデックス作成タスクを作成します。

タスク構成

Azure Content Indexer のタスク構成ファイルは、音声認識の精度を高めるキーと値の組み合わせを含む XML ファイルです。Azure Media Indexer の今回のリリースでは、構成の詳細に入力メディア ファイルのタイトルと説明を記述できるため、適応型の自然言語処理エンジンによって特定の事項に基づいて語彙を簡単に補完できます。たとえば、Geico (ガイコ、米国の保険会社) に関するビデオがある場合、タスク構成ファイルにこの用語を含めておくと、固有名詞 "Geico" の代わりに "guy co" と書き起こされる可能性が低くなります。さらに、たとえばタイトルに "hypertension (高血圧)" という用語が含まれている場合、言語モデルをさらに補完する関連文書がインターネットで検索されます。これにより、"aortic aneurism (大動脈動脈瘤)" という言葉が "A or tick canner is um" のように意味不明な言葉で誤って解釈される可能性が低くなり、出力ファイルの精度が大きく向上します。

メモ: 最適な結果を得るには、title と description のキーに関連付けた 4 ~ 5 つの文を使用してください。

[Project] を右クリックして [Add] > [New Item] をクリックし、XML ファイルを選択して、新規構成ファイルを作成します。新しいファイルに以下のテキストを貼り付け、"default.config" として保存します。ここでは、精度を向上するために、Channel 9 の Web サイトの情報に基づき、オプションの "title" と "description" のキーを構成ファイルに追加します。

<?xml version="1.0" encoding="utf-8"?>
<configuration version="2.0">
  <input>
    <!-- [オプション] 入力メディア ファイルのメタデータ -->
    <!-- 形式: <メタデータ キー="..." 値="..." /> -->
    <metadata key="title" value="Integrative Mom and Windows Phone App Studio" />
    <metadata key="description" value="Holly Shore discusses her experience building her own app for Integrative Mom using Windows Phone App Studio, a free, web-based app builder that can help many small business owners like Holly get up and running quickly to extend their reach with a Windows Phone app." />
  </input>  
  <settings>
  </settings>  
</configuration>

Program.cs ファイルの上部に戻り、_configurationFile の文字列 "<<PLACEHOLDER>>" を新しい default.config ファイルのパスに変更します。

ヒント: ファイルをエディターにドラッグ アンド ドロップすると、ソリューション エクスプローラーからファイルの絶対パスを簡単に貼り付けることができます。

ジョブの作成

構成ファイルの準備ができたら、RunIndexingJob メソッドでジョブとそのコンポーネント タスクの作成に取りかかります。

    IMediaProcessor indexer = GetLatestMediaProcessorByName(_mediaProcessorName);
    IJob job = _context.Jobs.Create("My Indexing Job");
    string configuration = "";
    if (!String.IsNullOrEmpty(configurationFile))
    {
        configuration = File.ReadAllText(configurationFile);
    }
    ITask task = job.Tasks.AddNew("Indexing task",
                      indexer,
                      configuration,
                      TaskOptions.None);

    // インデックスを作成する入力アセットを指定する
    task.InputAssets.Add(asset);

    // ジョブの結果を格納する出力アセットを追加する
    task.OutputAssets.AddNew("Indexed video", AssetCreationOptions.None);

次に、ファイル下部に、指定するメディア プロセッサの最新バージョンを取得するために役立つヘルパー メソッドを定義します。

private static IMediaProcessor GetLatestMediaProcessorByName(string mediaProcessorName)
{
    var processor = _context.MediaProcessors
                .Where(p => p.Name == mediaProcessorName)
                .ToList()
                .OrderBy(p => new Version(p.Version))
                .LastOrDefault();

    if (processor == null)
        throw new ArgumentException(string.Format("Unknown media processor", mediaProcessorName));

    return processor;
}

これで、このジョブの送信準備がほぼ整いました。進行状況をリアルタイムで追跡できるように、EventHandler のインスタンスをジョブに付け加えておくと便利です。

job.StateChanged += new EventHandler<JobStateChangedEventArgs>(StateChanged);
    job.Submit();
    // ジョブの実行をチェックし、ジョブの完了を待つ
    Task progressPrintTask = new Task(() =>
    {
        IJob jobQuery = null;
        do
        {
            var progressContext = new CloudMediaContext(_accountName,
                            _accountKey);
            jobQuery = progressContext.Jobs.Where(j => j.Id == job.Id).First();
            Console.WriteLine(string.Format("{0}\t{1}\t{2}",
                  DateTime.Now,
                  jobQuery.State,
                  jobQuery.Tasks[0].Progress));
            Thread.Sleep(10000);
        }
        while (jobQuery.State != JobState.Finished &&
               jobQuery.State != JobState.Error &&
               jobQuery.State != JobState.Canceled);
     });
     progressPrintTask.Start();

    // ジョブの実行をチェックし、ジョブの完了を待つ
    Task progressJobTask = job.GetExecutionProgressTask(CancellationToken.None);
    progressJobTask.Wait();

    // ジョブの状態がエラーである場合、
    // ジョブ進行状況のイベント処理メソッドにエラーが記録される
    // ここでエラー状態の有無をチェックし、必要な場合は終了する
    if (job.State == JobState.Error)
    {
        Console.WriteLine("Exiting method due to job error.");
        return false;
    }

    // ジョブによる出力をダウンロードする
    DownloadAsset(task.OutputAssets.First(), outputFolder);

    return true;
}

    // ヘルパー関数: ジョブの状態のイベント ハンドラー
static void StateChanged(object sender, JobStateChangedEventArgs e)
{
    Console.WriteLine("Job state changed event:");
    Console.WriteLine("  Previous state: " + e.PreviousState);
    Console.WriteLine("  Current state: " + e.CurrentState);
    switch (e.CurrentState)
    {
        case JobState.Finished:
            Console.WriteLine();
            Console.WriteLine("Job finished. Please wait for local tasks/downloads");
            break;
        case JobState.Canceling:
        case JobState.Queued:
        case JobState.Scheduled:
        case JobState.Processing:
            Console.WriteLine("Please wait...\n");
            break;
        case JobState.Canceled:
            Console.WriteLine("Job is canceled.\n");
            break;
        case JobState.Error:
            Console.WriteLine("Job failed.\n");
            break;
        default:
            break;
    }
}

// 出力アセットをダウンロードするためのヘルパー メソッド
static void DownloadAsset(IAsset asset, string outputDirectory)
{
    foreach (IAssetFile file in asset.AssetFiles)
    {
        file.Download(Path.Combine(outputDirectory, file.Name));
    }
} 出力

インデックスを作成するファイルごとに 4 つの出力があります。

  1. 字幕ファイル (SAMI 形式)
  2. 字幕ファイル (TTML: Timed Text Markup Language 形式)
  3. キーワード ファイル (XML)
  4. SQL サーバーで使用するためのオーディオ インデックス処理 BLOB ファイル (AIB)

この記事で紹介するサンプルでは、これらすべてのファイルをローカル フォルダーにダウンロードします。個々の出力の具体的な使用方法は、今後のブログ記事で取り上げる予定です。簡単に言うと、SAMI および TTML ファイルには、ビデオの音声のテキストとそのタイムスタンプに関する構造化データが含まれており、ビデオの字幕のドラフトとして使用できます。キーワード ファイルには、アルゴリズムによって決定された入力ビデオ内のキーワードとその信頼度が格納されます。AIB ファイルには、SAMI および TTML ファイルと同じデータのバイナリ データ構造と、文字起こしの信頼度が 100% ではない単語の幅広い候補が含まれています。これにより、検索機能を充実させることができるほか、出力ファイルの精度を大幅に高めることが可能になります。

AIB ファイルを使用するには、Azure Media Indexer SQL Add-on を含む SQL Server インスタンスが必要です。

その他の情報
  • このブログ記事では、Azure Media Indexer の概要を紹介することを目的としているため、すべての活用シナリオを網羅しているわけではありません。たとえば Azure Media Indexer を使用して、マニフェスト ファイルを含むジョブを送信して複数のファイルのインデックスを作成できるようにしたり、パブリック インターネットのリモート URL からファイルのインデックスを作成したりすることもできます。
  • Media Indexer は、速度よりも精度を最適化するシナリオで有効です (入力時間が約 3 倍になります)。ほぼリアルタイムの結果を必要とするシナリオにはあまり適していません。
  • 完成済みのサンプル プロジェクトは、こちらからダウンロードできます。

Developing education solutions in Office 365

MSDN Blogs - Mon, 09/29/2014 - 19:32

With so many education customers using Office 365 globally (now in the tens of millions of education uses), there's continuing interest by developers in creating services for customers, running on top of Office. This could mean developing an app for Word, Excel, PowerPoint; or could be developing a system that uses the Office 365 cloud service to deliver an integrated solution.

The team responsible for this at Microsoft are very busy releasing new information and features for developers. You can read about these in the constant updates from the Developer stream on the Office Blogs. And to help a little more, here’s some of the key bits of news that I’ve noticed recently:

On Demand Training for Office 365 developers 
I’m a big fan of the Microsoft Virtual Academy, as it contains some excellent technical training that is free and available at any time to technical users and developers. There’s a new course, Introduction to Office 365 Development available, which contains modules on developing Apps for Office and Apps for SharePoint, and a session on the Office 365 APIs that are available for developers to use to more closely integrate to Office across different devices.

Office 365 APIs Starter Projects for Windows
There’s a series of samples that the team have created which allows developers to quickly spin up projects that interact with Office 365 using the standard APIs. It lets you do things like create, read, update and delete events in a user’s calendar (so you could add an assignment reminder function to an LMS, to automatically put the assignment into the student’s calendar, and that will then show up on their PC/phone etc). Similar samples allow you to create, read, update and delete files on their SharePoint site

Office 365 Developer Podcast
If you want to keep up to date with less reading, then there’s the Office 365 Developer Podcast, where Jeremy Thake talks with people involved with developing Office 365 apps – both within and outside of Microsoft.

The Office Dev Centre has also been completely updated, with easier access to resources, recordings of events and code samples.

ファイル転送ができない(フィルター編)

MSDN Blogs - Mon, 09/29/2014 - 19:17

こんばんは、 Lync サポートの吉野です。
本日は、 Lync 2010/2013 のファイル転送についてお話しさせていただきます。
通信の障害によりタイムアウトしてしまう等の話もあるのですがそれは通信編に回します。
今回はファイルフィルターについてです。「特定の拡張子のファイルが転送できない」等の場合にご参考ください。

まずは Lync Server 2010 のコントロールパネルを起動します。

[IM およびプレゼンス] の [ファイルフィルター] で設定できます。今回は Global ポリシーを直接変更します。
編集を選択すると以下のような画面になります。

さらに選択を押します。

ドキュメントを展開するとおなじみの形式がいくつか表示されます。とりあえず .doc ファイルにチェックを入れます。

すると送れなくなります。

さて、ここからが本題です。逆に社内のポリシーを緩くしようと思います。
EXE ファイルの転送を許可します。

しかし、転送できません。

 

これは何故かというと、 Lync の制限ではなく OS の制限となります。

グループポリシーでこの制限を緩和することで転送が可能になります。(もちろん、非推奨です)
グループポリシーを以下のように編集します。

1.  [ユーザーの構成] – [ポリシー] – [管理者テンプレート] – [Windows コンポーネント] – [添付ファイル マネージャー] を開きます。
2.  [危険度の低いファイルの種類の一覧] をダブルクリックします。
3.  [有効] をクリックし、[オプション] – [危険度の低い拡張子を指定してください。] に .exe を入力し、[ OK ] をクリックします。


すると転送できるようになります。

 

ここまでは Lync 2010 の話です。 Lync 2013 (更新プログラム適用済み)ですと以下のようにエラーとなります。

これはセキュリティ上の理由により、実行可能ファイルの転送はクライアント側でブロックするよう動作が変更になったためです。この動作を変更する方法は提供されておりません。

安全な設定で快適な Lync 転送ライフを満喫ください。

 

 

 

 

 

Excel to Power Pivot: Cross the Gap workshop

MSDN Blogs - Mon, 09/29/2014 - 18:49

Many Microsoft Excel users are either oblivious to the new Power BI toolset (Power Pivot, Power Query, Power View, Power Map and perhaps new Power* tools coming soon :-))...
...or they are only vaguely aware.

This is a travesty, since most Excel users will increase their powers exponentially by using this toolset. The Power BI toolset represents not an evolutionary next step, but a revolutionary leap for Excel.
And I can say that because I have experienced that first hand on my Team > Organizational BI (Beginner to Expert)" href="http://www.youtube.com/watch?v=7i1A__A2dkc">Power Pivot journey! Not content to sit on the sidelines, I want to take this show on the road and speak to any Excel user who would lend me an ear.

The best way to learn is to "learn by doing". I am organizing a series of Workshops which would help users cross over to the promised land of Power Pivot BI nirvana. The next scheduled class is full, but you can add yourself to the waitlist to get first dibs on the next class.
This idea was born at the recent Microsoft //hackathon. I also blogged about it at Power Pivot: a revolution in slow motion.

Excel to Power Pivot: Cross the Gap workshop

 

 

Pages

Subscribe to Randy Riness @ SPSCC aggregator
Drupal 7 Appliance - Powered by TurnKey Linux