2

Amazon S3 サーバーで現在の時刻を知る方法 (API 呼び出し) はありますか?

なぜこれが必要なのかを説明するための背景を次に示します。

Amazon AWS S3 アカウントのバケットから一連のファイルをダウンロードする必要がある iPhone アプリがあります。

このような 2 回のダウンロードの間に、サーバー ファイルが CMS (Web コンテンツ管理システム) によって変更される場合とされない場合があります。

そのため、2 回目のダウンロードが発生すると、クライアント アプリは、前回のダウンロード以降にサーバー上で変更されたファイルのみをダウンロードすることで効率化を図ります。

これを実現するために、アプリは最後のダウンロードの日付を保存し、新しいダウンロードが発生すると、最後のダウンロードの日付以降にサーバー上で変更されたファイルにのみ焦点を当てます (「変更日」プロパティを使用してアクセスできます) SDK の listObjects() 関数)。

これに関する問題は、電話の日付と s3 サーバーの変更された日付に互換性がない可能性があることです。電話ユーザーが電話の日付と時刻の設定などを変更した可能性があります。

これを機能させるには、アプリのロジックで使用されるすべての日付が同期されていることを確認するために、保存された「最終ダウンロード日」を Amazon S3 API 呼び出しから取得する必要があります。

そのようなことはありますか?それとも、代替手段または回避策ですか?

4

1 に答える 1

4

変更日の代わりにファイル ハッシュを使用できます。AmazonS3Objectには、etag実際にそのような種類のハッシュであるプロパティがあります。にアクセスするのと同じ方法で、このプロパティを取得しますdate

クライアント デバイスにこのハッシュをファイルと一緒に保存させます。次回サーバーに接続するときにetag、メソッドを使用して要求しabout、返された値をローカル コピーと比較します。

別のetag値は、最後のダウンロード以降にファイルが変更されたことをクライアントに示します。このアプローチは、日時機能から完全に独立しています。

于 2013-01-30T00:37:37.797 に答える