我使用python request库调用API,并在JSON中接收响应。目前,我正在本地计算机上保存JSON响应,我想要做的是直接将JSON响应加载到s3桶中。加载到s3桶的原因是我的s3桶充当了解析关系输出的JSON响应的源。我想知道如何不使用访问密钥或秘密密钥直接将JSON文件加载到s3桶中?
我对这一主题的大部分研究导致了boto3在python中的应用。不幸的是,这个库也需要密钥和ID。不使用密钥和ID的原因是我的组织有单独的部门负责s3桶的访问,而且部门只能通过读写访问来创建IAM角色。我很好奇在您的组织中加载JSON的常见行业实践是什么?
发布于 2022-07-15 10:18:53
您可以通过S3 ( VPC端点 )进行未签名的请求,并且不需要任何AWS凭据。
# https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-privatelink.html
s3 = boto3.client('s3', config=Config(signature_version=UNSIGNED), endpoint_url="https://bucket.vpce-xxx-xxx.s3.ap-northeast-1.vpce.amazonaws.com")您可以通过在中设置安全组来限制源ip以保护您的S3桶。请注意,由未签名请求上载的s3对象的所有者是匿名的,可能会造成一些副作用。在我的例子中,生命周期规则不能应用于那些s3对象。
https://stackoverflow.com/questions/72959036
复制相似问题