Class: Google::Apis::BigqueryV2::DifferentialPrivacyPolicy
- Inherits:
-
Object
- Object
- Google::Apis::BigqueryV2::DifferentialPrivacyPolicy
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb
Overview
Represents privacy policy associated with "differential privacy" method.
Instance Attribute Summary collapse
-
#delta_budget ⇒ Float
Optional.
-
#delta_budget_remaining ⇒ Float
Output only.
-
#delta_per_query ⇒ Float
Optional.
-
#epsilon_budget ⇒ Float
Optional.
-
#epsilon_budget_remaining ⇒ Float
Output only.
-
#max_epsilon_per_query ⇒ Float
Optional.
-
#max_groups_contributed ⇒ Fixnum
Optional.
-
#privacy_unit_column ⇒ String
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ DifferentialPrivacyPolicy
constructor
A new instance of DifferentialPrivacyPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ DifferentialPrivacyPolicy
Returns a new instance of DifferentialPrivacyPolicy.
2366 2367 2368 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2366 def initialize(**args) update!(**args) end |
Instance Attribute Details
#delta_budget ⇒ Float
Optional. The total delta budget for all queries against the privacy-protected
view. Each subscriber query against this view charges the amount of delta that
is pre-defined by the contributor through the privacy policy delta_per_query
field. If there is sufficient budget, then the subscriber query attempts to
complete. It might still fail due to other reasons, in which case the charge
is refunded. If there is insufficient budget the query is rejected. There
might be multiple charge attempts if a single query references multiple views.
In this case there must be sufficient budget for all charges or the query is
rejected and charges are refunded in best effort. The budget does not have a
refresh policy and can only be updated via ALTER VIEW or circumvented by
creating a new view that can be queried with a fresh budget.
Corresponds to the JSON property deltaBudget
2300 2301 2302 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2300 def delta_budget @delta_budget end |
#delta_budget_remaining ⇒ Float
Output only. The delta budget remaining. If budget is exhausted, no more
queries are allowed. Note that the budget for queries that are in progress is
deducted before the query executes. If the query fails or is cancelled then
the budget is refunded. In this case the amount of budget remaining can
increase.
Corresponds to the JSON property deltaBudgetRemaining
2309 2310 2311 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2309 def delta_budget_remaining @delta_budget_remaining end |
#delta_per_query ⇒ Float
Optional. The delta value that is used per query. Delta represents the
probability that any row will fail to be epsilon differentially private.
Indicates the risk associated with exposing aggregate rows in the result of a
query.
Corresponds to the JSON property deltaPerQuery
2317 2318 2319 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2317 def delta_per_query @delta_per_query end |
#epsilon_budget ⇒ Float
Optional. The total epsilon budget for all queries against the privacy-
protected view. Each subscriber query against this view charges the amount of
epsilon they request in their query. If there is sufficient budget, then the
subscriber query attempts to complete. It might still fail due to other
reasons, in which case the charge is refunded. If there is insufficient budget
the query is rejected. There might be multiple charge attempts if a single
query references multiple views. In this case there must be sufficient budget
for all charges or the query is rejected and charges are refunded in best
effort. The budget does not have a refresh policy and can only be updated via
ALTER VIEW or circumvented by creating a new view that can be queried with a
fresh budget.
Corresponds to the JSON property epsilonBudget
2332 2333 2334 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2332 def epsilon_budget @epsilon_budget end |
#epsilon_budget_remaining ⇒ Float
Output only. The epsilon budget remaining. If budget is exhausted, no more
queries are allowed. Note that the budget for queries that are in progress is
deducted before the query executes. If the query fails or is cancelled then
the budget is refunded. In this case the amount of budget remaining can
increase.
Corresponds to the JSON property epsilonBudgetRemaining
2341 2342 2343 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2341 def epsilon_budget_remaining @epsilon_budget_remaining end |
#max_epsilon_per_query ⇒ Float
Optional. The maximum epsilon value that a query can consume. If the
subscriber specifies epsilon as a parameter in a SELECT query, it must be less
than or equal to this value. The epsilon parameter controls the amount of
noise that is added to the groups — a higher epsilon means less noise.
Corresponds to the JSON property maxEpsilonPerQuery
2349 2350 2351 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2349 def max_epsilon_per_query @max_epsilon_per_query end |
#max_groups_contributed ⇒ Fixnum
Optional. The maximum groups contributed value that is used per query.
Represents the maximum number of groups to which each protected entity can
contribute. Changing this value does not improve or worsen privacy. The best
value for accuracy and utility depends on the query and data.
Corresponds to the JSON property maxGroupsContributed
2357 2358 2359 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2357 def max_groups_contributed @max_groups_contributed end |
#privacy_unit_column ⇒ String
Optional. The privacy unit column associated with this policy. Differential
privacy policies can only have one privacy unit column per data source object (
table, view).
Corresponds to the JSON property privacyUnitColumn
2364 2365 2366 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2364 def privacy_unit_column @privacy_unit_column end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2371 def update!(**args) @delta_budget = args[:delta_budget] if args.key?(:delta_budget) @delta_budget_remaining = args[:delta_budget_remaining] if args.key?(:delta_budget_remaining) @delta_per_query = args[:delta_per_query] if args.key?(:delta_per_query) @epsilon_budget = args[:epsilon_budget] if args.key?(:epsilon_budget) @epsilon_budget_remaining = args[:epsilon_budget_remaining] if args.key?(:epsilon_budget_remaining) @max_epsilon_per_query = args[:max_epsilon_per_query] if args.key?(:max_epsilon_per_query) @max_groups_contributed = args[:max_groups_contributed] if args.key?(:max_groups_contributed) @privacy_unit_column = args[:privacy_unit_column] if args.key?(:privacy_unit_column) end |