寻找有关通过 python 脚本和 IAM 角色将文件上传到 AWS S3 存储桶的一些指导。我可以使用 BOTO3 和其他脚本的aws_access_key_id&上传文件。aws_secret_access_key
但是,我现在已获得 IAM 角色来登录某个帐户。我使用 AWS CLI 来验证和查询 S3 数据没有任何问题,因此我相信我的文件.aws/credential和.aws/config文件是正确的。但是我不确定如何在 python 代码中使用 ARN 值。
这是我到目前为止整理的内容,但出现了各种错误,这些错误都导致访问被拒绝:
session = boto3.Session(profile_name='randomName')
session.client('sts').get_caller_identity()
assumed_role_session = boto3.Session(profile_name='randomNameAccount')
print(assumed_role_session.client('sts').get_caller_identity())
credentials = session.get_credentials()
aws_access_key_id = credentials.access_key
aws_secret_access_key = credentials.secret_key
s3 = boto3.client('s3',
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key)
bucket_name = 'bucketName'
Run Code Online (Sandbox Code Playgroud)
这是我的凭据和配置文件的示例,作为参考。
.aws/config文件:
[profile randomNameAccount]
role_arn = arn:aws:iam::12345678910:role/roleName
source_profile = randomName
Run Code Online (Sandbox Code Playgroud)
aws/credentials文件:
[randomName]
aws_access_key_id = 12345678910
aws_secret_access_key = 1234567-abcdefghijk
Run Code Online (Sandbox Code Playgroud)
我的问题是帮助 python 代码能够针对 AWS 进行身份验证并使用 …
我想使用 pysftp 0.2.8 将多个文件从 Windows 目录上传到 SFTP 服务器。我已经阅读了文档,它建议使用put_dorput_r但两者都给我以下错误:
OSError:无效路径:
sftp_local_path = r'C:\Users\Swiss\some\path'
sftp_remote_path = '/FTP/LPS Data/ATC/RAND/20191019_RAND/XML'
with pysftp.Connection("xxx.xxx.xxx.xxx", username=myUsername, password=myPassword) as sftp:
with sftp.cd(sftp_remote_path):
sftp.put_r(sftp_local_path, sftp_remote_path)
for i in sftp.listdir():
lstatout=str(sftp.lstat(i)).split()[0]
if 'd' in lstatout: print (i, 'is a directory')
sftp.close()
Run Code Online (Sandbox Code Playgroud)
我希望能够将本地目录中的所有文件或选定文件复制到 SFTP 服务器。