Я получаю ListBuckets
метод с использованием S3 Api.Это мой код реакции
import React, { Component } from "react";
export default class Listbuckets extends Component {
handleClick = () => {
var AWS = require('aws-sdk')
// Set the region
AWS.config.update({
region: "ap-south-1"
});
// Create S3 service object
var s3 = new AWS.S3({apiVersion: '2006-03-01'});
var params = {};
s3.listBuckets(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else
{
console.log(data);
} // successful response
});
}
render() {
return (
<div className="container">
<h1>This is the stats.</h1>
<button onClick={this.handleClick}>Click Me</button>
</div>
)
}
}
Это конфигурация CORS
, которую я включил для всех своих корзин.
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Но когда я запускаю эту реакцию, я получаю сообщение об ошибке типаthis
xhr.js:83 OPTIONS https://s3.ap-south-1.amazonaws.com/ 403 (Forbidden)
Failed to load https://s3.ap-south-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
Error: Network Failure
at XMLHttpRequest.<anonymous> (xhr.js:52) "NetworkingError: Network Failure
at XMLHttpRequest.<anonymous> (http://localhost:3000/static/js/bundle.js:76976:34)"
Когда я запускаю тот же код в node.js, он показывает мне правильный ответ.Я не знаю, что мне не хватает в моем коде реакции.Вот мой код node.js
var AWS = require('aws-sdk');
// Set the region
AWS.config.update({
region: "ap-south-1"
});
// Create S3 service object
s3 = new AWS.S3({apiVersion: '2006-03-01'});
var params = {};
s3.listBuckets(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else
{
console.log(data)
// console.log(data.Buckets.map(x => x.Name))
} // successful respons
});
Любая помощь приветствуется