如何将一个媒体服务的点播视频迁移到另一个订阅

媒体服务是个很方便的管理点播、直播视频的服务,当用户的媒体服务账号已经管理众多资产,而当前订阅需要做变化,这时就需要迁移已经编码、发布过的资产到另一订阅。本文描述如何将媒体服务账号下的点播资产从一个订阅迁移到另外一个订阅。          1. 点击如下连接安装Azure Media Services Explorer https://aka.ms/amse 2. 配置媒体服务的源和目的账号,针对于Azure中国数据中心Endpoint设置请参考如下文档 http://blogs.msdn.com/b/cciccat/archive/2015/02/26/azure-china-media-service-restapi-endpoint.aspx 本文配置的两个账号如下:ambertest1为订阅1下媒体服务源账号,ambertest2为订阅2下的媒体服务目标账号。 3.选中需要迁移的资产后,点击Asset->选择 Copy/merge asset(s) to a new asset 4.选择迁移的目标媒体服务账号,在此处,已经创建了名为ambertest2的媒体服务账号 5.点击Copy Asset后,便开始同步两个账号下的资产,当成功后,会输出如下的信息: [1/5/2016 1:54:42 PM] Transfer ‘Copy asset ‘Azure Machine Learning Step3-H264_Adaptive_Bitrate_MP4_Set_1080p-Output’ to account ‘ambertest2”: started [1/5/2016 1:54:43 PM] Starting the asset copy process. [1/5/2016 1:54:51 PM] File ‘994900fa-1700-80c4-5e17-f1e5b36edf9d_metadata.xml’ copied. [1/5/2016 1:54:53 PM] File ’03-3 Signing…


Azure PowerShell 1.0.0以上版本在中国Azure使用的注意事项

 随着Azure PowerShell 1.0.0+的推出,越来越多的客户开始使用新的版本的Azure PowerShell。此版本的PowerShell最大的改变在于将原先的Switch-AzureMode的指令移除,将原本在其下的指令改以加上Rm的方式存在,如Get-AzureResource改为Get-AzureRmResource。如此一来,在使用之前就不需要先做AzureMode的切换。因此,PowerShell 1.0.0的改变主要影响的是使用Azure资源管理器 (Azure Resource Manager,以下简称ARM)的用户,对于使用Azure服务管理器(Azure Service Manager,以下简称ASM)的用户影响并不大。(关于两者差异可参考下列常见问题) 然而,由于此次版本的改变,许多用户在验证身份时发生了问题: 1. 如同以前版本使用Add-AzureAccount –Environment AzureChinaCloud输入中国Azure的身份。却发现在使用AzureRm相关指令时要求重新以Login-AzureRmAccount输入身份。 2. 当输入Login-AzureRmAccount –Environment AzureChinaCloud时,出现错误。 这是因为此次改版之后将ASR和ARM两者的身份信息及环境参数分开因此需要分别输入并需要对环境参数进行额外操作。   在解决这个错误之前,需要先确认当前Azure PowerShell的版本。 可在控制台中查找相关信息或在PowerShell中执行 Get-Module -ListAvailable | Where-Object { $_.name -like “*Azure*” } 这边需要特别确认AzureRM.Profile的版本,我这边的版本是1.0.1。 首先,建议所有的用户升级到Azure PowerShell 1.0.2以上版本,主要是因为在此版本中提供了相关修正。使用0.9.x版本的用户,也建议进行升级,主要是因为有些新的服务在新的版本下才能使用。(如Redis Cache Premium) 最新的Azure PowerShell安装文件下载地址请到这里查找: https://github.com/Azure/azure-powershell/releases   在此,我假设Azure PowerShell都升级到1.0.2以上版本了。(无法升级的1.0.0及1.0.1用户作法可参考常见问题) 接着,在PowerShell中输入下列指令 Login-AzureRmAccount –EnvironmentName AzureChinaCloud 在Azure PowerShell 1.0.2之后,加入了-EnvironmentName参数,使用该参数就能成功验证中国Azure的账户信息。 接着,就能正常的操作AzureRm相关指令   常见问题…


Azure Automation GA及常见的Runbook修改建议

翻译自:https://azure.microsoft.com/en-us/blog/using-azure-automation-in-azure-everywhere/ 日前Azure Automation正式在中国的Azure上GA了,代表21世纪互联的用户可以使用与全球Azure接轨的自动化服务。相信各位用户也很好奇,究竟在中国Azure使用上有什么不同之处及需要注意的地方,这就是本篇文章要探讨的重点。 首先,全球Azure支持Azure Service Management (portal) 及Azure Resource Manager (portal)两种模式,而在中国Azure目前只有Azure Service Management这种模式,这使得截至目前为止,有部份功能如PowerShell script runbooks 及 Azure Automation DSC在中国Azure还不能使用。 另外需要注意的地方在于全球Azure及中国Azure在许多节点的路径(URIs)上不尽相同,如管理终结点,存储终结点等。因此当许多针对全球设计的Runbook需要迁移时(包含你在网上搜寻到的Runbook或是Automation Gallery上的Runbook),需要特别注意是否使用到这些路径,这也是在一般情况下常见的错误发生原因。 在本篇文章中,将特别强调其中的差异及修正的方法,让你的Runbook能够顺利在全球Azure及中国Azure中使用。 路径(URIs)有什么差异? 下表中将全球Azure及中国Azure相同的服务对应到不同的路径(URIs)进行比较. Service 全球Azure 中国Azure                                      Management API management.core.windows.net management.core.chinacloudapi.cn Storage core.windows.net core.chinacloudapi.cn Active Directory login.windows.net login.chinacloudapi.cn Resource Manager API management.azure.com management.chinacloudapi.cn Gallery gallery.azure.com gallery.chinacloudapi.cn   如何对Azure Automation的Runbook进行修改以指向中国Azure 一般而言,在Azure Automation Runbook中如过需要连结到Azure的资源时,会使用Add-AzureAccount这项PowerShell命令向Azure进行验证及授权,以让PowerShell的操作阶段中,能够使用Azure的订阅。如果你同时拥有多个订阅,你可以使用Select-AzureSubscription这项PowerShell命令来选择你想操作的订阅。如果上述两项命令都成功了,就可以开始使用其他PowerShell命令来完成相关的工作。这个方法被称之为Azure Service Management,在全球Azure及中国Azure中都适用。 然而,当你从Automation…


导出HDInsight数据到MySQL(Azure)

在大数据计算中,经常会有一个场景:在Hadoop分布式存储DFS和关系型数据库(MySQL、Oracle、SQL Server)间导入(导出)数据。由于Azure HDInsight是基于公有云的托管式Hadoop,用户在执行数据转移时,与云上Hadoop相连的关系型数据库往往不是本地的数据库引擎,取而代之的是公有云提供的关系型数据库服务,如SQL Database和MySQL on Azure。针对如何使用HDInsight中的工具Sqoop导入(导出)数据到SQL Database,Azure官方文档给出了参考教程,本文具体实践如何使用Sqoop(HDInsight)导出数据到MySQL on Azure的场景。 关于HDInsight:https://azure.microsoft.com/en-us/documentation/articles/hdinsight-high-availability/,本实践中将会提交任务到HDInsight集群,集群中的Head Node分配任务到Worker Node,Worker Node具体实施数据的读取、处理和转移。   关于MySQL on Azure:http://www.windowsazure.cn/home/features/mysql/ 关于Sqoop: https://sqoop.apache.org/docs/1.4.4/SqoopUserGuide.html 关于HDInsight和Azure Storage:https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-use-blob-storage/,HDInsight中的数据以冗余的形式存储在Azure Storage中,HDInsight节点可以通过分布式存储路径(WASB)来读写目标数据。同时,用户也可以直接访问Azure Storage对应容器中的HDInsight数据文件。   注:本实践通过Azure PowerShell来实现,主要包括: 创建MySQL数据表,用于接收Sqoop导出的数据。 上传数据样本文件到HDInsight的存储(Azure Storage) 提交数据导出任务(Sqoop Job)到HDInsight集群 跟踪Sqoop任务执行情况并检查输出结果。   第一步:准备MySQL数据表 #MySQL variables = “mysqlservices-sha.chinacloudapp.cn” $MySQLLogin = “login1@jianwmysql”  #注意格式: 登录用户@MySQL服务器名 $MySQLPassword = “password” $MySQLExportedDBName = “testdb01” $tableName = “jtable3”   $confirmation= Read-Host…


Azure Batch 云的大计算服务 以Monte-Carlo实验为例

很多使用者在谈到云的时候,都会想到使用云来弥补自己数据中心的不足。有些客户会把自己的活动网站放在云上以应付短期而大量的需求,有些客户使用现成的PaaS服务(如HDInsight)以减少准备及维护的时间。 回想看看,平常工作中是否有下列特性的作业: 此项作业耗费大量时间 此项作业耗费大量处理器的资源 结果取决于运算的效率与品质 在这个时候,Azure Batch很大程度上能够帮助你最佳化运算的效率并且节省你的成本。想像你原本只有一台服务器每周需要花十个小时的时间完成运算取出结果(当然你需要负担一周的成本),现在你只需要十分钟就能运用60台服务器取出结果(你只需要负担大约10服务器/小时的成本,是原本的1/24)。 下面是一些Azure Batch的典型场景: 财务模型 影片与动画制作 基因工程 其他的软件工程运算 在本文中将会介绍Azure Batch的运作原理,并以财务模型为例,介绍如何开发应用在Azure Batch上及相关的注意事项。 首先,Azure Batch的基本原则是平行计算,也就是我把一件大事情拆分成许多小事情,分给不同的服务器去做,所有人完成了,再把结果集成起来。因此,一个重要的先决条件在于应用程序是否能够很好的进行任务拆分,而拆分的结果是否存在critical path(其中的某个任务需要执行特别长的时间),都会影响到最后的表现。 下图首先说明Azure Batch的运作流程:     首先需要上传所需的参考文件或来源文档(如.txt)。 接着上传执行用的应用程序(如.exe及.dll)。 Azure Batch会将这些数据放到资源池中的机器。 接着,Azure Batch将会根据收到的任务,分配给资源池中的机器。 过程中,Azure Batch或监控执行的状态决定是否分配新任务或结束工作。 当所有任务完成时,回传结果。 在此我将会演示一个使用Monte-Carlo的财务模型,如何透过Azure Batch改善其表现。 Monto-Carlo是一种模拟的方式,透过产生大量的乱数样本去对模型进行验证,最终产生一个预测或结果。理论上,越多样本的情况下,产生的预测越准确。在复杂的财务模型中,将耗费很长的时间。 本次验证的范例来自QLNET(https://github.com/amaggiulli/qlnet),一个基于.Net开发的财务模型库,而我基于其中的范例进行修改使其可运用Azure Batch所提供的运算资源。 本地运行结果如下,耗费了约8分钟的时间 检视其原始码,其中可发现一段基于Monto-Carlo的运算,占据大部分所耗费的时间:  这段程序主要做的事情在于透过Monte-Carlo将产生的327600个样本输入模型并进行处理得到最终的值。 这里我们的目的为在Azure Batch上产生20个Node(小型VM 1 core 1.7GB)帮助我们进行运算,拆分步骤如下: 将程序进行拆分:在这边简单的将原先需要的327600个样本透过20个node来产生,也就是每个node各产生16380个样本。 创建Azure Batch资源池: 首先,需要先定义所需要使用的参数(当然你必须在Azure上先创建好Azure Batch及Blob Storage) private const string BatchAccount…


在Windows Azure平台上运行PHP应用

PHP技术在互联网应用中非常流行,被广泛使用在网站应用、报表管理、脚本任务等场景。Windows Azure作为企业级公有云平台,不仅仅能无缝托管传统的微软开发技术(.Net),对于PHP、Java等业内通用的语言和技术也提供了极好的支持。本文就如何在Windows Azure平台上运行PHP应用总结出一些最佳实践和参考步骤。   一、 选择合适的Windows Azure服务来运行PHP应用 Windows Azure提供不同层次的公有云服务,主要包括IaaS(基础设施即服务:以虚拟机、虚拟网络为代表),PaaS(平台即服务:以网站应用、云服务、数据库为代表)和SaaS(软件即服务:以Office 365,Azure活动目录为代表),其中可以用作托管PHP应用的主要有三类服务: –  虚拟机:用户在Azure中创建虚拟机,自行部署PHP环境并发布PHP应用,实践过程和在本地发布PHP服务一致。 –  网站应用(Web App):Azure后端存在大量已实现好PHP环境的服务器,用户只需将PHP应用代码通过Git、FTP等工具上传到目标服务器即可。 –  云服务(Cloud Service):Azure平台根据用户的设置,实时创建和定制化(一个或多个)虚拟机,自动安装用户指定的PHP环境并加载用户的PHP应用代码,实现PHP网站服务或者后台处理应用。 关于这三种方案的不同点和相同点,可以参见:https://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/,总结下来,最突出的特点是: 方案类型 适用场景 优点 缺点 虚拟机 支持LAMP(另外两种场景下网站服务器都是IIS/Windows);PHP应用依赖于手动安装的组件或应用。 用户完全控制,和本地实践一样。   手动部署,效率较低。 网站应用 快速部署,用户不需要更改服务器机器环境,较少自定义配置PHP网站服务器(拓展),默认的PHP环境包(如PHP5.4)可以满足应用需求。 即时部署、迁移、更新,用户不关注服务器环境设置和后台维护。 用户不能访问后台服务器。 需要很多配置工作来使用自定义PHP运行环境或者深度修改后台网站服务器。   云服务 用户需要定制化的服务器环境或运行初始化任务。 平衡部署效率和服务器定制化;支持访问后台服务器;支持同时托管多个网站或应用。 部署效率不及网站应用,服务器可定制化程度不及虚拟机。   这三种方案的形象对比如下图:   二、 在Windows Azure平台上运行PHP应用   1. 本地开发PHP应用 这一部分同传统的PHP应用开发完全一致,若迁移本地已有的PHP应用到Azure,可以跳过这一部分内容。 l   安装PHP运行环境(Apache + PHP + MySQL 或者XAMPP),XAMPP…


用iPhone和Wirecast在Azure媒体服务上进行直播

本文详细介绍如何使用iPhone和Wirecast在Azure云端进行直播。   1. 首先,您需要在iPhone上安装”Wirecast Cam”。它是AppStore中的一个免费应用。https://itunes.apple.com/us/app/wirecast-cam/id922654616?mt=8 它将在直播中被用做摄像设备。 2. 在电脑上安装Wirecast 6.0以上版本。您可以在这里(http://www.telestream.net/wirecast/overview.htm)下载试用版,或者购买商业版本。如果您使用试用版,在直播的图像中会有”wirecast”字样的水印。 3. 在Azure云端,创建好“频道”。   准备工作已经就绪,下面我们开始配置直播环境。 1. 将iPhone和安装了Wirecast 6.0的电脑放在一个WIFI环境中。打开iPhone的Wirecast Cam, 点击“设置”,得到IP地址。 2. 在电脑的Wirecast上添加Video Source。点击”Source” -> “Add Wirecast Cam”. 在打开的窗口中,输入iPhone上显示的IP地址。 注意:这时点击”Connect”不会有任何反应。你需要首先点击iPhone上的红色录制按钮,然后再在电脑上点击”connect”。如下图所示: 这时你可以看到Wirecast和手机的录制屏幕一致。 3. 这时,Wirecast会把iPhone作为视频和音频的输入设备。有时,我们需要配置其他的音频源。例如,在直播现场活动的时候,我们需要把演讲者的声音作为唯一的音频源,而不希望把现场的嘈杂传递给收看者。这时,我们可以在Wirecast中添加新的音频设备。 这时,我们的直播已经配置完成。可以通过Azure管理门户来preview直播视频了。 对于互联网用户,他们将使用Azure管理门户提供的“发布URL”进行观看。 用户可以使用任何支持Smooth Streaming或HLS或DASH的播放器收看。Azure提供了一个基于HTML5实现的Azure Media Player (http://amsplayer.azurewebsites.net/azuremediaplayer.html ),用户只需将发布URL输入,即可在浏览器中观看直播。


修改域密码后对Windows Azure Pack 的影响和解决办法(虚拟机云)

在Windows Azure Pack (后简称WAP)的实际使用场景中我们无法避免的会遇到各种密码到期需要更改的情况。而在WAP的环境中又有许多的组件都依赖于域密码,那么究竟改动一次密码后会有多大影响我们来做一个测试。   在我的测试环境中我使用BC-TEST\WAPadmin作为所有组件的管理员密码(包括:Admin Site ; SCVMM ; SPF ; Automation;SQL) 在确保Windows Azure Pack 当前运行状态正常的前提下,我将WAPadmin的密码更改.(如下图) 之后我再次登录和检查了WAP admin site , SCVMM admin Console ,SQL server都可以正常登录和使用,由此可见大部分的组件是支持和DC同步密码的。 而问题主要出现在Automation(自动化) 组件上有报错。(如下图)尝试在Admin Site直接更改Automation信息时会发现:Automation 组件无法选择而通过VM 云进入的Automation 注册界面为灰色无法更改。   解决方法 我们需要强制移除当前SMA(Service Management Automation)的信息,并再将它重新注册到Admin Site 内。 参照博客 http://kristiannese.blogspot.no/2014/01/troubleshooting-windows-azure-pack-re.html 我们可以在WAP服务器运行下列几步Power Shell 命令来解决这个问题:   1.    $Credential = Get-Credential   (输入后会弹出需要输入当前管理员帐号密码的需求,如下图) 2. $Token = Get-MgmtSvcToken -Type…


如何使用Java程序通过JDBC访问HDInsight Hive Server

很多用户在使用HDInsight的时候,需要Java客户端访问群集的Hive Server语句、或者提交作业,在Azure的门户已经提供了使用ODBC访问Hive Server的方式(海外环境配置ODBC链接,中国环境配置ODBC链接),本文主要介绍如何让Java程序通过JDBC访问HDInsight Hive Server。 首先需要注意的是,从安全的角度,HDInsight会使用SSL安全连接,监听443端口,如下为一个示例连接字符串: jdbc:hive2://myclustername.azurehdinsight.net:443/default;ssl=true?hive.server2.transport.mode=http;hive.server2.thrift.http.path=/hive2jdbc:hive2://myclustername.azurehdinsight.cn:443/default;ssl=true?hive.server2.transport.mode=http;hive.server2.thrift.http.path=/hive2   如下步骤为一个以Maven项目为例的访问Hive Server的示例: 1. 假定已经安装好Eclipse和Maven,为了获取Maven的项目模板,请执行如下命令:       mvn archetype:generate -DgroupId=com.microsoft.css -DartifactId=HiveJdbcTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 2. 修改POM.XML:默认的POM文件,并不包含HDInsight所需的Jar依赖文件,请手动添加以下依赖。 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.8</version> <scope>system</scope> <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-avatica</artifactId> <version>0.9.2-incubating</version> </dependency> <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-core</artifactId> <version>0.9.2-incubating</version> </dependency>…


快速创建、启动Azure虚拟机(群)

  在使用Azure Virtual Machine过程中,用户常常会遇到以下需求: l  在同一个托管服务(Cloud Service)下,快速创建多个虚拟机。 l  快速启动同一个托管服务下多个已有的虚拟机。 由于这些虚拟机从属于同一个托管服务,共用托管服务所对应的网络配置和负载映射等,因此在同时创建或者同时启动多个虚拟机的操作中,用户容易遇到以下问题:   产生这个问题的原因是:在第一台虚拟机启动初期,Azure后端尚在分配共用资源(如局域网IP)给第一台虚拟机,需要对托管服务独占式访问操作,第二台虚拟机需要在第一台虚拟机成功获取共有资源之后才能开始启动过程。   对于快速创建或启动同一托管服务下的多个虚拟机,本博文介绍一些常见的实施方法和优化步骤。   1. 了解虚拟机的创建过程和创建方法 Azure后端(Fabric)根据用户需求(虚拟机配置、网络设定等)在Azure数据中心内创建目标虚拟机,主要包括以下过程: l  在目标数据中心内找到合适的硬件资源,用于创建虚拟机。 l  Azure后端复制目标OS镜像至用户的存储账号(或使用用户预备存储在Azure Storage中的镜像) l  Azure后端安装虚拟机,启动操作系统。 l  Azure后端配置虚拟机的网络设置等。 l  Azure后端配置虚拟机的对外服务设置(VIP、Endpoint等)   因此,一个虚拟机的创建过程往往需要数分钟才能彻底完成。对于Azure用户而言,创建虚拟机的主要方法包括以下三种: A. 使用管理主页(如https://manage.windowsazure.cn)   B. 使用Azure PowerShell命令,如 NAME :  New-AzureVM SYNOPSIS  :    Creates a new Microsoft Azure virtual machine.  ————————–  EXAMPLE 1  ————————–     PS…