Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用AWS SDK使用IAM角色-无根凭据_Amazon Web Services_Amazon S3_Aws Sdk - Fatal编程技术网

Amazon web services 使用AWS SDK使用IAM角色-无根凭据

Amazon web services 使用AWS SDK使用IAM角色-无根凭据,amazon-web-services,amazon-s3,aws-sdk,Amazon Web Services,Amazon S3,Aws Sdk,我需要使用AWS SDK将文件上载到S3 bucket,而不使用根凭据。我有IAM角色,但没有根凭据。是否有任何API可用于执行相同的操作 到目前为止,我正在使用以下dode protected void transferToS3(String s3BucketName, String folderPath,String s3FolderName) { AWSCredentials credentials = new BasicAWSCredentials("aceessKey",

我需要使用AWS SDK将文件上载到S3 bucket,而不使用根凭据。我有IAM角色,但没有根凭据。是否有任何API可用于执行相同的操作

到目前为止,我正在使用以下dode

protected  void transferToS3(String s3BucketName, String folderPath,String 
s3FolderName) {
    AWSCredentials credentials = new BasicAWSCredentials("aceessKey", 
    "secretkey");
        ClientConfiguration clientConfig = new ClientConfiguration();
        clientConfig.setProtocol(Protocol.HTTP);

        AmazonS3 s3Client = new AmazonS3Client(credentials);
        TransferManager xfer_mgr = new TransferManager(s3Client);
        AmazonS3Client ac;
            try {
                MultipleFileUpload xfer = xfer_mgr.uploadDirectory(s3BucketName,
                        s3FolderName, new File(folderPath), true);
                xfer.waitForCompletion();
            } catch (AmazonServiceException e) {
                e.printStackTrace();
            } catch (AmazonClientException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

如果您在EC2或Lambda中运行此代码,则使用适当许可的IAM角色启动计算,并让AWS SDK自动为您检索凭据。当您说您拥有“IAM角色”时,您的确切意思是什么?您是否拥有可以让您担任该角色的凭据,或者您运行的实例已分配该角色(实例配置文件)。我拥有在AWS上担任IAM角色的凭据(电子邮件/密码)。使用电子邮件作为用户ID的凭据是根凭据,出于安全原因,通常应避免使用。您应该在调用AWS服务时使用IAM用户。如果需要,IAM用户可以担任IAM角色。好的,我正在寻找一个API调用来传递IAM用户角色,并将给定的文件夹/文件上载到S3 bucket。