# Conflicts:
#	Media/SnaCN/DeployPkg/deploy.ps1
#	Media/SnaCN/DeployPkg/initdb.sql
This commit is contained in:
Yan Zhao 2017-09-18 11:24:59 +08:00
Родитель 9ac2666934 aa4d6c1a33
Коммит 072c54c3bb
4 изменённых файлов: 119 добавлений и 20 удалений

Просмотреть файл

@ -1,5 +1,5 @@
<<<<<<< HEAD
<#
<<<<<<< HEAD
?#
=======
<#
>>>>>>> remotes/origin/master
@ -75,7 +75,7 @@ $PBIApiEndpoint = "https://api.powerbi.cn",
$PBIXfilepath = "weiboSNA.pbix",
[string]
$webAppName = "SNADemoPbiEmbedb",
$webAppName = "SNADemoPbiEmbed",
[string]
$servicePlanName ="SPSNADemo"
@ -265,7 +265,6 @@ Function CheckAndMake-FTPDirectory{
}
}
<<<<<<< HEAD
Function Create-AzureWebApp{
param
(
@ -331,8 +330,6 @@ Function Check-ServicePlan
}
}
=======
>>>>>>> remotes/origin/master
Function Detect-IPAddress
{
$ipregex = "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
@ -463,20 +460,12 @@ else{
$newParametersPath = ".\newparameters.json"
<<<<<<< HEAD
(Get-Content -Path $parametersFilePath) -replace("{{Name}}", $VMName.ToLower()) -replace({{Password}}, $VMPassword) -replace({{ResourceGroup}}, $resourceGroupName) -replace("{{DBID}}", [Convert]::ToString([guid]::NewGuid()))| Set-Content $newParametersPath
=======
(Get-Content -Path $parametersFilePath) -replace("{{Name}}", $VMName.ToLower()) -replace(¡°{{Password}}¡±, $VMPassword) -replace(¡°{{ResourceGroup}}¡±, $resourceGroupName) -replace("{{DBID}}", [Convert]::ToString([guid]::NewGuid()))| Set-Content $newParametersPath
>>>>>>> remotes/origin/master
# Start the deployment
Write-Host "Starting deployment...";
if(Test-Path $newParametersPath) {
<<<<<<< HEAD
New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateFile $templateFilePath -TemplateParameterFile $newParametersPath;
=======
New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateFile $templateFilePath -TemplateParameterFile $newParametersPath -Debug;
>>>>>>> remotes/origin/master
} else {
New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateFile $templateFilePath;
}
@ -530,7 +519,6 @@ Write-Host "FTP Connection Successfully Parsed" -ForegroundColor Green
$contentPath = "$path\$Global:PackageName"
Upload-Directory -ftp $uploadInfo -path $contentPath -ErrorAction Stop
<<<<<<< HEAD
Write-Host "Files successfully uploaded to FTP" -ForegroundColor Green
@ -587,8 +575,5 @@ while($suc -eq $false -and $retryTimes -lt 3)
# Create PowerBI Website
(Get-Content "$path\$Global:PBIPackageName\Web.Template.config").Replace('{{powerbi:AccessKey}}', $appkey).Replace('{{powerbi:WorkspaceCollection}}',$WorkspaceCollectionName).Replace('{{powerbi:WorkspaceId}}',$workspaceId) | Set-Content "$path\$Global:PBIPackageName\Web.Config"
Create-AzureWebApp -ResourceGroupName $resourceGroupName -WebAppName $webAppName -ServicePlanName $servicePlanName -Location $Location
$webApp = Get-AzureRmWebApp -ResourceGroupName $resourceGroupName -Name $webAppName
Write-Host $webApp.HostNames -ForegroundColor Green
=======
$webApp = Get-AzureRmWebApp -ResourceGroupName $resourceGroupName -Name $webAppNameWrite-Host $webApp.HostNames -ForegroundColor Green
Write-Host "Files successfully uploaded to FTP" -ForegroundColor Green
>>>>>>> remotes/origin/master

Двоичные данные
Media/SnaCN/DeployPkg/initdb.sql

Двоичный файл не отображается.

Просмотреть файл

@ -1,2 +1,116 @@
# 传播主体分析解决方案
xxxxxxxxxxxxxxxxxx
## 场景描述
xxxxxxxxxxxxxxxxxxxxxxxxx
## 技术架构
解决方案架构图如下:
![Solution Diagram](./Pictures/.JPG)
解决方案是一个从数据收集到数据展现的完整流程,其中包括了数据收集,数据注入,数据转换,数据存储和分析,以及数据可视化部分。
数据收集部分是一个WebJob主要用于将示例数据注入到事件中心示例数据可以根据需要进行更改或者自行生成。
数据存储主要用于存储业务数据存放在SQLAzure 数据库中。
分析工作主要使用WebJob作为后台服务运行进行数据处理操作WebJob运行分析作业将数据从存储中加载出来将分析处理完成的数据存储到数据库中。
数据可视化则通过将Power BI连接到SQL Azure数据源上使用Power BI Embedded方式实现。
## [部署包](./DeployPkg)
解决方案提供了可部署在自有Azure订阅的解决方案部署包通过部署解决方案用户可以深入了解如何利用Azure云服务实现业务场景并可以通过修改部署包中的样本数据或修改PBI Demo报告来快速搭建自己的Demo。
### 部署前提
要进行解决方案的部署,必须具备如下的资源和条件
1. 具有Azure中国的[订阅账号](https://www.azure.cn/)
2. 订阅账号中包含足够可用的资源配额和权限
1. 能够创建存储账号Storage Account
2. 能够创建虚拟机
3. 能够创建SQL Azure服务器和数据库以及相关防火墙规则
4. 能够创建服务计划Service Plan和网站应用Web App
5. 能够创建Power BI工作区集合
3. 系统安装Azure SDK及Powershell 5.0
4. 具有Power BI订阅用于制作展示报表
 5. 安装[Node.js](https://nodejs.org/en/download/)
 6. 安装[PowerBI-cli](https://github.com/Microsoft/PowerBI-Cli)
### [部署包组成]((./DeployPkg))
部署包中主要包含以下几个部分
1. deploy.ps1 用于进行自动化部署的主要脚本
2. SNADemo文件夹中是对应用于xxxxxxxx
3. PowerBIEmbeded文件夹xxxxxxxxxxx
4. initdb.sql用于初始化数据库表及索引结构
5. 需要将源代码中的SNASite发布到该文件夹中的SNADemo文件夹下详细参见[操作步骤](###发布)
5. 需要将源代码中的PowerBIEmbeded发布到该文件夹中的PowerBIEmbeded文件夹下详细参见[操作步骤](###发布)
### 发布
- 发布xxx
要构建完成的部署包,需要将源代码进行生成发布,作为部署包的部署内容。
 1. 源代码文件夹SNASite打开源代码工程选择SNASite工程点击右键选择**发布(Publish)**
 2. 在弹出的页面中, 选择**自定义Custom**。点击下一步
3. 在接下来的**发布方式**Publish Method中选择 **文件系统**
4. 打开[部署包](./DeployPkg)文件夹,在该文件夹中新建文件夹**SNADemo**
 5. 在**目标位置**中选取新建的文件夹SNASite作为目标位置
 6. 点击下一步,选择**发布**版本
7. 点击**完成**进行工程的生成和发布。发布完成之后可以在SNADemo文件夹中看到完整的网站应用结构文件
- 发布Web应用用于PowerBI Embeded展示
要构建完成的部署包,需要将源代码进行生成发布,作为部署包的部署内容。
1. 源代码文件夹PowerBIEmbeded打开源代码工程选择PbiEmbedWeb工程点击右键选择**发布(Publish)**
2. 在弹出的页面中, 选择**自定义Custom**。点击下一步
3. 在接下来的**发布方式**Publish Method中选择 **文件系统**
4. 打开[部署包](./DeployPkg)文件夹,在该文件夹中新建文件夹**PowerBIEmbeded**
5. 在**目标位置**中选取新建的文件夹PowerBIEmbeded作为目标位置
6. 点击下一步,选择**发布**版本
7. 点击**完成**进行工程的生成和发布。发布完成之后可以在PowerBIEmbeded文件夹中看到完整的网站应用结构文件
### 部署流程
部署流程包含了在Azure订阅中进行资源创建的过程。完成的创建过程包含了以下步骤。
1. 创建资源组、虚拟机、数据库
2. 将Web应用文件使用FTP的方式上传到Web应用中
 xxxxxxxxxxxx
### 部署步骤
1. 打开PowerShell切换当前文件夹到DeployPkg下面
2. 运行deploy.ps1
3. 根据提示输入订阅ID
4. 根据提示,输入资源组名称
5. 根据提示,输入虚拟机名称
6. 根据提示输入虚拟机密码需要最短8位包含大小写字母数字及特殊字符如Passw0rd!
7. 根据提示输入deploymentName
8. 在弹出的登录框中输入Azure订阅的用户名和密码验证登录
 9. 根据提示输入部署地点chinanorth或者chinasourch
 10. 等待脚本运行,直到部署完成,最终返回一个链接地址snademopbiembed.chinacloudsites.cn
部署完成之后可以登录到Azure Portal中在资源组中通过SSCN进行筛选找到对应的资源组进行资源相关信息查看和管理。可以打开最终返回的链接地址查看新闻抓取的展示结果。
## [获取数据解决方案的源代码](src/SNASite)
解决方案提供了相应的源代码包供用户参考。用户可以通过修改源码来快速搭建及开发基于Azure的定制化的Demo。通过使用Visual Studio打开\src\SNASite\SNASite.sln文件可以打开工程。
源代码主要包含以下几个工程
1. DataPrepare这是一个WebJob工程主要用于模拟数据的收集
2. DataLibrary主要包含了文本处理的相关逻辑
3. SNASite,用于发布到Azure网站应用的工程WebJob将随该工程进行发布并运行。系统的部署也需要先将该工程进行发布形成整体的部署包
## [嵌入Power BI解决方案的源代码](src/PowerBIEmbeded)
解决方案提供了相应的源代码包供用户参考。用户可以通过修改源码来快速搭建及开发基于Azure的定制化的Demo。通过使用Visual Studio打开\src\PowerBIEmbeded\CreatePbiEmbedded.sln文件可以打开工程。
源代码主要包含以下几个工程
1. PbiEmbedWeb,用于发布到Azure网站应用的工程。系统的部署也需要先将该工程进行发布形成整体的部署包

Просмотреть файл

@ -11,7 +11,7 @@
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net45" />
<package id="Microsoft.PowerBI.Api" version="1.1.9" targetFramework="net45" />
<package id="Microsoft.PowerBI.AspNet.Mvc" version="1.1.9" targetFramework="net45" />
<package id="Microsoft.PowerBI.Core" version="1.1.9" targetFramework="net45" />
<package id="Microsoft.PowerBI.Core" version="1.1.10" targetFramework="net45" />
<package id="Microsoft.PowerBI.JavaScript" version="2.2.6" targetFramework="net45" />
<package id="Microsoft.Rest.ClientRuntime" version="2.0.1" targetFramework="net45" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />