war 파일을 s3 버킷에 업로드하는 코드가 포함되어 있습니다 (존재하지 않는 경우 버킷을 먼저 생성). 그런 다음 방금 업로드 한 war 파일을 사용하여 탄력적 인 beanstalk 응용 프로그램 버전을 만듭니다.create_application_version을 호출하면 'BotoServerError : 400 Bad Request'가 발생합니다.
/tmp/server_war
이 존재하고 유효한 전쟁 파일이라고 가정합니다. 다음 코드는 boto.exception.BotoServerError: BotoServerError: 400 Bad Request
과 함께 실패합니다.
#!/usr/bin/env python
import time
import boto
BUCKET_NAME = 'foo_bar23498'
s3 = boto.connect_s3()
bucket = s3.lookup(BUCKET_NAME)
if not bucket:
bucket = s3.create_bucket(BUCKET_NAME, location='')
version_label = 'server%s' % int(time.time())
# uplaod the war file
key_name = '%s.war' % version_label
s3key = bucket.new_key(key_name)
print 'uploading war file...'
s3key.set_contents_from_filename('/tmp/server.war',
headers={'Content-Type' : 'application/x-zip'})
# uses us-east-1 by default
eb = boto.connect_beanstalk()
eb.create_application_version(
application_name='TheApp',
version_label=version_label,
s3_bucket=BUCKET_NAME,
s3_key=key_name,
auto_create_application=True)
이 오류의 원인은 무엇입니까?
그리고 기쁩니다. 나는이 오류를 치는 것 같고 그것으로부터 디버그 출력은 inscrutable이다. – davenpcj