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.
2370 2371 2372 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2370 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
2304 2305 2306 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2304 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
2313 2314 2315 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2313 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
2321 2322 2323 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2321 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
2336 2337 2338 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2336 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
2345 2346 2347 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2345 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
2353 2354 2355 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2353 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
2361 2362 2363 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2361 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
2368 2369 2370 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2368 def privacy_unit_column @privacy_unit_column end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2375 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 |