我正在编写一个使用 Powershell 从 S3 复制 S3Object 的脚本,但是,我需要先检查存储桶中是否有 .ready 文件。该存储桶有一个文件夹/test/*.ready。我知道如何检查本地文件,但不知道如何检查 S3:
Initialize-AWSDefaultConfiguration -AccessKey $AKey -SecretKey $SKey -Region $region
Set-Location $source
$files = Get-ChildItem 'test/*.ready' | Select-Object -Property Name
try {
if(Test-S3Bucket -BucketName $bucket) {
foreach($file in $files) {
if(!(Get-S3Object -BucketName $bucket -Key $file.Name)) { ## verify if exist
Copy-S3Object -BucketName $bucket -Key $s3File -Region $region -AccessKey $Akey -SecretKey $SKey -LocalFolder $localpath
}
}
} Else {
Write-Host "The bucket $bucket does not exist."
}
} catch {
Write-Host "Error uploading file …Run Code Online (Sandbox Code Playgroud) 我进行了广泛的搜索,但似乎找不到将julian转换为的方法yyyy-mm-dd。
这是我朱利安的格式:
朱利安格式由年份,前两位数字和一年中的日期,最后三位数字组成。
例如,95076是March 17, 1995。用95表示年份,用076表示年份
的第76天。
15260
Run Code Online (Sandbox Code Playgroud)
我已经尝试过了,但是没有用:
dateadd(d,(convert(int,LAST_CHANGED_DATE) % 1000)-1, convert(date,(convert(varchar,convert(int,LAST_CHANGED_DATE) /1000 + 1900) + '/1/1'))) as GrgDate
Run Code Online (Sandbox Code Playgroud)