![](/img/trans.png)
[英]Reading .mdb or .accdb file from s3 bucket in AWS lambda function and converting it into excel or csv using python
[英]Reading XML from S3 Python AWS Lambda
我正在嘗試讀取 s3 存儲桶中的文件,並在 python AWS Lambda 函數中使用 xml minidom 提取元素。 我不斷收到錯誤 - “errorMessage”:“無法編組響應:元素類型的對象不是 JSON 可序列化的”。
import json
from xml.dom import minidom
import boto3
s3 = boto3.resource('s3')
def lambda_handler(event, context):
bucketname = 'mybucket'
filename = 'myfile.xml'
obj = s3.Object(bucketname, filename)
file_data = obj.get()['Body'].read()
#parse xml
xmldoc = minidom.parseString(file_data)
message_1 = xmldoc.getElementsByTagName('id')
#return
return {
"bucketname": bucketname,
"file_data": file_data,
"id": message_1
}
getElementsByTagName
返回一個包含Elements
的NodeList
,而Elements
又不是 JSON 可序列化的。 如果您希望 xml 中只有 1 個id
元素,您可以這樣做
return {
"bucketname": bucketname,
"file_data": file_data,
"id": message_1.item(0).firstChild.data
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.