我已连接到 Amazon S3,并尝试使用以下代码从多个存储桶中的 JSON 内容中检索数据。
但我必须只读取特定的 JSON 文件,而不是全部。我该怎么做?
代码:
for i in bucket:
try:
result = client.list_objects(Bucket=i,Prefix = 'PROCESSED_BY/FILE_JSON', Delimiter='/')
content_object = s3.Object(i, "PROCESSED_BY/FILE_JSON/?Account.json")
file_content = content_object.get()['Body'].read().decode('utf-8')
json_content = json.loads(file_content)
except KeyError:
pass
Run Code Online (Sandbox Code Playgroud)
桶结构示例。
test-eob/PROCESSED_BY/FILE_JSON/222-Account.json
test-eob/PROCESSED_BY/FILE_JSON/1212121-Account.json
test-eob/PROCESSED_BY/FILE_JSON/122-multi.json
test-eob/PROCESSED_BY/FILE_JSON/qwqwq-Account.json
test-eob/PROCESSED_BY/FILE_JSON/wqwqw-multi.json
Run Code Online (Sandbox Code Playgroud)
从上面的列表中,我只想读取 *-Account.json 文件。
我怎样才能做到这一点?
对于 ALB - “您必须从至少两个可用区指定子网。”
对于 NLB - “您可以从一个或多个可用区指定子网。”
强制执行 2 个可用区作为 ALB 的 MUST 要求而不是 NLB 的原因是什么?
我正在尝试滚动 s3 中的所有存储桶,看看是否有匹配的前缀并进入这些文件夹并读取 json 文件。
我试图获取包含前缀的文件夹,但未能输入它们。
代码:
import boto3
bucket = ['test-eob', 'test-eob-images']
client = boto3.client('s3')
for i in bucket:
result = client.list_objects(Bucket=i,Prefix = 'PROCESSED_BY/FILE_JSON', Delimiter='/')
print(result)
Run Code Online (Sandbox Code Playgroud)
使用它会得到带有前缀的那些,当存储桶没有该前缀时会失败。
的结构test-eob,test-eob/PROCESSED_BY/FILE_JSON/*.json
如果只有我的前缀匹配,我必须读取 json,否则就从桶里出来。
有人可以帮我从这里出去吗。
有没有一种方法可以在不使用文件的情况下运行AWS Codedeployappspec.yml?
我正在寻找一种方法来创建 100% 纯命令行方式来运行 create-deployment,而不使用 S3 存储桶中的任何 yml 文件
amazon-s3 ×2
python ×2
amazon-ec2 ×1
aws-alb ×1
aws-cli ×1
aws-elb ×1
encryption ×1
ssl ×1
tls1.2 ×1
wireshark ×1