我在python 2.7中创建了一个AWS lambda,它收到一个id, 从s3存储桶中检索文件并将其转换为base64:
with open("tweet_raw.csv") as csvfile:
colnames = ['created_at', 'id', 'idstr', 'text1']
rdr = pd.read_csv(csvfile, header=None,
names=colnames,
usecols=["created_at", "id", "idstr", 'text1']).set_index('created_at')['text1'].to_dict()
values = rdr.values()
#dict(zip(list(rdr.created_at), list(rdr.text1)))
#pprint(rdr)
def sentenceTokeniser():
zen = values(list(values)['text1'])
zen.words
一切都是正确的,生成的base64经过测试和纠正。这是一个jpeg。
现在在api网关上:
使用此模板:
response = s3.Object( s3_bucket, r['prefix'] + str( id) ).get()
data = base64.b64encode( response['Body'].read())
return data
部署API,测试......和 浏览器说:图像无法显示,因为它包含错误。
我尝试了一百个不同的版本而没有结果。我的错是什么?
答案 0 :(得分:0)
最后我发现,目前,您无法通过Web控制台解决此问题。根据daveg的建议,您必须使用AWS CLI更改为设置contentHandling = CONVERT_TO_TEXT。操作,正如我所说,你不能在网络界面上做。
有关详细信息:aws forum thread