本文整理汇总了Java中com.amazonaws.services.dynamodbv2.model.LocalSecondaryIndexDescription类的典型用法代码示例。如果您正苦于以下问题:Java LocalSecondaryIndexDescription类的具体用法?Java LocalSecondaryIndexDescription怎么用?Java LocalSecondaryIndexDescription使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
LocalSecondaryIndexDescription类属于com.amazonaws.services.dynamodbv2.model包,在下文中一共展示了LocalSecondaryIndexDescription类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: toIndexDescriptions
import com.amazonaws.services.dynamodbv2.model.LocalSecondaryIndexDescription; //导入依赖的package包/类
private static Collection<IndexDescription> toIndexDescriptions(com.amazonaws.services.dynamodbv2.model.TableDescription table) {
List<IndexDescription> indexes = new ArrayList<>();
// Main
indexes.add(
toIndex(
null,
IndexType.MAIN_INDEX,
table.getKeySchema(),
table.getAttributeDefinitions(),
table.getProvisionedThroughput()));
if ( null != table.getLocalSecondaryIndexes() ) {
for ( LocalSecondaryIndexDescription lsi : table.getLocalSecondaryIndexes() ) {
indexes.add(
toIndex(
lsi.getIndexName(),
IndexType.LOCAL_SECONDARY_INDEX,
lsi.getKeySchema(),
table.getAttributeDefinitions(),
null));
}
}
if ( null != table.getGlobalSecondaryIndexes() ) {
for ( GlobalSecondaryIndexDescription gsi : table.getGlobalSecondaryIndexes() ) {
indexes.add(
toIndex(
gsi.getIndexName(),
IndexType.GLOBAL_SECONDARY_INDEX,
gsi.getKeySchema(),
table.getAttributeDefinitions(),
gsi.getProvisionedThroughput()));
}
}
return indexes;
}
示例2: waitForTableCreation
import com.amazonaws.services.dynamodbv2.model.LocalSecondaryIndexDescription; //导入依赖的package包/类
public void waitForTableCreation(final String tableName, final boolean verifyIndexesList,
final List<LocalSecondaryIndexDescription> expectedLsiList, final List<GlobalSecondaryIndexDescription> expectedGsiList) throws BackendException {
boolean successFlag = false;
int retryCount = 0;
while (!successFlag && retryCount < maxRetries) {
try {
boolean areAllGsisActive = true;
final TableDescription td = describeTable(tableName);
if (verifyIndexesList) {
final Set<LocalSecondaryIndexDescription> expectedLSIs = new HashSet<LocalSecondaryIndexDescription>();
if (expectedLsiList != null) {
expectedLSIs.addAll(expectedLsiList);
}
final Set<LocalSecondaryIndexDescription> actualLSIs = new HashSet<LocalSecondaryIndexDescription>();
if (td.getLocalSecondaryIndexes() != null) {
actualLSIs.addAll(td.getLocalSecondaryIndexes());
}
// the lsi list should be there even if the table is in creating state
if (!(expectedLsiList == null && td.getLocalSecondaryIndexes() == null || expectedLSIs.equals(actualLSIs))) {
throw new PermanentBackendException("LSI list is not as expected during table creation. expectedLsiList="
+ expectedLsiList.toString() + "; table description=" + td.toString());
}
// ignore the status of all GSIs since they will mess up .equals()
if (td.getGlobalSecondaryIndexes() != null) {
for (final GlobalSecondaryIndexDescription gDesc : td.getGlobalSecondaryIndexes()) {
if (!isTableAcceptingWrites(gDesc.getIndexStatus())) {
areAllGsisActive = false;
break;
}
}
}
// the gsi list should be there even if the table is in creating state
if (!areGsisSameConfiguration(expectedGsiList, td.getGlobalSecondaryIndexes())) {
throw new PermanentBackendException("GSI list is not as expected during table creation. expectedGsiList="
+ expectedGsiList.toString() + "; table description=" + td.toString());
}
}
successFlag = isTableAcceptingWrites(td.getTableStatus()) && areAllGsisActive;
} catch (BackendNotFoundException ignore) {
successFlag = false;
}
if (!successFlag) {
interruptibleSleep(CONTROL_PLANE_RETRY_DELAY_MS);
}
retryCount++;
}
if (!successFlag) {
throw new PermanentBackendException("Table creation not completed for table " + tableName + " after retrying "
+ this.maxRetries + " times for a duration of " + CONTROL_PLANE_RETRY_DELAY_MS * this.maxRetries + " ms");
}
}