web-dev-qa-db-ja.com

アーティファクトをアップロードできません。HelloWorldFunctionリソースのCodeUriパラメータによって参照されていません。

私は このチュートリアル[〜#〜] sam [〜#〜] の使い方を学ぶためにフォローしています。

これが私が持っているコードです:

template.yml

_AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.handler
      Runtime: nodejs8.10
_

index.js

_exports.handler = async function(event, context) {
    return 'Hello World!';
};
_

私が走るとき

_sam package \
  --template-file template.yml \
  --output-template-file package.yml \
  --s3-bucket brian-test-sam
_

Unable to upload artifact None referenced by CodeUri parameter of HelloWorldFunction resource. An error occurred (AccessDenied) when calling the PutObject operation: Access Denied」というエラーが表示されました

なぜこれが起こるのですか?

AWSアカウントにS3バケット_brian-test-sam_を作成しました。 IAMユーザーに_AmazonS3FullAccess_権限があることを確認しました。

コマンド

_sam --debug package \                                                                                           <aws:dev-bionime>
  --template-file template.yml \
  --output-template-file package.yml \
  --s3-bucket brian-test-sam
_

エラーは_aws cloudformation package --output-template-file package.yml --s3-bucket brian-test-sam --template-file /path/to/my/files/helloworld/template.yml_によって生成されたと述べています

私のcloudformationの何が問題になっていますか?

私のaws cliバージョンは_aws-cli/1.16.169 Python/3.7.3 Darwin/18.6.0 botocore/1.12.159_です。そして、私のnpmバージョンは_6.10.1_です。

4
Brian

ローカルディレクトリを指すCodeUriプロパティを提供する必要があります。

AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.handler
      Runtime: nodejs8.10
      CodeUri: ./code
0