1

このチュートリアルに従って、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 のサイズを変更して sourcebucketresized/resized-HappyFace.jpg にアップロードできません: PermanentRedirect: アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。今後のすべてのリクエストをこのエンドポイントに送信してください。END RequestId: 345345...

バケット名、eTag、画像名を変更しました。何か他のものを変更する必要がありますか? 私の地域は正しいです。「principalId」を編集する必要がありますか? どこで見つけることができますか?

なにが問題ですか。

4

3 に答える 3

4

私の場合、問題はバケット領域でした。この例では「us-east-1」が使用されていますが、私のバケットは「eu-west-1」にあるため、2 つのことを変更する必要がありました。

  • "awsRegion":"eu-west-1", ラムダテストファイルで
  • 私のnodejsラムダコードでリージョンを設定します:AWS.config.update({"region": "eu-west-1"})

もちろん、ラムダ テスト ファイルで次の値を設定する必要があります。

  • name: 'your_bucket_name_here',
  • arn: 'arn:aws:s3:::your_bucket_name_here'

この変更の後、期待どおりに機能しました

于 2015-07-12T05:04:43.387 に答える