我认为我发现awscli bash命令行界面存在错误,特别是--data-set-publication-date
标志。
这是我使用的bash命令:
aws marketplacecommerceanalytics generate-data-set
--data-set-type customer_subscriber_hourly_monthly_subscriptions
--data-set-publication-date 12/01/2016
--role-name-arn "arn:aws:iam::431111111153:role/MarketplaceCommerceAnalyticsRole"
--destination-s3-bucket-name "marketplacecommerceanalytics"
--destination-s3-prefix test
--sns-topic-arn "arn:aws:sns:us-east-1:412341234123:marketplacecommerceanalytics"
指定时间戳并将其传递给data-set-publication-date参数不会导致它在该日期返回数据。它每次都返回相同的数据集,它似乎是最新的可用数据。
以下网页定义了该标志的正确用法: http://docs.aws.amazon.com/cli/latest/reference/marketplacecommerceanalytics/generate-data-set.html
我尝试了许多不同的日期格式,并试图转义特殊字符并用引号括起来。似乎没有什么能使它根据日期过滤输出。
我尝试的日期格式:
2016-01-01
2016/01/01
"2016/01/01"
01-01-2016
01/01/2016
"01/01/2016"
2016-01-01T00:00:00Z
2016/01/01T00:00:00Z
"2016/01/01T00:00:00Z"
01-01-2016T00:00:00Z
01/01/2016T00:00:00Z
"01/01/2016T00:00:00Z"
当我发送格式错误的时间戳如asdf
或1-2-3-4
时,我会收到错误消息,指出时间戳格式错误,表明它至少确认收到了日期。但是,当它正确形成时,没有响应,我收到的数据不受发布日期的限制。
答案 0 :(得分:1)
我在AWS Marketplace Commerce Analytics服务入职和技术指南中找到了我自己的问题的答案:
在第16页到第20页中,有一些示例指定了您需要传递的日期类型:
--data-set-publication-date "2016-04-21T00:00:00Z"
让我失望的是它没有返回您指定的值的确切日期范围,而是返回到那一刻所有活动订阅者的列表,这些订阅者每天都会发生变化。因此,如果我请求01/01/2016,然后等待并请求:01/02/2016,第二个请求中的第一个请求将有重叠的行,第二个请求中的新行不在第一个请求中,并且丢失第二个请求中的第一个行。
我认为这是一个错误,因为它从不同的日子返回了dupes,但这就是它如何在不提供数据的情况下与created_date和end_date进行通信。