首页 > 解决方案 > 有没有办法链接 Autodesk Forge 存储桶?

问题描述

我已经在 Autodesk Forge 存储 (myprojectbucketmyscenariobucket) 中创建了两个存储桶,但无论如何我可以将它们链接在一起吗?例如,如果我删除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,我希望它同时删除myscenariobucketMyNewFile.txt

标签: c#asp.net.netautodesk-forge

解决方案


不,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"
    }
]

希望有帮助,


推荐阅读