blob: b6c532835d2f97c7218dd6157eb05175e783f5d5 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>S3FileIOProperties</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="S3FileIOProperties";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.iceberg.aws.s3</a></div>
<h2 title="Class S3FileIOProperties" class="title">Class S3FileIOProperties</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.aws.s3.S3FileIOProperties</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">S3FileIOProperties</span>
extends java.lang.Object
implements java.io.Serializable</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.apache.iceberg.aws.s3.S3FileIOProperties">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ACCELERATION_ENABLED">ACCELERATION_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">Determines if S3 client will use the Acceleration Mode, default to false.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ACCELERATION_ENABLED_DEFAULT">ACCELERATION_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ACCESS_KEY_ID">ACCESS_KEY_ID</a></span></code></th>
<td class="colLast">
<div class="block">Configure the static access key ID used to access S3FileIO.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ACCESS_POINTS_PREFIX">ACCESS_POINTS_PREFIX</a></span></code></th>
<td class="colLast">
<div class="block">Used by <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a>, prefix used for bucket access point configuration.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ACL">ACL</a></span></code></th>
<td class="colLast">
<div class="block">Used to configure canned access control list (ACL) for S3 client to use during write.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CHECKSUM_ENABLED">CHECKSUM_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">Enables eTag checks for S3 PUT and MULTIPART upload requests.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CHECKSUM_ENABLED_DEFAULT">CHECKSUM_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CLIENT_FACTORY">CLIENT_FACTORY</a></span></code></th>
<td class="colLast">
<div class="block">This property is used to pass in the aws client factory implementation class for S3 FileIO.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DELETE_BATCH_SIZE">DELETE_BATCH_SIZE</a></span></code></th>
<td class="colLast">
<div class="block">Configure the batch size used when deleting multiple files from a given S3 bucket</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DELETE_BATCH_SIZE_DEFAULT">DELETE_BATCH_SIZE_DEFAULT</a></span></code></th>
<td class="colLast">
<div class="block">Default batch size used when deleting files.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DELETE_BATCH_SIZE_MAX">DELETE_BATCH_SIZE_MAX</a></span></code></th>
<td class="colLast">
<div class="block">Max possible batch size for deletion.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DELETE_ENABLED">DELETE_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">Determines if <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> deletes the object when io.delete() is called, default to true.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DELETE_ENABLED_DEFAULT">DELETE_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DELETE_TAGS_PREFIX">DELETE_TAGS_PREFIX</a></span></code></th>
<td class="colLast">
<div class="block">Used by <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when deleting.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DELETE_THREADS">DELETE_THREADS</a></span></code></th>
<td class="colLast">
<div class="block">Number of threads to use for adding delete tags to S3 objects, default to <code>Runtime.availableProcessors()</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DUALSTACK_ENABLED">DUALSTACK_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">Determines if S3 client will use the Dualstack Mode, default to false.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DUALSTACK_ENABLED_DEFAULT">DUALSTACK_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ENDPOINT">ENDPOINT</a></span></code></th>
<td class="colLast">
<div class="block">Configure an alternative endpoint of the S3 service for S3FileIO to access.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MULTIPART_SIZE">MULTIPART_SIZE</a></span></code></th>
<td class="colLast">
<div class="block">The size of a single part for multipart upload requests in bytes (default: 32MB).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MULTIPART_SIZE_DEFAULT">MULTIPART_SIZE_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MULTIPART_SIZE_MIN">MULTIPART_SIZE_MIN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MULTIPART_THRESHOLD_FACTOR">MULTIPART_THRESHOLD_FACTOR</a></span></code></th>
<td class="colLast">
<div class="block">The threshold expressed as a factor times the multipart size at which to switch from uploading
using a single put object request to uploading using multipart upload (default: 1.5).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MULTIPART_THRESHOLD_FACTOR_DEFAULT">MULTIPART_THRESHOLD_FACTOR_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MULTIPART_UPLOAD_THREADS">MULTIPART_UPLOAD_THREADS</a></span></code></th>
<td class="colLast">
<div class="block">Number of threads to use for uploading parts to S3 (shared pool across all output streams),
default to <code>Runtime.availableProcessors()</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PATH_STYLE_ACCESS">PATH_STYLE_ACCESS</a></span></code></th>
<td class="colLast">
<div class="block">If set <code>true</code>, requests to S3FileIO will use Path-Style, otherwise, Virtual Hosted-Style
will be used.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PATH_STYLE_ACCESS_DEFAULT">PATH_STYLE_ACCESS_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PRELOAD_CLIENT_ENABLED">PRELOAD_CLIENT_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">This flag controls whether the S3 client will be initialized during the S3FileIO
initialization, instead of default lazy initialization upon use.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PRELOAD_CLIENT_ENABLED_DEFAULT">PRELOAD_CLIENT_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#REMOTE_SIGNING_ENABLED">REMOTE_SIGNING_ENABLED</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#REMOTE_SIGNING_ENABLED_DEFAULT">REMOTE_SIGNING_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#S3_ACCESS_GRANTS_ENABLED">S3_ACCESS_GRANTS_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">This property is used to enable using the S3 Access Grants product to control authorization to
S3 data.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#S3_ACCESS_GRANTS_ENABLED_DEFAULT">S3_ACCESS_GRANTS_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED">S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">The fallback-to-iam property allows users to customize whether or not they would like their
jobs fall back to the Job Execution IAM role in case they get an Access Denied from the S3
Access Grants call.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED_DEFAULT">S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#S3_TAG_ICEBERG_NAMESPACE">S3_TAG_ICEBERG_NAMESPACE</a></span></code></th>
<td class="colLast">
<div class="block">Tag name that will be used by <a href="#WRITE_TAGS_PREFIX"><code>WRITE_TAGS_PREFIX</code></a> when <a href="#WRITE_NAMESPACE_TAG_ENABLED"><code>WRITE_NAMESPACE_TAG_ENABLED</code></a> is enabled</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#S3_TAG_ICEBERG_TABLE">S3_TAG_ICEBERG_TABLE</a></span></code></th>
<td class="colLast">
<div class="block">Tag name that will be used by <a href="#WRITE_TAGS_PREFIX"><code>WRITE_TAGS_PREFIX</code></a> when <a href="#WRITE_TABLE_TAG_ENABLED"><code>WRITE_TABLE_TAG_ENABLED</code></a>
is enabled</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SECRET_ACCESS_KEY">SECRET_ACCESS_KEY</a></span></code></th>
<td class="colLast">
<div class="block">Configure the static secret access key used to access S3FileIO.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SESSION_TOKEN">SESSION_TOKEN</a></span></code></th>
<td class="colLast">
<div class="block">Configure the static session token used to access S3FileIO.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SSE_KEY">SSE_KEY</a></span></code></th>
<td class="colLast">
<div class="block">If S3 encryption type is SSE-KMS, input is a KMS Key ID or ARN.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SSE_MD5">SSE_MD5</a></span></code></th>
<td class="colLast">
<div class="block">If S3 encryption type is SSE-C, input is the base-64 MD5 digest of the secret key.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SSE_TYPE">SSE_TYPE</a></span></code></th>
<td class="colLast">
<div class="block">Type of S3 Server side encryption used, default to <a href="#SSE_TYPE_NONE"><code>SSE_TYPE_NONE</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SSE_TYPE_CUSTOM">SSE_TYPE_CUSTOM</a></span></code></th>
<td class="colLast">
<div class="block">S3 SSE-C encryption.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SSE_TYPE_KMS">SSE_TYPE_KMS</a></span></code></th>
<td class="colLast">
<div class="block">S3 SSE-KMS encryption.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SSE_TYPE_NONE">SSE_TYPE_NONE</a></span></code></th>
<td class="colLast">
<div class="block">No server side encryption.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SSE_TYPE_S3">SSE_TYPE_S3</a></span></code></th>
<td class="colLast">
<div class="block">S3 SSE-S3 encryption.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STAGING_DIRECTORY">STAGING_DIRECTORY</a></span></code></th>
<td class="colLast">
<div class="block">Location to put staging files for upload to S3, default to temp directory set in
java.io.tmpdir.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#USE_ARN_REGION_ENABLED">USE_ARN_REGION_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">Enable to make S3FileIO, to make cross-region call to the region specified in the ARN of an
access point.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#USE_ARN_REGION_ENABLED_DEFAULT">USE_ARN_REGION_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#WRITE_NAMESPACE_TAG_ENABLED">WRITE_NAMESPACE_TAG_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">Used by <a href="../glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#WRITE_STORAGE_CLASS">WRITE_STORAGE_CLASS</a></span></code></th>
<td class="colLast">
<div class="block">Used by <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects' storage class when writing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#WRITE_TABLE_TAG_ENABLED">WRITE_TABLE_TAG_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">Used by <a href="../glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#WRITE_TABLE_TAG_ENABLED_DEFAULT">WRITE_TABLE_TAG_ENABLED_DEFAULT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#WRITE_TAGS_PREFIX">WRITE_TAGS_PREFIX</a></span></code></th>
<td class="colLast">
<div class="block">Used by <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when writing.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">S3FileIOProperties</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.util.Map)">S3FileIOProperties</a></span>&#8203;(java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#accessKeyId()">accessKeyId</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>software.amazon.awssdk.services.s3.model.ObjectCannedACL</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#acl()">acl</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;<br>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#applyCredentialConfigurations(org.apache.iceberg.aws.AwsClientProperties,T)">applyCredentialConfigurations</a></span>&#8203;(<a href="../AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a>&nbsp;awsClientProperties,
T&nbsp;builder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;<br>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#applyEndpointConfigurations(T)">applyEndpointConfigurations</a></span>&#8203;(T&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Override the endpoint for an S3 client.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;<br>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#applyS3AccessGrantsConfigurations(T)">applyS3AccessGrantsConfigurations</a></span>&#8203;(T&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Add the S3 Access Grants Plugin for an S3 client.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;<br>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#applyServiceConfigurations(T)">applyServiceConfigurations</a></span>&#8203;(T&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Configure services settings for an S3 client.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;<br>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#applySignerConfiguration(T)">applySignerConfiguration</a></span>&#8203;(T&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Configure a signer for an S3 client.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#bucketToAccessPointMapping()">bucketToAccessPointMapping</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteBatchSize()">deleteBatchSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteTags()">deleteTags</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteThreads()">deleteThreads</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#endpoint()">endpoint</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAccelerationEnabled()">isAccelerationEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isChecksumEnabled()">isChecksumEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeleteEnabled()">isDeleteEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDualStackEnabled()">isDualStackEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPathStyleAccess()">isPathStyleAccess</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPreloadClientEnabled()">isPreloadClientEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRemoteSigningEnabled()">isRemoteSigningEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isS3AccessGrantsEnabled()">isS3AccessGrantsEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isS3AccessGrantsFallbackToIamEnabled()">isS3AccessGrantsFallbackToIamEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isUseArnRegionEnabled()">isUseArnRegionEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isWriteNamespaceTagEnabled()">isWriteNamespaceTagEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#multiPartSize()">multiPartSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#multipartThresholdFactor()">multipartThresholdFactor</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#multipartUploadThreads()">multipartUploadThreads</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#secretAccessKey()">secretAccessKey</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sessionToken()">sessionToken</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAcl(software.amazon.awssdk.services.s3.model.ObjectCannedACL)">setAcl</a></span>&#8203;(software.amazon.awssdk.services.s3.model.ObjectCannedACL&nbsp;acl)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setChecksumEnabled(boolean)">setChecksumEnabled</a></span>&#8203;(boolean&nbsp;eTagCheckEnabled)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeleteBatchSize(int)">setDeleteBatchSize</a></span>&#8203;(int&nbsp;deleteBatchSize)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeleteEnabled(boolean)">setDeleteEnabled</a></span>&#8203;(boolean&nbsp;deleteEnabled)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeleteThreads(int)">setDeleteThreads</a></span>&#8203;(int&nbsp;threads)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMultiPartSize(int)">setMultiPartSize</a></span>&#8203;(int&nbsp;size)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMultipartThresholdFactor(double)">setMultipartThresholdFactor</a></span>&#8203;(double&nbsp;factor)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMultipartUploadThreads(int)">setMultipartUploadThreads</a></span>&#8203;(int&nbsp;threads)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPreloadClientEnabled(boolean)">setPreloadClientEnabled</a></span>&#8203;(boolean&nbsp;preloadClientEnabled)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setS3AccessGrantsEnabled(boolean)">setS3AccessGrantsEnabled</a></span>&#8203;(boolean&nbsp;s3AccessGrantsEnabled)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setS3AccessGrantsFallbackToIamEnabled(boolean)">setS3AccessGrantsFallbackToIamEnabled</a></span>&#8203;(boolean&nbsp;s3AccessGrantsFallbackToIamEnabled)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSseKey(java.lang.String)">setSseKey</a></span>&#8203;(java.lang.String&nbsp;sseKey)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSseMd5(java.lang.String)">setSseMd5</a></span>&#8203;(java.lang.String&nbsp;sseMd5)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSseType(java.lang.String)">setSseType</a></span>&#8203;(java.lang.String&nbsp;sseType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setStagingDirectory(java.lang.String)">setStagingDirectory</a></span>&#8203;(java.lang.String&nbsp;directory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setWriteNamespaceTagEnabled(boolean)">setWriteNamespaceTagEnabled</a></span>&#8203;(boolean&nbsp;writeNamespaceTagEnabled)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setWriteTableTagEnabled(boolean)">setWriteTableTagEnabled</a></span>&#8203;(boolean&nbsp;s3WriteTableNameTagEnabled)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sseKey()">sseKey</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sseMd5()">sseMd5</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sseType()">sseType</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stagingDirectory()">stagingDirectory</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeStorageClass()">writeStorageClass</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeTableTagEnabled()">writeTableTagEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeTags()">writeTags</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="CLIENT_FACTORY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLIENT_FACTORY</h4>
<pre>public static final&nbsp;java.lang.String CLIENT_FACTORY</pre>
<div class="block">This property is used to pass in the aws client factory implementation class for S3 FileIO. The
class should implement <a href="S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3"><code>S3FileIOAwsClientFactory</code></a>. For example, <code>DefaultS3FileIOAwsClientFactory</code> implements <a href="S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3"><code>S3FileIOAwsClientFactory</code></a>. If this property
wasn't set, will load one of <a href="../AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a> factory classes to
provide backward compatibility.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.CLIENT_FACTORY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="S3_ACCESS_GRANTS_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>S3_ACCESS_GRANTS_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String S3_ACCESS_GRANTS_ENABLED</pre>
<div class="block">This property is used to enable using the S3 Access Grants product to control authorization to
S3 data. More information regarding this feature can be found at:
https://aws.amazon.com/s3/features/access-grants/.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.S3_ACCESS_GRANTS_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="S3_ACCESS_GRANTS_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>S3_ACCESS_GRANTS_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean S3_ACCESS_GRANTS_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.S3_ACCESS_GRANTS_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED</pre>
<div class="block">The fallback-to-iam property allows users to customize whether or not they would like their
jobs fall back to the Job Execution IAM role in case they get an Access Denied from the S3
Access Grants call. Further documentation regarding this flag can be found in the S3 Access
Grants Plugin GitHub:
<p>For more details, see: https://github.com/aws/aws-s3-accessgrants-plugin-java-v2</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.S3_ACCESS_GRANTS_FALLBACK_TO_IAM_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SSE_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSE_TYPE</h4>
<pre>public static final&nbsp;java.lang.String SSE_TYPE</pre>
<div class="block">Type of S3 Server side encryption used, default to <a href="#SSE_TYPE_NONE"><code>SSE_TYPE_NONE</code></a>.
<p>For more details: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SSE_TYPE_NONE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSE_TYPE_NONE</h4>
<pre>public static final&nbsp;java.lang.String SSE_TYPE_NONE</pre>
<div class="block">No server side encryption.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE_NONE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SSE_TYPE_KMS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSE_TYPE_KMS</h4>
<pre>public static final&nbsp;java.lang.String SSE_TYPE_KMS</pre>
<div class="block">S3 SSE-KMS encryption.
<p>For more details: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE_KMS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SSE_TYPE_S3">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSE_TYPE_S3</h4>
<pre>public static final&nbsp;java.lang.String SSE_TYPE_S3</pre>
<div class="block">S3 SSE-S3 encryption.
<p>For more details:
https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE_S3">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SSE_TYPE_CUSTOM">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSE_TYPE_CUSTOM</h4>
<pre>public static final&nbsp;java.lang.String SSE_TYPE_CUSTOM</pre>
<div class="block">S3 SSE-C encryption.
<p>For more details:
https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE_CUSTOM">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SSE_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSE_KEY</h4>
<pre>public static final&nbsp;java.lang.String SSE_KEY</pre>
<div class="block">If S3 encryption type is SSE-KMS, input is a KMS Key ID or ARN. In case this property is not
set, default key "aws/s3" is used. If encryption type is SSE-C, input is a custom base-64
AES256 symmetric key.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SSE_MD5">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSE_MD5</h4>
<pre>public static final&nbsp;java.lang.String SSE_MD5</pre>
<div class="block">If S3 encryption type is SSE-C, input is the base-64 MD5 digest of the secret key. This MD5
must be explicitly passed in by the caller to ensure key integrity.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_MD5">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MULTIPART_UPLOAD_THREADS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MULTIPART_UPLOAD_THREADS</h4>
<pre>public static final&nbsp;java.lang.String MULTIPART_UPLOAD_THREADS</pre>
<div class="block">Number of threads to use for uploading parts to S3 (shared pool across all output streams),
default to <code>Runtime.availableProcessors()</code></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_UPLOAD_THREADS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MULTIPART_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MULTIPART_SIZE</h4>
<pre>public static final&nbsp;java.lang.String MULTIPART_SIZE</pre>
<div class="block">The size of a single part for multipart upload requests in bytes (default: 32MB). based on S3
requirement, the part size must be at least 5MB. To ensure performance of the reader and
writer, the part size must be less than 2GB.
<p>For more details, see https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MULTIPART_SIZE_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MULTIPART_SIZE_DEFAULT</h4>
<pre>public static final&nbsp;int MULTIPART_SIZE_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_SIZE_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MULTIPART_SIZE_MIN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MULTIPART_SIZE_MIN</h4>
<pre>public static final&nbsp;int MULTIPART_SIZE_MIN</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_SIZE_MIN">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MULTIPART_THRESHOLD_FACTOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MULTIPART_THRESHOLD_FACTOR</h4>
<pre>public static final&nbsp;java.lang.String MULTIPART_THRESHOLD_FACTOR</pre>
<div class="block">The threshold expressed as a factor times the multipart size at which to switch from uploading
using a single put object request to uploading using multipart upload (default: 1.5).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_THRESHOLD_FACTOR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MULTIPART_THRESHOLD_FACTOR_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MULTIPART_THRESHOLD_FACTOR_DEFAULT</h4>
<pre>public static final&nbsp;double MULTIPART_THRESHOLD_FACTOR_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_THRESHOLD_FACTOR_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STAGING_DIRECTORY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STAGING_DIRECTORY</h4>
<pre>public static final&nbsp;java.lang.String STAGING_DIRECTORY</pre>
<div class="block">Location to put staging files for upload to S3, default to temp directory set in
java.io.tmpdir.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.STAGING_DIRECTORY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ACL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ACL</h4>
<pre>public static final&nbsp;java.lang.String ACL</pre>
<div class="block">Used to configure canned access control list (ACL) for S3 client to use during write. If not
set, ACL will not be set for requests.
<p>The input must be one of <code>ObjectCannedACL</code>,
such as 'public-read-write' For more details:
https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.ACL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ENDPOINT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ENDPOINT</h4>
<pre>public static final&nbsp;java.lang.String ENDPOINT</pre>
<div class="block">Configure an alternative endpoint of the S3 service for S3FileIO to access.
<p>This could be used to use S3FileIO with any s3-compatible object storage service that has a
different endpoint, or access a private S3 endpoint in a virtual private cloud.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.ENDPOINT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="PATH_STYLE_ACCESS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PATH_STYLE_ACCESS</h4>
<pre>public static final&nbsp;java.lang.String PATH_STYLE_ACCESS</pre>
<div class="block">If set <code>true</code>, requests to S3FileIO will use Path-Style, otherwise, Virtual Hosted-Style
will be used.
<p>For more details: https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.PATH_STYLE_ACCESS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="PATH_STYLE_ACCESS_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PATH_STYLE_ACCESS_DEFAULT</h4>
<pre>public static final&nbsp;boolean PATH_STYLE_ACCESS_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.PATH_STYLE_ACCESS_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ACCESS_KEY_ID">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ACCESS_KEY_ID</h4>
<pre>public static final&nbsp;java.lang.String ACCESS_KEY_ID</pre>
<div class="block">Configure the static access key ID used to access S3FileIO.
<p>When set, the default client factory will use the basic or session credentials provided
instead of reading the default credential chain to create S3 access credentials. If <a href="#SESSION_TOKEN"><code>SESSION_TOKEN</code></a> is set, session credential is used, otherwise basic credential is used.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.ACCESS_KEY_ID">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SECRET_ACCESS_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SECRET_ACCESS_KEY</h4>
<pre>public static final&nbsp;java.lang.String SECRET_ACCESS_KEY</pre>
<div class="block">Configure the static secret access key used to access S3FileIO.
<p>When set, the default client factory will use the basic or session credentials provided
instead of reading the default credential chain to create S3 access credentials. If <a href="#SESSION_TOKEN"><code>SESSION_TOKEN</code></a> is set, session credential is used, otherwise basic credential is used.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.SECRET_ACCESS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SESSION_TOKEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SESSION_TOKEN</h4>
<pre>public static final&nbsp;java.lang.String SESSION_TOKEN</pre>
<div class="block">Configure the static session token used to access S3FileIO.
<p>When set, the default client factory will use the session credentials provided instead of
reading the default credential chain to create S3 access credentials.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.SESSION_TOKEN">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="USE_ARN_REGION_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USE_ARN_REGION_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String USE_ARN_REGION_ENABLED</pre>
<div class="block">Enable to make S3FileIO, to make cross-region call to the region specified in the ARN of an
access point.
<p>By default, attempting to use an access point in a different region will throw an exception.
When enabled, this property allows using access points in other regions.
<p>For more details see:
https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3Configuration.html#useArnRegionEnabled--</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.USE_ARN_REGION_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="USE_ARN_REGION_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USE_ARN_REGION_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean USE_ARN_REGION_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.USE_ARN_REGION_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="CHECKSUM_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CHECKSUM_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String CHECKSUM_ENABLED</pre>
<div class="block">Enables eTag checks for S3 PUT and MULTIPART upload requests.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.CHECKSUM_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="CHECKSUM_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CHECKSUM_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean CHECKSUM_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.CHECKSUM_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="REMOTE_SIGNING_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REMOTE_SIGNING_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String REMOTE_SIGNING_ENABLED</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.REMOTE_SIGNING_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="REMOTE_SIGNING_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REMOTE_SIGNING_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean REMOTE_SIGNING_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.REMOTE_SIGNING_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DELETE_BATCH_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DELETE_BATCH_SIZE</h4>
<pre>public static final&nbsp;java.lang.String DELETE_BATCH_SIZE</pre>
<div class="block">Configure the batch size used when deleting multiple files from a given S3 bucket</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_BATCH_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DELETE_BATCH_SIZE_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DELETE_BATCH_SIZE_DEFAULT</h4>
<pre>public static final&nbsp;int DELETE_BATCH_SIZE_DEFAULT</pre>
<div class="block">Default batch size used when deleting files.
<p>Refer to https://github.com/apache/hadoop/commit/56dee667707926f3796c7757be1a133a362f05c9
for more details on why this value was chosen.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_BATCH_SIZE_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DELETE_BATCH_SIZE_MAX">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DELETE_BATCH_SIZE_MAX</h4>
<pre>public static final&nbsp;int DELETE_BATCH_SIZE_MAX</pre>
<div class="block">Max possible batch size for deletion. Currently, a max of 1000 keys can be deleted in one
batch. https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_BATCH_SIZE_MAX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="WRITE_TAGS_PREFIX">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRITE_TAGS_PREFIX</h4>
<pre>public static final&nbsp;java.lang.String WRITE_TAGS_PREFIX</pre>
<div class="block">Used by <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when writing. To set, we can pass a catalog property.
<p>For more details, see
https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html
<p>Example: s3.write.tags.my_key=my_val</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_TAGS_PREFIX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="WRITE_TABLE_TAG_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRITE_TABLE_TAG_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String WRITE_TABLE_TAG_ENABLED</pre>
<div class="block">Used by <a href="../glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing. To set, we can pass a catalog
property.
<p>For more details, see
https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html
<p>Example: s3.write.table-tag-enabled=true</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_TABLE_TAG_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="WRITE_TABLE_TAG_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRITE_TABLE_TAG_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean WRITE_TABLE_TAG_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_TABLE_TAG_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="WRITE_STORAGE_CLASS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRITE_STORAGE_CLASS</h4>
<pre>public static final&nbsp;java.lang.String WRITE_STORAGE_CLASS</pre>
<div class="block">Used by <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects' storage class when writing. To set, we can pass a
catalog property. After set, x-amz-storage-class header will be set to this property
<p>For more details, see
https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/storage-class-intro.html
<p>Example: s3.write.storage-class=INTELLIGENT_TIERING</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_STORAGE_CLASS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="WRITE_NAMESPACE_TAG_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRITE_NAMESPACE_TAG_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String WRITE_NAMESPACE_TAG_ENABLED</pre>
<div class="block">Used by <a href="../glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing. To set, we can pass a catalog
property.
<p>For more details, see
https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html
<p>Example: s3.write.namespace-tag-enabled=true</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_NAMESPACE_TAG_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="S3_TAG_ICEBERG_TABLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>S3_TAG_ICEBERG_TABLE</h4>
<pre>public static final&nbsp;java.lang.String S3_TAG_ICEBERG_TABLE</pre>
<div class="block">Tag name that will be used by <a href="#WRITE_TAGS_PREFIX"><code>WRITE_TAGS_PREFIX</code></a> when <a href="#WRITE_TABLE_TAG_ENABLED"><code>WRITE_TABLE_TAG_ENABLED</code></a>
is enabled
<p>Example: iceberg.table=tableName</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.S3_TAG_ICEBERG_TABLE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="S3_TAG_ICEBERG_NAMESPACE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>S3_TAG_ICEBERG_NAMESPACE</h4>
<pre>public static final&nbsp;java.lang.String S3_TAG_ICEBERG_NAMESPACE</pre>
<div class="block">Tag name that will be used by <a href="#WRITE_TAGS_PREFIX"><code>WRITE_TAGS_PREFIX</code></a> when <a href="#WRITE_NAMESPACE_TAG_ENABLED"><code>WRITE_NAMESPACE_TAG_ENABLED</code></a> is enabled
<p>Example: iceberg.namespace=namespaceName</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.S3_TAG_ICEBERG_NAMESPACE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DELETE_TAGS_PREFIX">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DELETE_TAGS_PREFIX</h4>
<pre>public static final&nbsp;java.lang.String DELETE_TAGS_PREFIX</pre>
<div class="block">Used by <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when deleting. When this config is set, objects are
tagged with the configured key-value pairs before deletion. This is considered a soft-delete,
because users are able to configure tag-based object lifecycle policy at bucket level to
transition objects to different tiers.
<p>For more details, see
https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html
<p>Example: s3.delete.tags.my_key=my_val</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_TAGS_PREFIX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DELETE_THREADS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DELETE_THREADS</h4>
<pre>public static final&nbsp;java.lang.String DELETE_THREADS</pre>
<div class="block">Number of threads to use for adding delete tags to S3 objects, default to <code>Runtime.availableProcessors()</code></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_THREADS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DELETE_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DELETE_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String DELETE_ENABLED</pre>
<div class="block">Determines if <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> deletes the object when io.delete() is called, default to true.
Once disabled, users are expected to set tags through <a href="#DELETE_TAGS_PREFIX"><code>DELETE_TAGS_PREFIX</code></a> and manage
deleted files through S3 lifecycle policy.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DELETE_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DELETE_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean DELETE_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ACCELERATION_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ACCELERATION_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String ACCELERATION_ENABLED</pre>
<div class="block">Determines if S3 client will use the Acceleration Mode, default to false.
<p>For more details, see
https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.ACCELERATION_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ACCELERATION_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ACCELERATION_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean ACCELERATION_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.ACCELERATION_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DUALSTACK_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DUALSTACK_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String DUALSTACK_ENABLED</pre>
<div class="block">Determines if S3 client will use the Dualstack Mode, default to false.
<p>For more details, see
https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.DUALSTACK_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DUALSTACK_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DUALSTACK_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean DUALSTACK_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.DUALSTACK_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ACCESS_POINTS_PREFIX">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ACCESS_POINTS_PREFIX</h4>
<pre>public static final&nbsp;java.lang.String ACCESS_POINTS_PREFIX</pre>
<div class="block">Used by <a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a>, prefix used for bucket access point configuration. To set, we can
pass a catalog property.
<p>For more details, see https://aws.amazon.com/s3/features/access-points/
<p>Example: s3.access-points.my-bucket=access-point</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.ACCESS_POINTS_PREFIX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="PRELOAD_CLIENT_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PRELOAD_CLIENT_ENABLED</h4>
<pre>public static final&nbsp;java.lang.String PRELOAD_CLIENT_ENABLED</pre>
<div class="block">This flag controls whether the S3 client will be initialized during the S3FileIO
initialization, instead of default lazy initialization upon use. This is needed for cases that
the credentials to use might change and needs to be preloaded.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.PRELOAD_CLIENT_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="PRELOAD_CLIENT_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PRELOAD_CLIENT_ENABLED_DEFAULT</h4>
<pre>public static final&nbsp;boolean PRELOAD_CLIENT_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.iceberg.aws.s3.S3FileIOProperties.PRELOAD_CLIENT_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>S3FileIOProperties</h4>
<pre>public&nbsp;S3FileIOProperties()</pre>
</li>
</ul>
<a id="&lt;init&gt;(java.util.Map)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>S3FileIOProperties</h4>
<pre>public&nbsp;S3FileIOProperties&#8203;(java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="sseType()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sseType</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;sseType()</pre>
</li>
</ul>
<a id="setSseType(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSseType</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setSseType&#8203;(java.lang.String&nbsp;sseType)</pre>
</li>
</ul>
<a id="sseKey()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sseKey</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;sseKey()</pre>
</li>
</ul>
<a id="setSseKey(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSseKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setSseKey&#8203;(java.lang.String&nbsp;sseKey)</pre>
</li>
</ul>
<a id="deleteBatchSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteBatchSize</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;deleteBatchSize()</pre>
</li>
</ul>
<a id="setDeleteBatchSize(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeleteBatchSize</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDeleteBatchSize&#8203;(int&nbsp;deleteBatchSize)</pre>
</li>
</ul>
<a id="sseMd5()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sseMd5</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;sseMd5()</pre>
</li>
</ul>
<a id="setSseMd5(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSseMd5</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setSseMd5&#8203;(java.lang.String&nbsp;sseMd5)</pre>
</li>
</ul>
<a id="multipartUploadThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multipartUploadThreads</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;multipartUploadThreads()</pre>
</li>
</ul>
<a id="setMultipartUploadThreads(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMultipartUploadThreads</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMultipartUploadThreads&#8203;(int&nbsp;threads)</pre>
</li>
</ul>
<a id="multiPartSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multiPartSize</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;multiPartSize()</pre>
</li>
</ul>
<a id="setMultiPartSize(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMultiPartSize</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMultiPartSize&#8203;(int&nbsp;size)</pre>
</li>
</ul>
<a id="multipartThresholdFactor()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multipartThresholdFactor</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;multipartThresholdFactor()</pre>
</li>
</ul>
<a id="setMultipartThresholdFactor(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMultipartThresholdFactor</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMultipartThresholdFactor&#8203;(double&nbsp;factor)</pre>
</li>
</ul>
<a id="stagingDirectory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stagingDirectory</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;stagingDirectory()</pre>
</li>
</ul>
<a id="setStagingDirectory(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStagingDirectory</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setStagingDirectory&#8203;(java.lang.String&nbsp;directory)</pre>
</li>
</ul>
<a id="acl()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acl</h4>
<pre class="methodSignature">public&nbsp;software.amazon.awssdk.services.s3.model.ObjectCannedACL&nbsp;acl()</pre>
</li>
</ul>
<a id="setAcl(software.amazon.awssdk.services.s3.model.ObjectCannedACL)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAcl</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAcl&#8203;(software.amazon.awssdk.services.s3.model.ObjectCannedACL&nbsp;acl)</pre>
</li>
</ul>
<a id="isPreloadClientEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPreloadClientEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isPreloadClientEnabled()</pre>
</li>
</ul>
<a id="setPreloadClientEnabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPreloadClientEnabled</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setPreloadClientEnabled&#8203;(boolean&nbsp;preloadClientEnabled)</pre>
</li>
</ul>
<a id="isDualStackEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDualStackEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isDualStackEnabled()</pre>
</li>
</ul>
<a id="isPathStyleAccess()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPathStyleAccess</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isPathStyleAccess()</pre>
</li>
</ul>
<a id="isUseArnRegionEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUseArnRegionEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isUseArnRegionEnabled()</pre>
</li>
</ul>
<a id="isAccelerationEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAccelerationEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isAccelerationEnabled()</pre>
</li>
</ul>
<a id="isChecksumEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isChecksumEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isChecksumEnabled()</pre>
</li>
</ul>
<a id="isRemoteSigningEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRemoteSigningEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isRemoteSigningEnabled()</pre>
</li>
</ul>
<a id="endpoint()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>endpoint</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;endpoint()</pre>
</li>
</ul>
<a id="setChecksumEnabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setChecksumEnabled</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setChecksumEnabled&#8203;(boolean&nbsp;eTagCheckEnabled)</pre>
</li>
</ul>
<a id="writeTags()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeTags</h4>
<pre class="methodSignature">public&nbsp;java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;&nbsp;writeTags()</pre>
</li>
</ul>
<a id="writeTableTagEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeTableTagEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;writeTableTagEnabled()</pre>
</li>
</ul>
<a id="setWriteTableTagEnabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriteTableTagEnabled</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setWriteTableTagEnabled&#8203;(boolean&nbsp;s3WriteTableNameTagEnabled)</pre>
</li>
</ul>
<a id="isWriteNamespaceTagEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWriteNamespaceTagEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isWriteNamespaceTagEnabled()</pre>
</li>
</ul>
<a id="setWriteNamespaceTagEnabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriteNamespaceTagEnabled</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setWriteNamespaceTagEnabled&#8203;(boolean&nbsp;writeNamespaceTagEnabled)</pre>
</li>
</ul>
<a id="deleteTags()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteTags</h4>
<pre class="methodSignature">public&nbsp;java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;&nbsp;deleteTags()</pre>
</li>
</ul>
<a id="deleteThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteThreads</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;deleteThreads()</pre>
</li>
</ul>
<a id="setDeleteThreads(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeleteThreads</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDeleteThreads&#8203;(int&nbsp;threads)</pre>
</li>
</ul>
<a id="isDeleteEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDeleteEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isDeleteEnabled()</pre>
</li>
</ul>
<a id="setDeleteEnabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeleteEnabled</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDeleteEnabled&#8203;(boolean&nbsp;deleteEnabled)</pre>
</li>
</ul>
<a id="bucketToAccessPointMapping()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bucketToAccessPointMapping</h4>
<pre class="methodSignature">public&nbsp;java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;bucketToAccessPointMapping()</pre>
</li>
</ul>
<a id="accessKeyId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>accessKeyId</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;accessKeyId()</pre>
</li>
</ul>
<a id="secretAccessKey()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>secretAccessKey</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;secretAccessKey()</pre>
</li>
</ul>
<a id="sessionToken()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sessionToken</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;sessionToken()</pre>
</li>
</ul>
<a id="writeStorageClass()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeStorageClass</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;writeStorageClass()</pre>
</li>
</ul>
<a id="isS3AccessGrantsEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isS3AccessGrantsEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isS3AccessGrantsEnabled()</pre>
</li>
</ul>
<a id="setS3AccessGrantsEnabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setS3AccessGrantsEnabled</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setS3AccessGrantsEnabled&#8203;(boolean&nbsp;s3AccessGrantsEnabled)</pre>
</li>
</ul>
<a id="isS3AccessGrantsFallbackToIamEnabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isS3AccessGrantsFallbackToIamEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isS3AccessGrantsFallbackToIamEnabled()</pre>
</li>
</ul>
<a id="setS3AccessGrantsFallbackToIamEnabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setS3AccessGrantsFallbackToIamEnabled</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setS3AccessGrantsFallbackToIamEnabled&#8203;(boolean&nbsp;s3AccessGrantsFallbackToIamEnabled)</pre>
</li>
</ul>
<a id="applyCredentialConfigurations(org.apache.iceberg.aws.AwsClientProperties,software.amazon.awssdk.services.s3.S3ClientBuilder)">
<!-- -->
</a><a id="applyCredentialConfigurations(org.apache.iceberg.aws.AwsClientProperties,T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyCredentialConfigurations</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyCredentialConfigurations&#8203;(<a href="../AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a>&nbsp;awsClientProperties,
T&nbsp;builder)</pre>
</li>
</ul>
<a id="applyServiceConfigurations(software.amazon.awssdk.services.s3.S3ClientBuilder)">
<!-- -->
</a><a id="applyServiceConfigurations(T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyServiceConfigurations</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyServiceConfigurations&#8203;(T&nbsp;builder)</pre>
<div class="block">Configure services settings for an S3 client. The settings include: s3DualStack,
s3UseArnRegion, s3PathStyleAccess, and s3Acceleration
<p>Sample usage:
<pre>
S3Client.builder().applyMutation(s3FileIOProperties::applyS3ServiceConfigurations)
</pre></div>
</li>
</ul>
<a id="applySignerConfiguration(software.amazon.awssdk.services.s3.S3ClientBuilder)">
<!-- -->
</a><a id="applySignerConfiguration(T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applySignerConfiguration</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applySignerConfiguration&#8203;(T&nbsp;builder)</pre>
<div class="block">Configure a signer for an S3 client.
<p>Sample usage:
<pre>
S3Client.builder().applyMutation(s3FileIOProperties::applyS3SignerConfiguration)
</pre></div>
</li>
</ul>
<a id="applyEndpointConfigurations(software.amazon.awssdk.services.s3.S3ClientBuilder)">
<!-- -->
</a><a id="applyEndpointConfigurations(T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyEndpointConfigurations</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyEndpointConfigurations&#8203;(T&nbsp;builder)</pre>
<div class="block">Override the endpoint for an S3 client.
<p>Sample usage:
<pre>
S3Client.builder().applyMutation(s3FileIOProperties::applyEndpointConfigurations)
</pre></div>
</li>
</ul>
<a id="applyS3AccessGrantsConfigurations(software.amazon.awssdk.services.s3.S3ClientBuilder)">
<!-- -->
</a><a id="applyS3AccessGrantsConfigurations(T)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>applyS3AccessGrantsConfigurations</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyS3AccessGrantsConfigurations&#8203;(T&nbsp;builder)</pre>
<div class="block">Add the S3 Access Grants Plugin for an S3 client.
<p>Sample usage:
<pre>
S3Client.builder().applyMutation(s3FileIOProperties::applyS3AccessGrantsConfigurations)
</pre></div>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>