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.
2413 2414 2415 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2413 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
2347 2348 2349 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2347 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
2356 2357 2358 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2356 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
2364 2365 2366 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2364 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
2379 2380 2381 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2379 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
2388 2389 2390 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2388 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
2396 2397 2398 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2396 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
2404 2405 2406 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2404 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
2411 2412 2413 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2411 def privacy_unit_column @privacy_unit_column end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2418 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 |