list-buckets s3api没有显示我的存储桶创建日期?

时间:2018-09-20 11:54:45

标签: amazon-web-services amazon-s3

我想使用s3获取s3api存储桶的创建日期。但是它没有显示在AWS控制台中显示的创建日期。

当我尝试使用cli时,输出是这样的

C:\Users\hero>aws s3api list-buckets
{
    "Buckets": [
        {
            "CreationDate": "2018-09-12T11:32:04.000Z",
            "Name": "campaign-app-api-prod-serverlessdeploymentbucket-"
        },
        {
            "CreationDate": "2018-09-12T10:06:44.000Z",
            "Name": "s3-api-log-events"
        }
    ]
}

在控制台中

this is the my aws console

为什么我在s3api中得到不同的日期。我对CreationDate的解释是错误的吗?

感谢您的帮助。

谢谢

2 个答案:

答案 0 :(得分:1)

Web控制台中显示的“创建日期”字段是根据在us-east-1中注册的实际创建日期,而AWS CLI和SDK将根据指定区域(或在中设置的默认区域)显示创建日期。您的配置)。

使用us-east-1以外的端点时,根据该区域中存储桶的上次复制时间,您收到的CreationDate实际上是上次修改时间。更改存储桶时,例如编辑其存储桶策略,此日期可能会更改。

因此,要获取CreationDates控制台中的s3个存储桶,则需要指定区域us-east-1

在aws cli aws s3api list-buckets --region "us-east-1"中尝试这样

签出此github issue

答案 1 :(得分:0)

此python脚本:

import boto3

client=boto3.client('s3')

response=client.list_buckets()

返回与AWS CLI和s3cmd相同的日期。因此,它不是CLI / s3cmd中的错误。相反,它是来自Amazon S3 API调用的不同信息。因此,我不确定控制台从何处获得“正确”日期。

如果任何地方都有错误,那么它将在对AWS的ListBuckets API调用中。最好通过AWS支持来提出。