几个月来,我们一直在完全托管的 CloudRun 上使用 NestJS 和 TypeORM 运行服务,没有出现任何问题。昨天下午Improper path /cloudsql/{SQL_CONNECTION_NAME} to connect to Postgres Cloud SQL instance "{SQL_CONNECTION_NAME}",我们的日志开始出现错误。
我们没有围绕此时间戳进行任何服务器/SQL 更改。目前对服务没有影响,所以我们不确定这是否是一个严重的问题。
这个错误不是来自我们的代码,我们的第三方模块不应该知道我们是否使用 Cloud SQL,所以我不知道这个错误来自哪里。
我的假设是 Cloud SQL 代理或 Cloud Run 中使用的任何 SQL 客户端都会导致此错误。在使用“gcloud run deploy”CLI 命令进行部署时,我们使用 --add-cloudsql-instances 标志。
问题链接在这里
postgresql google-cloud-sql google-cloud-platform typeorm google-cloud-run
与我正在做的事情相比,有没有更聪明/更合适的方法?我创建了一个字典,并通过查看每个获取的资产继续枚举和填充年/月/日。
let assetFetchResult = PHAsset.fetchAssetsInAssetCollection(album, options: assetFetchOptions)
if assetFetchResult.count > 0 {
var fetchedAssets = [String:[String:[String:[PHAsset]]]]()
//[year[month[date:arrayOfPhotos]]]
assetFetchResult.enumerateObjectsUsingBlock({
object, index, stop in
let asset:PHAsset = object as! PHAsset
let dateComponents = NSCalendar.currentCalendar().components(.CalendarUnitDay | .CalendarUnitMonth | .CalendarUnitYear, fromDate: asset.creationDate)
//year group creation
if fetchedAssets["\(dateComponents.year)"] == nil {
fetchedAssets["\(dateComponents.year)"] = [String:[String:[PHAsset]]]()
}
//monthly group creation
if fetchedAssets["\(dateComponents.year)"]!["\(dateComponents.month)"] == nil {
fetchedAssets["\(dateComponents.year)"]!["\(dateComponents.month)"] = [String:[PHAsset]]()
}
//daily group creation
if fetchedAssets["\(dateComponents.year)"]!["\(dateComponents.month)"]!["\(dateComponents.day)"] == nil {
fetchedAssets["\(dateComponents.year)"]!["\(dateComponents.month)"]!["\(dateComponents.day)"] = [PHAsset]()
}
fetchedAssets["\(dateComponents.year)"]!["\(dateComponents.month)"]!["\(dateComponents.day)"]?.append(asset)
})
println(fetchedAssets)
return fetchedAssets
}
Run Code Online (Sandbox Code Playgroud)