2013-06-03 2 views
0

REST API와 Python을 사용하여 Windows Azure에서 서비스를 만들려고합니다. 코드는 다음과 같습니다 :Python의 REST API를 통해 Windows Azure 서비스 만들기

def create_service(self): 
      subscription_id = self.get_user_subscription_id() 
      auth = self.get_user_cert_data() 

      if auth is None or subscription_id is None: 
        return [(False, "Datos de autenticacion incorrectos")] 
      else: 
        key_file, cert_file = auth 

      service_name = str(int(time.time()*100)) 

      try: 

        conn = httplib.HTTPSConnection(self.AZURE_SERVER, self.AZURE_PORT, key_file=key_file, cert_file=cert_file) 
        uri = "https://%s/%s/services/hostedservices" % (self.AZURE_SERVER,subscription_id) 
        service_create_xml = ''' 
    <CreateHostedService xmlns="http://schemas.microsoft.com/windowsazure"> 
     <ServiceName>%s</ServiceName> 
     <Label>%s</Label> 
     <Description>Service %s created by the IM</Description> 
     <Location>West Europe</Location> 
    </CreateHostedService> 
        ''' % (service_name, base64.b64encode(service_name), service_name) 
        conn.request('POST', uri, body = service_create_xml, headers = {'x-ms-version' : '2013-03-01', 'ContentType' : 'application/xml'}) 
        resp = conn.getresponse() 
      except Exception, ex: 
        self.logger.exception("Error creando el service") 
        return None 

      if resp.status != 201: 
        self.logger.error("Error creando el service: Codigo " + str(resp.status) + " Reason: " + str(resp.reason)) 
        return None 

      return service_name 

그러나 알 수없는 이유로 응답은 항상 오류 400 잘못된 요청입니다. 누구든지 내가 뭘 잘못하고 있는지 알고 있니? 미리 감사드립니다. 여기 헤더에 대한

답변

1

:

헤더 = { 'X-MS-버전': '2013년 3월 1일', '의 ContentType' '응용 프로그램/XML'}

Content-Type 대신 ContentType

+0

오 남자 사용하려고하면 '저장'내 인생 이득. 버그를 감지하지 못했습니다. 이제 완벽하게 작동합니다. 다시 많은 감사드립니다. –

+0

:). 도와 줘서 기뻐요! 그것들을 답으로 표시하고 싶을 수도 있습니다. –

+0

완료! (두 가지 질문 모두에서). 죄송합니다, Stackoverflow에 새로운입니다. –

관련 문제