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.
2393 2394 2395 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2393 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
2327 2328 2329 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2327 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
2336 2337 2338 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2336 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
2344 2345 2346 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2344 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
2359 2360 2361 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2359 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
2368 2369 2370 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2368 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
2376 2377 2378 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2376 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
2384 2385 2386 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2384 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
2391 2392 2393 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2391 def privacy_unit_column @privacy_unit_column end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2398 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 |