java azure blob 查询_使用 blob 索引标记来管理和查找 Azure Blob 存储上的数据 | Microsoft Docs...

在 Azure 门户中,"blob 索引标记" 筛选器会自动应用 @container 参数以限定所选容器的范围。Within the Azure portal, the blob index tags filter automatically applies the @container parameter to scope your selected container. 如果要跨整个存储帐户筛选和查找标记的数据,请使用我们的 REST API、Sdk 或工具。If you wish to filter and find tagged data across your entire storage account, use our REST API, SDKs, or tools.

在 Azure 门户中,选择存储帐户。In the Azure portal, select your storage account.

导航到 " Blob 服务" 下的 "容器" 选项,选择容器Navigate to the Containers option under Blob service, select your container

选择“Blob 索引标记筛选器”按钮,在所选容器内进行筛选Select the Blob Index tags filter button to filter within the selected container

输入 blob 索引标记键和标记值Enter a blob index tag key and tag value

选择“Blob 索引标记筛选器”按钮,以便添加更多标记筛选器(最多 10 个)Select the Blob Index tags filter button to add additional tag filters (up to 10)

29ae9e7f6bd43288bd764cdec835cc5c.png

static async Task FindBlobsByTagsExample()

{

BlobServiceClient serviceClient = new BlobServiceClient(ConnectionString);

BlobContainerClient container1 = serviceClient.GetBlobContainerClient("mycontainer");

BlobContainerClient container2 = serviceClient.GetBlobContainerClient("mycontainer2");

// Blob index queries and selection

String singleEqualityQuery = @"""Archive"" = 'false'";

String andQuery = @"""Archive"" = 'false' AND ""Priority"" = '01'";

String rangeQuery = @"""Date"" >= '2020-04-20' AND ""Date"" <= '2020-04-30'";

String containerScopedQuery = @"@container = 'mycontainer' AND ""Archive"" = 'false'";

String queryToUse = containerScopedQuery;

try

{

// Create a container

await container1.CreateIfNotExistsAsync();

await container2.CreateIfNotExistsAsync();

// Create append blobs

AppendBlobClient appendBlobWithTags0 = container1.GetAppendBlobClient("myAppendBlob00.logs");

AppendBlobClient appendBlobWithTags1 = container1.GetAppendBlobClient("myAppendBlob01.logs");

AppendBlobClient appendBlobWithTags2 = container1.GetAppendBlobClient("myAppendBlob02.logs");

AppendBlobClient appendBlobWithTags3 = container2.GetAppendBlobClient("myAppendBlob03.logs");

AppendBlobClient appendBlobWithTags4 = container2.GetAppendBlobClient("myAppendBlob04.logs");

AppendBlobClient appendBlobWithTags5 = container2.GetAppendBlobClient("myAppendBlob05.logs");

// Blob index tags to upload

CreateAppendBlobOptions appendOptions = new CreateAppendBlobOptions();

appendOptions.Tags = new Dictionary

{

{ "Archive", "false" },

{ "Priority", "01" },

{ "Date", "2020-04-20" }

};

CreateAppendBlobOptions appendOptions2 = new CreateAppendBlobOptions();

appendOptions2.Tags = new Dictionary

{

{ "Archive", "true" },

{ "Priority", "02" },

{ "Date", "2020-04-24" }

};

// Upload data with tags set on creation

await appendBlobWithTags0.CreateAsync(appendOptions);

await appendBlobWithTags1.CreateAsync(appendOptions);

await appendBlobWithTags2.CreateAsync(appendOptions2);

await appendBlobWithTags3.CreateAsync(appendOptions);

await appendBlobWithTags4.CreateAsync(appendOptions2);

await appendBlobWithTags5.CreateAsync(appendOptions2);

// Find Blobs given a tags query

Console.WriteLine("Find Blob by Tags query: " + queryToUse + Environment.NewLine);

List blobs = new List();

await foreach (TaggedBlobItem taggedBlobItem in serviceClient.FindBlobsByTagsAsync(queryToUse))

{

blobs.Add(taggedBlobItem);

}

foreach (var filteredBlob in blobs)

{

Console.WriteLine($"BlobIndex result: ContainerName= {filteredBlob.ContainerName}, " +

$"BlobName= {filteredBlob.Name}");

}

}

finally

{

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Azure Databricks中,你可以使用`boto3`库来与AWS S3进行交互,并使用`azure-storage-blob`库来与Azure Blob进行交互。下面是一个示例代码,演示了如何在Azure Databricks中将S3桶中的文件下载并上传到Azure Blob。 首先,确保你已经在Azure Databricks环境中正确安装了`boto3`和`azure-storage-blob`库。 ```python import boto3 from azure.storage.blob import BlobServiceClient # AWS S3配置 aws_access_key_id = "<AWS_ACCESS_KEY_ID>" aws_secret_access_key = "<AWS_SECRET_ACCESS_KEY>" s3_bucket_name = "<S3_BUCKET_NAME>" s3_file_path = "<S3_FILE_PATH>" # Azure Blob配置 azure_connection_string = "<AZURE_CONNECTION_STRING>" azure_container_name = "<AZURE_CONTAINER_NAME>" azure_blob_path = "<AZURE_BLOB_PATH>" # 创建S3和Azure Blob客户端 s3_client = boto3.client('s3', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key) blob_service_client = BlobServiceClient.from_connection_string(azure_connection_string) # 下载S3文件 s3_client.download_file(s3_bucket_name, s3_file_path, '/tmp/file_to_upload') # 上传到Azure Blob blob_client = blob_service_client.get_blob_client(container=azure_container_name, blob=azure_blob_path) with open('/tmp/file_to_upload', "rb") as data: blob_client.upload_blob(data) print("文件已成功从S3下载并上传到Azure Blob!") ``` 请确保替换示例代码中的以下参数: - `<AWS_ACCESS_KEY_ID>`和`<AWS_SECRET_ACCESS_KEY>`:替换为你的AWS访问密钥ID和访问密钥。 - `<S3_BUCKET_NAME>`:替换为你的S3存储桶名称。 - `<S3_FILE_PATH>`:替换为要下载的S3文件的路径。 - `<AZURE_CONNECTION_STRING>`:替换为你的Azure Blob连接字符串。 - `<AZURE_CONTAINER_NAME>`:替换为你的Azure Blob容器名称。 - `<AZURE_BLOB_PATH>`:替换为要上传到的Azure Blob的路径。 运行以上代码后,它将从S3下载指定文件,并将其上传到Azure Blob中指定的路径。最后,它将打印出成功的消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值