मैं एक amazonS3 निर्धारित यूआरएल के लिए एक पुट अनुरोध भेजने की कोशिश कर रहा हूँ। मेरा अनुरोध दो बार कहा जाता है भले ही मेरे पास केवल एक पुट अनुरोध है। पहला अनुरोध 200 OK
देता है, दूसरा दूसरा 400 Bad Request
देता है।केवल एक ऑथ तंत्र की अनुमति है; केवल एक्स-अमेज़-एल्गोरिदम क्वेरी पैरामीटर ..?
यहाँ मेरी कोड है:
var req = {
method: 'PUT',
url: presignedUrl,
headers: {
'Content-Type': 'text/csv'
},
data: <some file in base64 format>
};
$http(req).success(function(result) {
console.log('SUCCESS!');
}).error(function(error) {
console.log('FAILED!', error);
});
और अधिक विस्तार में 400 Bad Request
त्रुटि:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>InvalidArgument</Code>
<Message>Only one auth mechanism allowed; only the X-Amz-Algorithm query parameter, Signature query string parameter or the Authorization header should be specified</Message>
<ArgumentName>Authorization</ArgumentName>
<ArgumentValue>Bearer someToken</ArgumentValue>
<RequestId>someRequestId</RequestId>
<HostId>someHostId</HostId>
</Error>
क्या मुझे समझ नहीं आता, क्यों यह 400 लौटा रहा है है? और कामकाज क्या है?
मैं जांच करता हूं कि इसे दो बार क्यों कहा जाता है, क्योंकि पहली बार काम करने के लिए ठीक लगता है –
क्या आपको कोई समाधान मिला? – Hemang
यदि आप s3 url को कॉल करना चाहते हैं, तो बस इसे कॉल करने से पहले अपने ऐप में किसी भी अन्य एपीआई के लिए उपयोग किए गए किसी भी प्राधिकरण शीर्षलेख को हटा दें। –