当前位置: 首页 > 知识库问答 >
问题:

我的AWS Lambda函数有什么问题?

余弘新
2023-03-14

我已经按照本教程使用AWS lambda创建了另一个桶的图像缩略图:http://docs.AWS.amazon.com/lambda/latest/dg/walkthrough-S3-events-adminuser-create-test-function-upload-zip-test.html

我已经完成了教程前面的所有步骤,但是当我从上面的链接在Lambda测试中运行下面的代码

{  
   "Records":[  
      {  
         "eventVersion":"2.0",
         "eventSource":"aws:s3",
         "awsRegion":"us-east-1",
         "eventTime":"1970-01-01T00:00:00.000Z",
         "eventName":"ObjectCreated:Put",
         "userIdentity":{  
            "principalId":"AIDAJDPLRKLG7UEXAMPLE"
         },
         "requestParameters":{  
            "sourceIPAddress":"127.0.0.1"
         },
         "responseElements":{  
            "x-amz-request-id":"C3D13FE58DE4C810",
            "x-amz-id-2":"FMyUVURIY8/IgAtTv8xRjskZQpcIZ9KG4V5Wp6S7S/JRWeUWerMUE5JgHvANOjpD"
         },
         "s3":{  
            "s3SchemaVersion":"1.0",
            "configurationId":"testConfigRule",
            "bucket":{  
               "name":"sourcebucket",
               "ownerIdentity":{  
                  "principalId":"A3NL1KOZZKExample"
               },
               "arn":"arn:aws:s3:::sourcebucket"
            },
            "object":{  
               "key":"HappyFace.jpg",
               "size":1024,
               "eTag":"d41d8cd98f00b204e9800998ecf8427e",
               "versionId":"096fKKXTRTtl3on89fVO.nfljtsv6qko"
            }
         }
      }
   ]
}

我收到错误消息

无法调整SourceBucket/HappyFace.jpg的大小并上载到SourceBucketResigned/Resigned-HappyFace.jpg,原因是出现错误:PermanentreDirect:必须使用指定的终结点对您试图访问的桶进行寻址。请将所有将来的请求发送到此endpoint。结束请求ID:345345...

我已经更改了bucket名称、eTag和映像名称。我还需要换别的东西吗?我的区域是正确的。我需要编辑“PrincipalID”吗?我在哪能找到它?

怎么啦.

共有2个答案

淳于典
2023-03-14

您的问题与“端点”有关。必须将“arn”:“arn:aws:s3:::sourcebucket”更改为“arn”:“arn:aws:s3:::(name_of_your_bucket)”。与“name”相同:“sourcebucket”与“name”相同:“(name_of_your_bucket)”。

为了避免更多的问题,您必须将一个名为HappyFace.jpg的jpg上传到您的bucket,或者在s3中更改put测试对象代码。

问候

庞阳波
2023-03-14

在我的例子中,问题是桶区域。在示例中,使用了“US-East-1”,但我的bucket在“EU-West-1”上,因此我必须更改2个内容:

  • “AWSREGION”:“EU-West-1”,在lambda测试文件中
  • 在我的节点中设置区域js lambda代码:aws.config.update({“region”:“EU-West-1”})

当然,您仍然需要在lambda测试文件中设置以下值:

  • 名称:'Your_Bucket_Name_Here',
  • arn:'arn:aws:s3:::Your_Bucket_Name_Here'

经过这些修改后,它的工作与预期的一样

 类似资料:
  • 问题内容: 运行此代码时,我不断收到此错误: 错误:大小写类型的字符不同,并且整数不能匹配 您可能会认为这不会造成问题,因为我正在查询中创建新列。我还想指出的是,如果有帮助,我正在使用旧版本的PostgreSQL。 问题答案:

  • 问题内容: 这是我的方法: 我把它放回去。该方法有什么问题? 问题答案: 您的条件应为i * i <= num 您未考虑数字9,因此9 <9将导致错误。但是您需要检查9。

  • 我有一个SQL存储过程,我需要转换为Oracle。我有一些语法问题。 我当前遇到的错误是: 错误(75,1):PLS-00103:在预期以下情况之一时遇到符号“DROP”:(开始情况声明结束异常退出,如果循环mod null pragma raise return选择更新 我想我还有很多。有人能帮我找出我做错了什么吗? 以下是我所拥有的: 以下是原始SQL代码:

  • 我试图实现连接,但我面临错误。我有产品表和商店表。产品表引用通过外键存储表,如下所示: 产品JAVA 现在,我展示tore.java 现在,我展示仓库 现在,这个错误是因为我在最后两个查询中实现了join。我想做的是购买所有商店位于特定城市或州的产品,如上图所示。 我遇到的错误是: 启动应用程序上下文时出错。要显示自动配置报告,请在启用调试的情况下重新运行应用程序。2016-10-16 09:53

  • 我试图用PUT请求调用REST API,但收到400个错误代码(错误请求)。有人能看出我做错了什么吗? 我已经用REST客户端成功调用了这个API,下面是使用的头和主体: https://imgur.com/dZVyawnhttps://imgur.com/lMtn2JB 错误400收到错误请求响应

  • 当我运行这个应用程序时,它抱怨说: org.xml.sax.saxParseException:schemaLocation:schemaLocation值=