0

azure python SDK中BlockBlobService的batch_set_standard_blob_tier函数部分的文档不清楚。究竟应该在参数中传递什么?一个例子将不胜感激。

4

2 回答 2

0

究竟应该在参数中传递什么?

此方法的输入是BatchSetBlobTierSubRequest对象列表。

于 2019-10-11T09:48:37.103 回答
0

我知道这不是您问题的直接答案,但在实际预览中的 v12 中,我相信用法更加明显:

https://azure.github.io/azure-sdk-for-python/ref/azure.storage.blob.html#azure.storage.blob.ContainerClient.set_standard_blob_tier_blobs

在此处输入图像描述

代码示例:

    tiers = [StandardBlobTier.Archive, StandardBlobTier.Cool, StandardBlobTier.Hot]

    for tier in tiers:
        blob = container.get_blob_client('blob1')
        data = b'hello world'
        blob.upload_blob(data)
        container.get_blob_client('blob2').upload_blob(data)
        container.get_blob_client('blob3').upload_blob(data)

        blob_ref = blob.get_blob_properties()
        assert blob_ref.blob_tier is not None
        assert blob_ref.blob_tier_inferred
        assert blob_ref.blob_tier_change_time is None

        parts = container.set_standard_blob_tier_blobs(
            tier,
            'blob1',
            'blob2',
            'blob3',
        )

        parts = list(parts)
        assert len(parts) == 3

        assert parts[0].status_code in [200, 202]
        assert parts[1].status_code in [200, 202]
        assert parts[2].status_code in [200, 202]

        blob_ref2 = blob.get_blob_properties()
        assert tier == blob_ref2.blob_tier
        assert not blob_ref2.blob_tier_inferred
        assert blob_ref2.blob_tier_change_time is not None

新的 Storage SDK 计划在 2019 年 11 月 GA 稳定版本,所以它真的很接近,可能值得一试。

请注意,您始终可以在 Github 中打开有关代码和文档的问题,无论 SDK 版本如何: https ://github.com/Azure/azure-sdk-for-python/issues

即使您现在不能使用预览版,我们也非常感谢您提供有关新 API 的反馈 :)

(披露:我在 SDK 团队的 MS 工作)

于 2019-10-11T16:09:06.663 回答