広く知られているvbsスクリプトは、REST APIを使用してWindowsサーバーからAmazon S3にファイルを転送するために配布されています。 REST APIにはファイルの削除操作も含まれていますが、どこでも作業スクリプトは見られませんでした。私自身の謙虚な取り組みは失敗しました。REST APIを使用してvbsスクリプトからS3オブジェクトを削除する方法
この作品(オペレーション、部分的なコードを置く):
...
StringToSign = Replace("PUT\n\napplication/octet-stream\n\nx-amz-date:" & gmtDateStr & "\n/"& AWS_BUCKETNAME & sRemoteFilePath, "\n", vbLf)
...
With CreateObject("Microsoft.XMLHTTP")
.open "PUT", AWSBucketUrl & sRemoteFilePath, False
...
これは動作しません:
...
StringToSign = Replace("DELETE\n\ntext/plain\n\nx-amz-date:" & gmtDateStr & "\n/"& AWS_BUCKETNAME & sRemoteFilePath, "\n", vbLf)
...
With CreateObject("Microsoft.XMLHTTP")
.open "DELETE", AWSBucketUrl & sRemoteFilePath, False
...
エラーが返さ「SignatureDoesNotMatchである - 我々は計算要求の署名が一致しません。あなたが提供した署名。あなたの鍵と署名方法を確認してください。 put操作が正常に動作するので、キーと署名メソッドにエラーがないようです。おそらく、試みられた削除コードのStringToSignは正しくありません。
誰もこの種の仕事をしたことがありますか、またはコードに誤りがありますか?
'PUT'の例に渡されたものと比べて、' StringToSign'のMIMEタイプが間違っているようです。なぜそれは 'text/plain'ですか? – Lankymart