|
|
51CTO旗下网站
|
|
移动端

3.2.2 管理服务

《Microsoft Azure 管理与开发(下册)平台服务PaaS》本书由世纪互联蓝云Microsoft Azure 开发技术支持团队的资深工程师们编写,主要阐述MicrosoftAzure PaaS 服务的开发应用,涉及计算服务、集成认证服务、数据存储服务、大数据服务等方面的内容。本节为大家介绍管理服务。

作者:世纪互联蓝云公司来源:电子工业出版社|2018-07-13 10:46

3.2.2 管理服务

管理服务是指管理Azure 服务层面的配置操作,使得用户不仅可以从门户网站上对运行在上面的服务进行管理,同时也可以通过程序来对服务进行管理。存储管理服务用来管理存储账户,主要包括以下几方面功能:

创建、删除账户;

检查账户可用性;

列出账户信息;

更新存储账户密钥等。

管理服务基于AAD(Azure Active Directory)授权方式进行客户端认证。在使用客户端SDK 连接存储账户管理服务之前,通过以下方式获取认证凭据。

(1) 安装配置Azure PowerShell:https://docs.Azure.cn/zh-cn/powershell-install-configure

(2) 启动PowerShell,登录Azure 账户,如图3.2.2-1 所示。

(3) 选择操作的订阅ID,执行后可以获取“Tenant ID”及“Subscription ID”信息,如图3.2.2-2 所示。

(4) 使用以下脚本,创建认证应用程序,如图3.2.2-3 所示。

(5) 为应用创建服务凭证,如图3.2.2-4 所示。

(6) 为应用服务凭证授权,如图3.2.2-5 所示。

在上述操作的第2 步,可以获取TenantId 和SubscriptionId 信息。在第4 步的输出中,可以获取ApplicationId,这个值为后续认证需要提供的ClinetId,而自定义的Paasword 即为认证需要的ClientSecret。以下是基于Java 操作存储账户管理服务的示例。

(1) 新建一个Maven Project,打开pom.xml 文件,添加Dependency 如下:

  1. <dependency> 
  2. <groupId>com.microsoft.Azure</groupId> 
  3. <artifactId>Azure</artifactId> 
  4. <version>1.0.0</version> 
  5. </dependency> 
  6. <dependency> 
  7. <groupId>com.microsoft.Azure</groupId> 
  8. <artifactId>adal4j</artifactId> 
  9. <version>1.2.0</version> 
  10. </dependency> 

(2) 新建测试类,添加以下代码:

  1. import Java.util.List;  
  2. import com.microsoft.Azure.AzureEnvironment;  
  3. import com.microsoft.Azure.credentials.ApplicationTokenCredentials;  
  4. import  
  5. com.microsoft.Azure.management.storage.CheckNameAvailabilityResult;  
  6. import com.microsoft.Azure.management.storage.StorageAccount;  
  7. import com.microsoft.Azure.management.storage.StorageAccountKey;  
  8. import  
  9. com.microsoft.Azure.management.storage.implementation.StorageManager;  
  10. public class Sample {  
  11. public static void main(String[] args){  
  12. // 连接管理服务客户端  
  13. String tenantId = "Tenant ID";  
  14. String clientId = "Client ID";  
  15. String clientSecret = "Client Secret";  
  16. String subscriptionId = "Subscription ID";  
  17. ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(  
  18. clientId,  
  19. tenantId,  
  20. clientSecret,  
  21. AzureEnvironment.Azure_CHINA)  
  22. .withDefaultSubscriptionId(subscriptionId);  
  23. StorageManager storageManager = StorageManager.authenticate(  
  24. credentials,  
  25. subscriptionId);  
  26. // 检查存储账户名称的可用性  
  27. CheckNameAvailabilityResult result = storageManager 
  28. .storageAccounts()  
  29. .checkNameAvailability("存储账户名称");  
  30. System.out.println(String.format(  
  31. "Storager Availability:%b",  
  32. result.isAvailable()));  
  33. // 创建新的存储账户  
  34. StorageAccount storageAccount = storageManager 
  35. .storageAccounts()  
  36. .define("存储账户名称")  
  37. .withRegion("位置") .withExistingResourceGroup("资源组")  
  38. .withTag("标签键", "标签值")  
  39. .create();  
  40. // 获取资源组中的存储账户  
  41. storageAccount = storageManager 
  42. .storageAccounts()  
  43. .getByResourceGroup("资源组", "存储账户名称");  
  44. System.out.println(String.format( " Storage Name:%s " , storageAccount.  
  45. name()));  
  46. System.out.println(String.format(  
  47. "Storage Region:%s",  
  48. storageAccount.region().toString()));  
  49. // 获取存储账户密钥  
  50. List<StorageAccountKey> keys = storageAccount.getKeys();  
  51. for(StorageAccountKey key : keys){  
  52. System.out.println(String.format(  
  53. "Name:%s, Key:%s", key.keyName(),key.value()));  
  54. }  
  55. // 更新存储账户密钥  
  56. StorageAccountKey oldKey = keys.get(0);  
  57. List<StorageAccountKey> updatedKeys =  
  58. storageAccount.regenerateKey(oldKey.keyName());  
  59. for (StorageAccountKey updatedKey : updatedKeys) {  
  60. if (updatedKey.keyName().equalsIgnoreCase(oldKey.keyName())) {  
  61. System.out.println(String.format(  
  62. "Name:%s, Old Key:%s", oldKey.keyName(),oldKey.value()));  
  63. System.out.println(String.format(  
  64. "Name:%s, New Key:%s",  
  65. updatedKey.keyName(),updatedKey.value()));  
  66. break;  
  67. }  
  68. }  
  69. }  


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

超级网管员——网络基础

本书全面系统地概括了计算机网络的基本理论,详细阐述了OSI模型与网络协议、网络规划与综合布线、对等网络与服务器/客户端网络、Intranet服...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊