要创建文件时,Lambda和S3权限被拒绝

伊拉克里

我的python代码从其他网站获取信息并创建json文件。在本地计算机上它运行良好,但是当我尝试在Lambda中运行代码时出现错误。
我使用了不同的方法来创建文件:

file = open('test.json', 'w')

oldumask = os.umask(0)
fdesc = os.open('test.json', os.O_WRONLY | os.O_CREAT, 0o600)
file = os.fdopen(fdesc, "w") 

错误信息:

{
  "stackTrace": [
    [
      "/var/task/awsewt1.py",
      24,
      "handler",
      "fdesc = os.open('test.json', os.O_WRONLY | os.O_CREAT, 0o600)"
    ]
  ],
  "errorType": "OSError",
  "errorMessage": "[Errno 13] Permission denied: 'test.json'"
}

代码:

from __future__ import print_function

import json
import urllib
import boto3
import os, stat

access_key = 'hide'
secret_key = 'hide'

def loadJSONByURL(url,key):
    response = urllib.urlopen(url)
    content = response.read()
    data = json.loads(content)
    text = {key:data}
    return text

def handler(event, context):
    phattha = "hide"
    phuket = "hide"
    koSamui = "hide"
    oldumask = os.umask(0)
    fdesc = os.open('test.json', os.O_WRONLY | os.O_CREAT, 0o600)
    file = os.fdopen(fdesc, "w")
    json.dump(loadJSONByURL(phattha,'phatthaya'), file)
    json.dump(loadJSONByURL(phuket,'phuket'), file)
    json.dump(loadJSONByURL(koSamui,'koSamui'), file)
    file.close()
    conn = S3Connection(access_key,secret_key)
    bucket = conn.get_bucket('ewtbucket')

    key1 = bucket.get_key('test.json')
    if key1:
        key1.delete()
    key = bucket.new_key('/test.json')
    key.set_contents_from_filename('test.json')
    key.set_acl('public-read')

s3 = boto3.client('s3')


def lambda_handler(event, context):
    handler(event,context)
詹姆士

您的Lambda函数不会在计算机上的任何地方都具有本地文件写入权限。尝试写入/tmp目录:

file = open('/tmp/test.json', 'w')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试创建文件时发生Firebird错误,权限被拒绝

来自分类Dev

在/ data上创建文件时,AOSP权限被拒绝

来自分类Dev

“ sudoed”时创建文件会混淆权限和用户

来自分类Dev

弹性beantalk检索S3文件时权限被拒绝

来自分类Dev

具有Heroku和Django的AWS S3的媒体文件的权限被拒绝

来自分类Dev

权限被拒绝的回形针和s3错误

来自分类Dev

在文件夹中创建文件:权限被拒绝

来自分类Dev

在创建文件时设置默认权限

来自分类Dev

在不同帐户的Lambda中从AWS Athena查询S3文件时访问拒绝

来自分类Dev

ofstream(C ++)不会创建文件(权限被拒绝)

来自分类Dev

`mkdir()`:拒绝使用PHP创建文件夹的权限

来自分类Dev

无法创建文件__init__py,权限被拒绝

来自分类Dev

Win 10 + Git - 无法创建文件 - 权限被拒绝

来自分类Dev

Git stash pop 错误:无法创建文件权限被拒绝

来自分类Dev

创建文件的权限

来自分类Dev

使用Terraform在s3存储桶中创建文件夹和子文件夹

来自分类Dev

apache2创建文件时的LAMP和默认文件权限

来自分类Dev

创建新目录、下载和复制文件时权限被拒绝。如何授予这些琐碎任务的权限?

来自分类Dev

python脚本具有777权限和所有者root,但仍会拒绝创建文件

来自分类Dev

Laravel S3文件上传:fopen(文件路径)无法打开流:权限被拒绝

来自分类Dev

使用BIPublisher创建文件时,访问被拒绝

来自分类Dev

文件创建权限被拒绝

来自分类Dev

AWS Lambda S3访问被拒绝

来自分类Dev

使用API在Amazon S3存储桶中创建文件夹/上传文件

来自分类Dev

创建文件或目录时可以设置权限吗?

来自分类Dev

创建文件或目录时可以设置权限吗?

来自分类Dev

尝试使用包含等号的路径从S3加载到Postgres RDS中时,权限被拒绝

来自分类Dev

php权限创建文件

来自分类Dev

php权限创建文件

Related 相关文章

  1. 1

    尝试创建文件时发生Firebird错误,权限被拒绝

  2. 2

    在/ data上创建文件时,AOSP权限被拒绝

  3. 3

    “ sudoed”时创建文件会混淆权限和用户

  4. 4

    弹性beantalk检索S3文件时权限被拒绝

  5. 5

    具有Heroku和Django的AWS S3的媒体文件的权限被拒绝

  6. 6

    权限被拒绝的回形针和s3错误

  7. 7

    在文件夹中创建文件:权限被拒绝

  8. 8

    在创建文件时设置默认权限

  9. 9

    在不同帐户的Lambda中从AWS Athena查询S3文件时访问拒绝

  10. 10

    ofstream(C ++)不会创建文件(权限被拒绝)

  11. 11

    `mkdir()`:拒绝使用PHP创建文件夹的权限

  12. 12

    无法创建文件__init__py,权限被拒绝

  13. 13

    Win 10 + Git - 无法创建文件 - 权限被拒绝

  14. 14

    Git stash pop 错误:无法创建文件权限被拒绝

  15. 15

    创建文件的权限

  16. 16

    使用Terraform在s3存储桶中创建文件夹和子文件夹

  17. 17

    apache2创建文件时的LAMP和默认文件权限

  18. 18

    创建新目录、下载和复制文件时权限被拒绝。如何授予这些琐碎任务的权限?

  19. 19

    python脚本具有777权限和所有者root,但仍会拒绝创建文件

  20. 20

    Laravel S3文件上传:fopen(文件路径)无法打开流:权限被拒绝

  21. 21

    使用BIPublisher创建文件时,访问被拒绝

  22. 22

    文件创建权限被拒绝

  23. 23

    AWS Lambda S3访问被拒绝

  24. 24

    使用API在Amazon S3存储桶中创建文件夹/上传文件

  25. 25

    创建文件或目录时可以设置权限吗?

  26. 26

    创建文件或目录时可以设置权限吗?

  27. 27

    尝试使用包含等号的路径从S3加载到Postgres RDS中时,权限被拒绝

  28. 28

    php权限创建文件

  29. 29

    php权限创建文件

热门标签

归档