-1
A
回答
0
通过使用Java获取存储帐户访问键,你可以使用Azure的REST API。 Java sdk可用,它可以让您轻松管理您的存储帐户。
要获取访问密钥,您需要使用存储帐户所在的资源组名称和存储帐户名称。一旦您使用这些信息取回您的存储帐户,称为“密钥”的方法会返回访问密钥。
List<StorageAccountKey> storageAccountKeys = storageAccount.keys();
Here是一个完整的文档样本。
问候
0
@Prit,您需要使用Azure存储服务管理SDK for Java来获得帐号键,请参阅下面的步骤。
- 创建一个自签名证书,并上传在标签的
SETTINGS
MANAGEMENT CERTIFICATES
在Azure上经典的门户网站,请参阅blog。
I.使用Java keytool创建证书,请参阅下面的命令。
密钥工具-genkeypair -alias MYDOMAIN -keyalg RSA -keystore WindowsAzureKeyStore.jks -keysize 2048 -storepass “test123”;
密钥工具-v -export -file d:\ WindowsAzureSMAPI.cer -keystore WindowsAzureKeyStore.jks -alias MYDOMAIN
您需要将这些依赖项添加到您的maven项目的pom.xml
文件中。
<!-- https://mvnrepository.com/artifact/com.microsoft.azure/azure-svc-mgmt -->
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-svc-mgmt</artifactId>
<version>0.9.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.microsoft.azure/azure-svc-mgmt-storage -->
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-svc-mgmt-storage</artifactId>
<version>0.9.3</version>
</dependency>
这是我的代码获取帐户密钥。
import org.xml.sax.SAXException;
import com.microsoft.windowsazure.Configuration;
import com.microsoft.windowsazure.core.utils.KeyStoreType;
import com.microsoft.windowsazure.exception.ServiceException;
import com.microsoft.windowsazure.management.configuration.ManagementConfiguration;
import com.microsoft.windowsazure.management.storage.StorageManagementClient;
import com.microsoft.windowsazure.management.storage.StorageManagementService;
import com.microsoft.windowsazure.management.storage.models.StorageAccountGetKeysResponse;
public class AccountKeys {
public static void main(String[] args) throws IOException, URISyntaxException, ServiceException, ParserConfigurationException, SAXException {
String uri = "https://management.core.windows.net/";
String subscriptionId = "<subscription-id>";
String keyStorePath = "<path>/WindowsAzureKeyStore.jks";
String keyStorePassword = "test123";
String storageName
Configuration config = ManagementConfiguration.configure(
new URI(uri),
subscriptionId,
keyStorePath, // the file path to the JKS
keyStorePassword, // the password for the JKS
KeyStoreType.jks // flags that I'm using a JKS keystore
);
StorageManagementClient client = StorageManagementService.create(config);
StorageAccountGetKeysResponse response = client.getStorageAccountsOperations().getKeys(storageName);
String pk = response.getPrimaryKey();
String sk = response.getSecondaryKey();
System.out.println(pk);
System.out.println(sk);
}
}
作为参考,相关的REST API是here。
+0
谢谢彼得。 Azure建议现在使用ARM而不是证书,因此应该有某种方法而不使用证书。 – Prit
相关问题
- 1. 无法以编程方式获取Azure存储帐户的密钥
- 2. c#以编程方式获取Azure存储帐户权限
- 3. 如何获取Azure存储帐户密钥
- 4. 如何以编程方式获取Azure存储端点URL?
- 5. 如何以编程方式存储Facebook AppID密钥
- 6. 如何以编程方式在Java中生成并存储HMacSHA256密钥?
- 7. 使用Java从MacOS X密钥存储区获取私钥
- 8. 以编程方式将.cer证书导入密钥存储区
- 9. 为什么Azure存储帐户有两个密钥?
- 10. 如何以编程方式获取Amazon S3帐户的总使用空间
- 11. Java:从编码密钥获取密钥
- 12. java以编程方式将自签名证书添加到密钥存储区
- 13. 以编程方式获取Gmail存储使用
- 14. 以编程方式在Java servlet中使用keytool来创建证书/密钥对
- 15. 如何在android中以编程方式获取存储信息?
- 16. 如何以编程方式获取mac的存储容量?
- 17. ARM - 如何从存储帐户获取访问密钥以便在稍后的模板中使用AppSettings?
- 18. 以编程方式在OS X钥匙串中存储对称密钥
- 19. 以编程方式更改java密钥库的密码
- 20. 使用powershell删除azure存储帐户
- 21. 如何使用Android密钥存储提供程序存储密钥
- 22. 如何以编程方式获取App使用的存储状态?
- 23. 使用门户将图像上传到Azure存储(不是以编程方式)
- 24. 如何以编程方式添加用户帐户策略?
- 25. 如何以编程方式将用户帐户添加到openDS?
- 26. 解密存储Java密钥存储
- 27. 如何从PayPal帐户获取客户端ID和密钥
- 28. 如何以编程方式从库文件获取产品密钥标记?
- 29. 如何使用Java将映像从Azure存储帐户复制到ARM存储帐户?
- 30. objective C以编程方式从钥匙串中删除帐户
谢谢Thibaut。此示例似乎并未使用Azure提供的标准Java SDK。 – Prit