Skip to content

Commit 6dd6070

Browse files
committed
Create azure_data_tables crate from azure_storage
1 parent 87055d0 commit 6dd6070

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+135
-82
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ jobs:
143143

144144
- name: e2e tests build
145145
run: |
146-
PROJECTS=(core cosmos identity messaging_servicebus storage)
146+
PROJECTS=(core cosmos identity messaging_servicebus storage data_tables)
147147
for PROJ in ${PROJECTS[@]}
148148
do
149149
echo "Checking e2e tests for $PROJ"

sdk/data_tables/Cargo.toml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
[package]
2+
name = "azure_data_tables"
3+
version = "0.1.0"
4+
description = "Rust wrappers around Microsoft Azure Data Tables REST APIs"
5+
readme = "README.md"
6+
authors = ["Microsoft Corp."]
7+
license = "MIT"
8+
repository = "https://github.com/azure/azure-sdk-for-rust"
9+
homepage = "https://github.com/azure/azure-sdk-for-rust"
10+
documentation = "https://docs.rs/azure_data_tables"
11+
keywords = ["sdk", "azure", "rest", "iot", "cloud", "data", "tables"]
12+
categories = ["api-bindings"]
13+
edition = "2018"
14+
15+
[dependencies]
16+
azure_core = { path = "../core", version = "0.1.0" }
17+
azure_storage = { path = "../storage", version = "0.1.0" }
18+
bytes = "1.0"
19+
chrono = { version = "0.4", features = ["serde"] }
20+
futures = "0.3"
21+
http = "0.2"
22+
log = "0.4"
23+
once_cell = "1.0"
24+
serde = { version = "1.0" }
25+
serde_derive = "1.0"
26+
serde_json = "1.0"
27+
serde-xml-rs = "0.4"
28+
uuid = { version = "0.8", features = ["v4"] }
29+
url = "2.2"
30+
31+
[dev-dependencies]
32+
tokio = { version = "1.0", features = ["full"] }

sdk/data_tables/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Azure SDK for Rust - Azure Data Tables
2+
3+
Azure Data Tables crate for the unofficial Microsoft Azure SDK for Rust. This crate is part of a collection of crates: for more information please refer to [https://github.com/azure/azure-sdk-for-rust](https://github.com/azure/azure-sdk-for-rust).
4+
5+
## Usage
6+
7+
To set this crate as a dependency, add this to your Cargo.toml
8+
9+
```toml
10+
[dependencies]
11+
azure_data_tables = { version = "0.1.0", git = "https://github.com/Azure/azure-sdk-for-rust" }
12+
```

sdk/storage/examples/table_00.rs renamed to sdk/data_tables/examples/table_00.rs

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
use azure_data_tables::prelude::*;
12
use azure_storage::core::prelude::*;
2-
use azure_storage::table::prelude::*;
33
use futures::stream::StreamExt;
44
use serde::{Deserialize, Serialize};
55
use std::error::Error;
@@ -34,8 +34,8 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
3434
.as_storage_client()
3535
.as_table_service_client()?;
3636

37-
let table = table_service.as_table_client(table_name);
38-
let response = table.create().execute().await?;
37+
let table_client = table_service.as_table_client(table_name);
38+
let response = table_client.create().execute().await?;
3939
println!("response = {:?}\n", response);
4040

4141
let mut entity = MyEntity {
@@ -44,17 +44,17 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
4444
surname: "Cogno".to_owned(),
4545
};
4646

47-
let partition_key_client = table.as_partition_key_client(&entity.city);
47+
let partition_key_client = table_client.as_partition_key_client(&entity.city);
4848

4949
let mut transaction = Transaction::default();
5050

51-
transaction.add(table.insert().to_transaction_operation(&entity)?);
51+
transaction.add(table_client.insert().to_transaction_operation(&entity)?);
5252

5353
entity.surname = "Doe".to_owned();
54-
transaction.add(table.insert().to_transaction_operation(&entity)?);
54+
transaction.add(table_client.insert().to_transaction_operation(&entity)?);
5555

5656
entity.surname = "Karl".to_owned();
57-
transaction.add(table.insert().to_transaction_operation(&entity)?);
57+
transaction.add(table_client.insert().to_transaction_operation(&entity)?);
5858

5959
entity.surname = "Potter".to_owned();
6060
let entity_client = partition_key_client.as_entity_client(&entity.surname)?;
@@ -73,7 +73,11 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
7373
let response = entity_client.delete().execute().await?;
7474
println!("response = {:?}\n", response);
7575

76-
let response = table.insert().return_entity(false).execute(&entity).await?;
76+
let response = table_client
77+
.insert()
78+
.return_entity(false)
79+
.execute(&entity)
80+
.await?;
7781
println!("response = {:?}\n", response);
7882

7983
// Get an entity from the table
@@ -83,10 +87,14 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
8387
let mut entity: MyEntity = response.entity;
8488
entity.city = "Rome".to_owned();
8589

86-
let response = table.insert().return_entity(true).execute(&entity).await?;
90+
let response = table_client
91+
.insert()
92+
.return_entity(true)
93+
.execute(&entity)
94+
.await?;
8795
println!("response = {:?}\n", response);
8896

89-
let entity_client = table
97+
let entity_client = table_client
9098
.as_partition_key_client(&entity.city)
9199
.as_entity_client(&entity.surname)?;
92100
// update the name passing the Etag received from the previous call.
@@ -108,7 +116,7 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
108116
}
109117

110118
let mut stream = Box::pin(
111-
table
119+
table_client
112120
.query()
113121
.filter("Name = 'Carl'")
114122
.top(2)
@@ -118,7 +126,7 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
118126
println!("response = {:?}\n", response);
119127
}
120128

121-
let response = table.delete().execute().await?;
129+
let response = table_client.delete().execute().await?;
122130
println!("response = {:?}\n", response);
123131

124132
Ok(())

sdk/storage/src/table/clients/entity_client.rs renamed to sdk/data_tables/src/clients/entity_client.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::table::prelude::*;
2-
use crate::table::requests::*;
1+
use crate::prelude::*;
2+
use crate::requests::*;
33
use bytes::Bytes;
44
use http::method::Method;
55
use http::request::{Builder, Request};

sdk/storage/src/table/clients/partition_key_client.rs renamed to sdk/data_tables/src/clients/partition_key_client.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use crate::core::clients::StorageAccountClient;
2-
use crate::table::prelude::*;
3-
use crate::table::requests::*;
1+
use crate::prelude::*;
2+
use crate::requests::*;
3+
use azure_storage::core::clients::StorageAccountClient;
44
use bytes::Bytes;
55
use http::method::Method;
66
use http::request::{Builder, Request};

sdk/storage/src/table/clients/table_client.rs renamed to sdk/data_tables/src/clients/table_client.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use crate::core::clients::StorageAccountClient;
2-
use crate::table::clients::TableServiceClient;
3-
use crate::table::requests::*;
1+
use crate::clients::TableServiceClient;
2+
use crate::requests::*;
3+
use azure_storage::core::clients::StorageAccountClient;
44
use bytes::Bytes;
55
use http::method::Method;
66
use http::request::{Builder, Request};

sdk/storage/src/table/clients/table_service_client.rs renamed to sdk/data_tables/src/clients/table_service_client.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::core::clients::{StorageAccountClient, StorageClient};
2-
use crate::table::requests::ListTablesBuilder;
1+
use crate::requests::ListTablesBuilder;
2+
use azure_storage::core::clients::{StorageAccountClient, StorageClient};
33
use bytes::Bytes;
44
use http::method::Method;
55
use http::request::{Builder, Request};
@@ -67,7 +67,7 @@ impl TableServiceClient {
6767
url,
6868
method,
6969
http_header_adder,
70-
crate::core::clients::ServiceType::Table,
70+
azure_storage::core::clients::ServiceType::Table,
7171
request_body,
7272
)
7373
}
File renamed without changes.

sdk/storage/src/table/mod.rs renamed to sdk/data_tables/src/lib.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
#[macro_use]
2+
extern crate log;
3+
#[macro_use]
4+
extern crate serde_derive;
5+
#[macro_use]
6+
extern crate azure_core;
7+
8+
pub use azure_storage::{Error, Result};
9+
110
pub mod clients;
211
mod continuation_next_partition_and_row_key;
312
mod continuation_next_table_name;
File renamed without changes.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
pub use crate::table::clients::{
1+
pub use crate::clients::{
22
AsEntityClient, AsPartitionKeyClient, AsTableClient, AsTableServiceClient, EntityClient,
33
PartitionKeyClient, TableClient, TableServiceClient,
44
};
5-
pub use crate::table::{Filter, IfMatchCondition, ReturnEntity, Select, Table, Top, Transaction};
5+
pub use crate::{Filter, IfMatchCondition, ReturnEntity, Select, Table, Top, Transaction};

sdk/storage/src/table/requests/create_table_builder.rs renamed to sdk/data_tables/src/requests/create_table_builder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::table::prelude::*;
2-
use crate::table::responses::*;
1+
use crate::prelude::*;
2+
use crate::responses::*;
33
use azure_core::headers::add_optional_header;
44
use azure_core::prelude::*;
55
use http::method::Method;

sdk/storage/src/table/requests/delete_entity_builder.rs renamed to sdk/data_tables/src/requests/delete_entity_builder.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use crate::table::prelude::IfMatchCondition;
2-
use crate::table::prelude::*;
3-
use crate::table::responses::*;
4-
use crate::table::TransactionOperation;
1+
use crate::prelude::IfMatchCondition;
2+
use crate::prelude::*;
3+
use crate::responses::*;
4+
use crate::TransactionOperation;
55
use azure_core::headers::{add_mandatory_header, add_optional_header};
66
use azure_core::prelude::*;
77
use http::{method::Method, StatusCode};

sdk/storage/src/table/requests/delete_table_builder.rs renamed to sdk/data_tables/src/requests/delete_table_builder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::table::prelude::*;
2-
use crate::table::responses::*;
1+
use crate::prelude::*;
2+
use crate::responses::*;
33
use azure_core::headers::add_optional_header;
44
use azure_core::prelude::*;
55
use http::method::Method;

sdk/storage/src/table/requests/get_entity_builder.rs renamed to sdk/data_tables/src/requests/get_entity_builder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::table::prelude::*;
2-
use crate::table::responses::*;
1+
use crate::prelude::*;
2+
use crate::responses::*;
33
use azure_core::prelude::*;
44
use azure_core::{headers::add_optional_header, AppendToUrlQuery};
55
use http::method::Method;

sdk/storage/src/table/requests/insert_entity_builder.rs renamed to sdk/data_tables/src/requests/insert_entity_builder.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use crate::table::prelude::*;
2-
use crate::table::responses::*;
3-
use crate::table::TransactionOperation;
1+
use crate::prelude::*;
2+
use crate::responses::*;
3+
use crate::TransactionOperation;
44
use azure_core::headers::{add_mandatory_header, add_optional_header};
55
use azure_core::prelude::*;
66
use http::method::Method;

sdk/storage/src/table/requests/insert_or_replace_or_merge_entity_builder.rs renamed to sdk/data_tables/src/requests/insert_or_replace_or_merge_entity_builder.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use crate::table::prelude::*;
2-
use crate::table::responses::*;
3-
use crate::table::TransactionOperation;
1+
use crate::prelude::*;
2+
use crate::responses::*;
3+
use crate::TransactionOperation;
44
use azure_core::headers::add_optional_header;
55
use azure_core::prelude::*;
66
use http::{method::Method, StatusCode};
@@ -54,7 +54,7 @@ impl<'a> InsertOrReplaceOrMergeEntityBuilder<'a> {
5454
let request = self.entity_client.prepare_request(
5555
url.as_str(),
5656
match self.operation {
57-
Operation::InsertOrMerge => &crate::table::MERGE,
57+
Operation::InsertOrMerge => &crate::MERGE,
5858
Operation::InsertOrReplace => &Method::PUT,
5959
},
6060
&|mut request| {
@@ -87,7 +87,7 @@ impl<'a> InsertOrReplaceOrMergeEntityBuilder<'a> {
8787

8888
let request = http::Request::builder()
8989
.method(match self.operation {
90-
Operation::InsertOrMerge => &crate::table::MERGE,
90+
Operation::InsertOrMerge => &crate::MERGE,
9191
Operation::InsertOrReplace => &Method::PUT,
9292
})
9393
.uri(url.as_str());

sdk/storage/src/table/requests/list_tables_builder.rs renamed to sdk/data_tables/src/requests/list_tables_builder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::table::responses::*;
2-
use crate::{table::prelude::*, ContinuationNextTableName};
1+
use crate::responses::*;
2+
use crate::{prelude::*, ContinuationNextTableName};
33
use azure_core::prelude::*;
44
use azure_core::{headers::add_optional_header, AppendToUrlQuery};
55
use futures::stream::{unfold, Stream};

sdk/storage/src/table/requests/query_entity_builder.rs renamed to sdk/data_tables/src/requests/query_entity_builder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::table::responses::*;
2-
use crate::{table::prelude::*, ContinuationNextPartitionAndRowKey};
1+
use crate::responses::*;
2+
use crate::{prelude::*, ContinuationNextPartitionAndRowKey};
33
use azure_core::prelude::*;
44
use azure_core::{headers::add_optional_header, AppendToUrlQuery};
55
use futures::stream::{unfold, Stream};

sdk/storage/src/table/requests/submit_transaction_builder.rs renamed to sdk/data_tables/src/requests/submit_transaction_builder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::table::prelude::*;
2-
use crate::table::responses::*;
1+
use crate::prelude::*;
2+
use crate::responses::*;
33
use azure_core::headers::add_optional_header;
44
use azure_core::prelude::*;
55
use http::{method::Method, StatusCode};

sdk/storage/src/table/requests/update_or_merge_entity_builder.rs renamed to sdk/data_tables/src/requests/update_or_merge_entity_builder.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use crate::table::prelude::*;
2-
use crate::table::responses::*;
3-
use crate::table::IfMatchCondition;
4-
use crate::table::TransactionOperation;
1+
use crate::prelude::*;
2+
use crate::responses::*;
3+
use crate::IfMatchCondition;
4+
use crate::TransactionOperation;
55
use azure_core::headers::{add_mandatory_header, add_optional_header};
66
use azure_core::prelude::*;
77
use http::{method::Method, StatusCode};
@@ -55,7 +55,7 @@ impl<'a> UpdateOrMergeEntityBuilder<'a> {
5555
let request = self.entity_client.prepare_request(
5656
url.as_str(),
5757
match self.operation {
58-
Operation::Merge => &crate::table::MERGE,
58+
Operation::Merge => &crate::MERGE,
5959
Operation::Update => &Method::PUT,
6060
},
6161
&|mut request| {
@@ -90,7 +90,7 @@ impl<'a> UpdateOrMergeEntityBuilder<'a> {
9090

9191
let request = http::Request::builder()
9292
.method(match self.operation {
93-
Operation::Merge => &crate::table::MERGE,
93+
Operation::Merge => &crate::MERGE,
9494
Operation::Update => &Method::PUT,
9595
})
9696
.uri(url.as_str());

sdk/storage/src/table/responses/create_table_response.rs renamed to sdk/data_tables/src/responses/create_table_response.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::core::headers::CommonStorageResponseHeaders;
2-
use crate::table::prelude::*;
1+
use crate::prelude::*;
2+
use azure_storage::core::headers::CommonStorageResponseHeaders;
33
use bytes::Bytes;
44
use http::Response;
55
use std::convert::{TryFrom, TryInto};

sdk/storage/src/table/responses/delete_entity_response.rs renamed to sdk/data_tables/src/responses/delete_entity_response.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::core::headers::CommonStorageResponseHeaders;
1+
use azure_storage::core::headers::CommonStorageResponseHeaders;
22
use bytes::Bytes;
33
use http::Response;
44
use std::convert::{TryFrom, TryInto};

sdk/storage/src/table/responses/delete_table_response.rs renamed to sdk/data_tables/src/responses/delete_table_response.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::core::headers::CommonStorageResponseHeaders;
1+
use azure_storage::core::headers::CommonStorageResponseHeaders;
22
use bytes::Bytes;
33
use http::Response;
44
use std::convert::{TryFrom, TryInto};

sdk/storage/src/table/responses/get_entity_response.rs renamed to sdk/data_tables/src/responses/get_entity_response.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::core::headers::CommonStorageResponseHeaders;
1+
use azure_storage::core::headers::CommonStorageResponseHeaders;
22
use bytes::Bytes;
33
use http::Response;
44
use serde::de::DeserializeOwned;

sdk/storage/src/table/responses/insert_entity_response.rs renamed to sdk/data_tables/src/responses/insert_entity_response.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
use crate::core::headers::CommonStorageResponseHeaders;
2-
use crate::core::util::HeaderMapExt;
31
use crate::EntityWithMetadata;
42
use azure_core::{
53
headers::{etag_from_headers, get_str_from_headers},
64
Etag,
75
};
6+
use azure_storage::core::headers::CommonStorageResponseHeaders;
7+
use azure_storage::core::util::HeaderMapExt;
88
use bytes::Bytes;
99
use http::Response;
1010
use serde::de::DeserializeOwned;

sdk/storage/src/table/responses/list_tables_response.rs renamed to sdk/data_tables/src/responses/list_tables_response.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::core::headers::CommonStorageResponseHeaders;
2-
use crate::{table::prelude::*, ContinuationNextTableName};
1+
use crate::{prelude::*, ContinuationNextTableName};
2+
use azure_storage::core::headers::CommonStorageResponseHeaders;
33
use bytes::Bytes;
44
use http::Response;
55
use std::convert::{TryFrom, TryInto};

sdk/storage/src/table/responses/operation_on_entity_response.rs renamed to sdk/data_tables/src/responses/operation_on_entity_response.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::core::headers::CommonStorageResponseHeaders;
21
use azure_core::{headers::etag_from_headers, Etag};
2+
use azure_storage::core::headers::CommonStorageResponseHeaders;
33
use bytes::Bytes;
44
use http::Response;
55
use std::convert::{TryFrom, TryInto};

sdk/storage/src/table/responses/query_entity_response.rs renamed to sdk/data_tables/src/responses/query_entity_response.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::core::headers::CommonStorageResponseHeaders;
21
use crate::ContinuationNextPartitionAndRowKey;
2+
use azure_storage::core::headers::CommonStorageResponseHeaders;
33
use bytes::Bytes;
44
use http::Response;
55
use serde::de::DeserializeOwned;

0 commit comments

Comments
 (0)