2017-01-28 23 views
0

ユーザーがS3に文書をアップロードできるようにするラムダ関数を作成しようとしています。これを行うには、オブジェクトのバケットへの挿入を許可するメソッド "PutObject"があることを示すSDKのドキュメントに従っています。私はこれをコーディングするとき、私は以下のコンパイルエラーを取得:.NET用AWS SDK - IAmazonS3に 'PutObject'の定義がありません

S3Client = new AmazonS3Client("*********", "**********************", Amazon.RegionEndpoint.USEast1); 
PutObjectRequest putRequest = new PutObjectRequest(); 
putRequest.BucketName = _bucket; 
putRequest.ContentType = ContentType; 
putRequest.ContentBody = Bytes; 
var s3Response = S3Client.PutObject(putRequest); 
return s3Response.HttpStatusCode.ToString(); 

私はすべての私のNuGetパッケージを更新し、AWSSDK.S3 V3を持っています。ここ

IAmazonS3 does not contain definition for 'PutObject' and no extension method 'PutObject' accepting first argument of type 'IAmazonS3' could be found.

は、私が現在働いているコードがあります.3.5.3パッケージがインストールされています。オブジェクトブラウザを見ると、Asyncメソッドしか表示されません。ドキュメントに記載されているPutObjectメソッドの一覧はありません。なぜこれが動作していないの正しい方向に私を指すことができますか?

答えて

2

操作が非同期の場合、プロジェクトの種類に応じてNuGet Package Managerが正しいアセンブリをインストールするため、プロジェクトはポータブルクラスライブラリまたはUnityプロジェクトのいずれかになります。

For PCL and Unity this operation is only available in asynchronous form.

AmazonS3Client.PutObjectを参照してください。

The AWS SDK for .NET supports applications written for .NET Core. AWS service clients only support asynchronous calling patterns in .NET core. This also affects many of the high level abstractions built on top of service clients like Amazon S3's TransferUtility which will only support asynchronous calls in the .NET Core environment. For details, see Configuring the AWS SDK for .NET with .NET Core .

Platforms Supported by the AWS SDK for .NETを参照してください:あなたは.NETのコアを使用している場合

UPDATE

同じことが当てはまります。

+0

SDKツールキットの名前「AWS Lambda Project(.NET Core)」のテンプレートを使用しています。これは2つのカテゴリーのいずれにも該当しないと誤解していますか? –

+0

AWSサービスクライアントは、.NETコアで非同期呼び出しパターンのみをサポートします。私の更新された答えを見てください。 –

+0

私はそれを追加しようとしていた。 .NET Coreは通常のS3Clientをサポートしておらず、Asyncだけをサポートしています。 – PinoyDev

関連する問題