Unity内のS3バケット間でファイルを転送しようとしていて、ドキュメントが見つからないような間違いのあるエラーが発生しています。両方のバケットは同じアカウントに属します。Unity内のAmazon S3バケット間でファイルを転送する
私はアセットを作成するたびに、それをDev BucketのS3サーバにアップロードします。これはうまくいきます。資産をコミットする準備ができたら、Prod Bucketから抜け出した資産のリストを調べて、Dev Bucketからそれらを転送する必要があります。私の研究から、IAmazonS3. CopyObjectAsync()
はこの作業を行うべき機能です。 IAmazonS3.CopyObject()
functionは、AmazonのUnity SDKで利用可能なではなく、です。私が知っている
Got Exception:
Amazon.S3.AmazonS3Exception: Error making request with Error Code Moved and Http Status Code Moved. No further error information was returned by the service. Response Body: Encountered invalid redirect (missing Location header?) ---> Amazon.Runtime.Internal.HttpErrorResponseException: Exception of type 'Amazon.Runtime.Internal.HttpErrorResponseException' was thrown.
at Amazon.Runtime.Internal.UnityRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
at Amazon.Runtime.Internal.HttpHandler`1[System.String].GetResponseCallbackHelper (System.Object state) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at Amazon.Runtime.Internal.HttpErrorResponseExceptionHandler.HandleException (IExecutionContext executionContext, Amazon.Runtime.Internal.HttpErrorResponseException exception) [0x00000] in <filename unknown>:0
at Amazon.Runtime.Internal.ExceptionHandler`1[T].Handle (IExecutionContext executionContext, System.Exception exception) [0x00000] in <filename unknown>:0
at Amazon.Runtime.Internal.ErrorHandler.ProcessException (IExecutionContext executionContext, System.Exception exception) [0x00000] in <filename unknown>:0
at Amazon.Runtime.Internal.ErrorHandler.InvokeAsyncCallback (IAsyncExecutionContext executionContext) [0x00000] in <filename unknown>:0
:これはAmazon Error Code documentationで言及されていない「移動」のエラーコードになり
public void TestCopy()
{
var request = new CopyObjectRequest()
{
SourceBucket = mLoginData.DevBucket,
SourceKey = "myPic.jpg",
DestinationBucket = mLoginData.ProdBucket,
DestinationKey = "myPic.jpg"
};
AWSConfigs.HttpClient = AWSConfigs.HttpClientOption.UnityWebRequest;
Client.CopyObjectAsync(request,(responseObj) =>
{
if (responseObj.Exception == null)
{
ResultText.text += "Copied Object";
}
else
{
ResultText.text += "Got Exception: \n" + responseObj.Exception.ToString();
}
});
}
:ここ
は、オブジェクトをコピーしようとしているときに、私は呼んコードですバケツの表示/リスト表示、両方のバケットへのファイルのアップロード/一覧表示/削除などが可能であるため、私は正しく設定されています。ソリューションはUnity Editorから実行することが重要です。
これらの新しいバケットはありますか? –
いいえ、これはすでに過去4ヶ月間使用されているものがたくさんあるバケットです –