Есть ли способ связать Autodesk Forge Buckets? - PullRequest
0 голосов
/ 18 апреля 2019

Я создал два сегмента в хранилище 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"
    }
]

Если я удаляю myscenariobucket, он должен удалить MyNewFile.txt файл, хранящийся внутри.В настоящее время это работает как ожидалось.Однако, если я удалю myprojectbucket, я бы хотел удалить и myscenariobucket, и MyNewFile.txt.

1 Ответ

1 голос
/ 18 апреля 2019

Нет, корзины 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"
    }
]

Надеюсь, это поможет,

...