c# - 有没有办法链接 Autodesk Forge 存储桶?
问题描述
我已经在 Autodesk Forge 存储 (myprojectbucket
和myscenariobucket
) 中创建了两个存储桶,但无论如何我可以将它们链接在一起吗?例如,如果我删除myprojectbucket
存储桶,我也希望它删除myscenariobucket
存储桶。程序有没有办法识别链接的存储桶?
我试图通过让project
存储桶的行为类似于主项目来区分它们,并且存储桶的行为类似于scenario
可以上传文件的文件夹。
项目桶
{
"bucketKey": "myprojectbucket",
"createdDate": "1555586879197",
"policyKey": "transient"
}
场景桶
{
"bucketKey": "myscenariobucket",
"createdDate": "1555586121454",
"policyKey": "transient"
}
场景存储桶内的文件
[
{
"bucketKey": "myscenariobucket",
"objectId": "urn:adsk.objects:os.object:myscenariobucket/MyNewFile.txt",
"objectKey": "MyNewFile.txt",
"sha1": "6ebea95f436eca94a9e541878db7b37b01cc5300",
"size": 23,
"contentType": "application/octet-stream",
"location": "https://developer.api.autodesk.com/oss/v2/buckets/myscenariobucket/objects/MyNewFile.txt",
"blockSizes": [],
"deltas": [],
"status": "OK"
}
]
如果我 delete myscenariobucket
,它应该删除MyNewFile.txt
存储在里面的文件。这目前按预期工作。但是,如果我删除myprojectbucket
,我希望它同时删除myscenariobucket
和MyNewFile.txt
。
解决方案
不,Forge 存储桶的工作方式与 AWS S3 或 Azure Objects 类似。因此,您不能指望在删除另一个时删除一个。我注意到您的存储桶策略是“policyKey”:“transient”,因此您的文件将在 24 小时后自动删除。这意味着如果您同时在每个存储桶中发布一个文件,它们都将在 24 小时后被删除。
现在,您可以执行以下操作以获得与您的请求相同的结果;使用前缀存储您的文件,如下所示;所以当存储桶被删除时,一切都是。
只得到一个桶
{
"bucketKey": "mybucket",
"createdDate": "1555586879197",
"policyKey": "transient"
}
使用前缀场景/或项目/将所有文件存储在其中
[
{
"bucketKey": "mybucket",
"objectId": "urn:adsk.objects:os.object:mybucket/project/MyNewFile.txt",
"objectKey": "project/MyNewFile.txt",
"sha1": "6ebea95f436eca94a9e541878db7b37b01cc5300",
"size": 23,
"contentType": "application/octet-stream",
"location": "https://developer.api.autodesk.com/oss/v2/buckets/mybucket/objects/project/MyNewFile.txt",
"blockSizes": [],
"deltas": [],
"status": "OK"
},
{
"bucketKey": "mybucket",
"objectId": "urn:adsk.objects:os.object:mybucket/scenario/MyNewFile.txt",
"objectKey": "scenario/MyNewFile.txt",
"sha1": "6ebea95f436eca94a9e541878db7b37b01cc5300",
"size": 23,
"contentType": "application/octet-stream",
"location": "https://developer.api.autodesk.com/oss/v2/buckets/mybucket/objects/scenario/MyNewFile.txt",
"blockSizes": [],
"deltas": [],
"status": "OK"
}
]
希望有帮助,
推荐阅读
- html - Stripe checkout 在 localhost 上工作,但不适用于 live heroku nodejs
- wordpress - 如何使 wordpress 重写规则在子目录下工作?
- android - MotionLayout - OnSwipe 不适用于可点击的子项
- google-bigquery - 使用 DataFlow 将不同方案的多个文件加载到 BigQuery
- r - Spotfire/TERR 问题 - 解析错误(文本 = 脚本)
- swiftui - 此列表不滚动的任何明显原因?
- python - I want to build my own "explode" function, but I have some problem
- reactjs - ReactJs problem with route only in production server
- java - FirebaseUser - Android - 获取登录提供程序
- julia - 在 Julia 中使用变量后 for 循环显着变慢