pub struct Bigquery<C> {
pub client: Client<C>,
pub auth: Box<dyn GetToken>,
/* private fields */
}Expand description
Central instance to access all Bigquery related resource activities
§Examples
Instantiate a new hub
extern crate hyper;
extern crate hyper_rustls;
extern crate google_bigquery2 as bigquery2;
use bigquery2::{Result, Error};
use bigquery2::{Bigquery, FieldMask, hyper_rustls, hyper_util, yup_oauth2};
// Get an ApplicationSecret instance by some means. It contains the `client_id` and
// `client_secret`, among other things.
let secret: yup_oauth2::ApplicationSecret = Default::default();
// Instantiate the authenticator. It will choose a suitable authentication flow for you,
// unless you replace `None` with the desired Flow.
// Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
// what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
// retrieve them from storage.
let connector = hyper_rustls::HttpsConnectorBuilder::new()
.with_native_roots()
.unwrap()
.https_only()
.enable_http2()
.build();
let executor = hyper_util::rt::TokioExecutor::new();
let auth = yup_oauth2::InstalledFlowAuthenticator::with_client(
secret,
yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
yup_oauth2::client::CustomHyperClientBuilder::from(
hyper_util::client::legacy::Client::builder(executor).build(connector),
),
).build().await.unwrap();
let client = hyper_util::client::legacy::Client::builder(
hyper_util::rt::TokioExecutor::new()
)
.build(
hyper_rustls::HttpsConnectorBuilder::new()
.with_native_roots()
.unwrap()
.https_or_http()
.enable_http2()
.build()
);
let mut hub = Bigquery::new(client, auth);
// You can configure optional parameters by calling the respective setters at will, and
// execute the final call using `doit()`.
// Values shown here are possibly random and not representative !
let result = hub.tables().get("projectId", "datasetId", "tableId")
.view("gubergren")
.selected_fields("Lorem")
.doit().await;
match result {
Err(e) => match e {
// The Error enum provides details about what exactly happened.
// You can also just use its `Debug`, `Display` or `Error` traits
Error::HttpError(_)
|Error::Io(_)
|Error::MissingAPIKey
|Error::MissingToken(_)
|Error::Cancelled
|Error::UploadSizeLimitExceeded(_, _)
|Error::Failure(_)
|Error::BadRequest(_)
|Error::FieldClash(_)
|Error::JsonDecodeError(_, _) => println!("{}", e),
},
Ok(res) => println!("Success: {:?}", res),
}Fields§
§client: Client<C>§auth: Box<dyn GetToken>Implementations§
Source§impl<'a, C> Bigquery<C>
impl<'a, C> Bigquery<C>
pub fn new<A: 'static + GetToken>(client: Client<C>, auth: A) -> Bigquery<C>
pub fn datasets(&'a self) -> DatasetMethods<'a, C>
pub fn jobs(&'a self) -> JobMethods<'a, C>
pub fn models(&'a self) -> ModelMethods<'a, C>
pub fn projects(&'a self) -> ProjectMethods<'a, C>
pub fn routines(&'a self) -> RoutineMethods<'a, C>
pub fn row_access_policies(&'a self) -> RowAccessPolicyMethods<'a, C>
pub fn tabledata(&'a self) -> TabledataMethods<'a, C>
pub fn tables(&'a self) -> TableMethods<'a, C>
Sourcepub fn user_agent(&mut self, agent_name: String) -> String
pub fn user_agent(&mut self, agent_name: String) -> String
Set the user-agent header field to use in all requests to the server.
It defaults to google-api-rust-client/7.0.0.
Returns the previously set user-agent.
Trait Implementations§
Auto Trait Implementations§
impl<C> Freeze for Bigquery<C>where
C: Freeze,
impl<C> !RefUnwindSafe for Bigquery<C>
impl<C> Send for Bigquery<C>where
C: Send,
impl<C> Sync for Bigquery<C>where
C: Sync,
impl<C> Unpin for Bigquery<C>where
C: Unpin,
impl<C> !UnwindSafe for Bigquery<C>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more