2014-10-30 3 views
1

java를 사용하여 Azure DocumentDB에 액세스 할 수있는 코드 스 니펫을 게시 할 수 있습니까?java를 사용하여 Azure documentDB에 액세스

StringToSign = VERB + "\ n"+ ResourceType + "\ n"+ ResourceId + "\ n"+ x-ms-date + "\ n"+ 기호에 키 문자열을 입력하는 방법을 이해할 수 있습니다.
날짜 + "\ n";

+1

여기 주어진 예제를 보았습니까 (Node.js에 있음) : http://msdn.microsoft.com/en-us/library/azure/dn783368.aspx. –

답변

0

여기 http://msdn.microsoft.com/en-us/library/azure/dn783368.aspx에서 자바 스크립트 예제를 기반으로 자바 코드입니다 :

public static String generateAuthHeader(String verb, String resourceId, 
     String resourceType, String date, String masterKeyBase64) 
     throws Exception { 

    // Decode the master key and setup the MAC object for signing. 
    byte[] masterKeyBytes = Base64.decodeBase64(masterKeyBase64.getBytes()); 
    Mac mac = Mac.getInstance("HMACSHA256"); 
    mac.init(new SecretKeySpec(masterKeyBytes, "HMACSHA256")); 

    // Build the unsigned authorization string. 
    String stringToSign = verb + "\n" 
      + resourceType + "\n" 
      + resourceId + "\n" 
      + date + "\n" 
      + "\n"; 

    // Sign and encode the authorization string. 
    String signature = Base64.encodeBase64String(mac.doFinal(stringToSign.toLowerCase().getBytes())); 

    // Generate the authorization header. 
    String authHeader = URLEncoder.encode("type=master&ver=1.0&sig=" + signature, "UTF-8"); 

    return authHeader; 
} 

것은 내가 Base64 인코딩/디코딩을 위해 Apache Commons Codec을 사용하고 있습니다.

그런데 DocumentDB 및 Java와 관련된 프로젝트에 관심이 많습니다. 프로젝트 도움이 필요하시면 언제든지 (andrl {at} microsoft.com) 연락하십시오. !

편집 :이 질문에 대한 답변이 제공되었으므로 DocumentDB Java SDK가 게시되었습니다. 체크 아웃 : https://github.com/Azure/azure-documentdb-java