python - 如何根据 AWS Lambda /tmp 文件夹的事件在 JSON 文件中存储字符串变量?
问题描述
我试图确定我在代码中做错了什么。我对Linux文件系统的水平不高。我正在尝试将我的 JSON 文件存储在“/tmp”目录中,以便可以在 Lambda 中对其进行写入,在将其存储在那里之后,我尝试编写代码以根据事件将变量传递给字符串文字。我不确定我做错了什么。
错误表示即使在使用加载函数存储在/tmp 中后,它也不可写。
到目前为止,我试图将“/var/task”的路径切换到/var/tmp。
def lambda_handler(event, context):
s3 = boto3.client('s3')
Bucketname = event['requestParameters']['bucketName']
PolicyEvent = event['requestParameters']['bucketPolicy']['Statement'][0]['Effect']
print(PolicyEvent)
JSON_Policy = open("JSON_Policy.JSON",'r')
# Save JSON_Policy to path to this on Linux/Unix based filesystem for Lambda and change current directory to /var/tmp
os.chdir("/var/tmp")
Dir = os.getcwd()
print(Dir)
save_path = "/var/task"
full_name = os.path.join(save_path,"JSON_Policy.JSON")
with open(full_name,"r") as JSONfile:
JSONDoc = json.load(JSONfile)
pprint(JSONDoc)
return JSONDoc
这是我以 JSON 格式存储在 Lambda 环境根文件夹中的存储桶策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::%s/*" % Bucketname
}
]
}
解决方案
推荐阅读
- jquery - 如何在 jQuery 中为选择标签应用边框类?
- css - CSS:让文本从场景中永久消失?
- reactjs - React Native Redux 一起使用 state props 和 selectors
- python - 如何有效地重新编码?
- python - 无法减少为纸浆添加约束所花费的时间
- c - 如何在 MICROCHIP XC8 的库中正确使用 __delay_ms()?
- c++ - 如何使用 Lua 从表中的表中获取值?
- javascript - Adyen 自定义卡片标签导航在最新版本中无法正常工作
- javascript - Next-Pwa 无法在 Nginx 等生产服务器上运行
- cakephp - 在 CakePHP 中创建搜索表单