本文整理汇总了Java中com.amazonaws.util.BinaryUtils类的典型用法代码示例。如果您正苦于以下问题:Java BinaryUtils类的具体用法?Java BinaryUtils怎么用?Java BinaryUtils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BinaryUtils类属于com.amazonaws.util包,在下文中一共展示了BinaryUtils类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testWriterWithExistingStream
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
@Test
public void testWriterWithExistingStream() throws Exception
{
initialize("TestKinesisAppender/testWriterWithExistingStream.properties");
MockKinesisClient mockClient = new MockKinesisClient();
appender.setThreadFactory(new DefaultThreadFactory());
appender.setWriterFactory(mockClient.newWriterFactory());
logger.debug("example message");
mockClient.allowWriterThread();
assertEquals("describeStream: invocation count", 1, mockClient.describeStreamInvocationCount);
assertEquals("describeStream: stream name", "argle", mockClient.describeStreamStreamName);
assertEquals("createStream: invocation count", 0, mockClient.createStreamInvocationCount);
assertEquals("putRecords: invocation count", 1, mockClient.putRecordsInvocationCount);
assertEquals("putRecords: source record count", 1, mockClient.putRecordsSourceRecords.size());
assertEquals("putRecords: source record partition key", "bargle", mockClient.putRecordsSourceRecords.get(0).getPartitionKey());
assertEquals("putRecords: source record content", "example message\n",
new String(
BinaryUtils.copyAllBytesFrom(mockClient.putRecordsSourceRecords.get(0).getData()),
"UTF-8"));
}
示例2: createStringToSign
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
/**
* Step 2 of the AWS Signature version 4 calculation. Refer to
* http://docs.aws
* .amazon.com/general/latest/gr/sigv4-create-string-to-sign.html.
*/
protected String createStringToSign(String canonicalRequest,
AWS4SignerRequestParams signerParams) {
final StringBuilder stringToSignBuilder = new StringBuilder(
signerParams.getSigningAlgorithm());
stringToSignBuilder.append(LINE_SEPARATOR)
.append(signerParams.getFormattedSigningDateTime())
.append(LINE_SEPARATOR)
.append(signerParams.getScope())
.append(LINE_SEPARATOR)
.append(BinaryUtils.toHex(hash(canonicalRequest)));
final String stringToSign = stringToSignBuilder.toString();
if (log.isDebugEnabled())
log.debug("AWS4 String to Sign: '\"" + stringToSign + "\"");
return stringToSign;
}
示例3: buildAuthorizationHeader
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
/**
* Creates the authorization header to be included in the request.
*/
private String buildAuthorizationHeader(SignableRequest<?> request,
byte[] signature, AWSCredentials credentials,
AWS4SignerRequestParams signerParams) {
final String signingCredentials = credentials.getAWSAccessKeyId() + "/"
+ signerParams.getScope();
final String credential = "Credential="
+ signingCredentials;
final String signerHeaders = "SignedHeaders="
+ getSignedHeadersString(request);
final String signatureHeader = "Signature="
+ BinaryUtils.toHex(signature);
final StringBuilder authHeaderBuilder = new StringBuilder();
authHeaderBuilder.append(AWS4_SIGNING_ALGORITHM)
.append(" ")
.append(credential)
.append(", ")
.append(signerHeaders)
.append(", ")
.append(signatureHeader);
return authHeaderBuilder.toString();
}
示例4: finishSimpleUpload
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
private void finishSimpleUpload() {
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentLength(this.currentOutputStream.size());
byte[] content = this.currentOutputStream.toByteArray();
try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
String md5Digest = BinaryUtils.toBase64(messageDigest.digest(content));
objectMetadata.setContentMD5(md5Digest);
} catch (NoSuchAlgorithmException e) {
throw new IllegalStateException("MessageDigest could not be initialized because it uses an unknown algorithm", e);
}
SimpleStorageResource.this.amazonS3.putObject(SimpleStorageResource.this.bucketName, SimpleStorageResource.this.objectName,
new ByteArrayInputStream(content), objectMetadata);
//Release the memory early
this.currentOutputStream = null;
}
示例5: testWriterWithNewStream
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
@Test
public void testWriterWithNewStream() throws Exception
{
initialize("TestKinesisAppender/testWriterWithNewStream.properties");
MockKinesisClient mockClient = new MockKinesisClient();
appender.setThreadFactory(new DefaultThreadFactory());
appender.setWriterFactory(mockClient.newWriterFactory());
logger.debug("example message");
mockClient.allowWriterThread();
// writer calls describeStream once to see if stream exists, a second time
// to verify that it's active -- could perhaps combine those calls?
assertEquals("describeStream: invocation count", 3, mockClient.describeStreamInvocationCount);
assertEquals("describeStream: stream name", "foo", mockClient.describeStreamStreamName);
assertEquals("createStream: invocation count", 1, mockClient.createStreamInvocationCount);
assertEquals("createStream: stream name", "foo", mockClient.createStreamStreamName);
assertEquals("putRecords: invocation count", 1, mockClient.putRecordsInvocationCount);
assertEquals("putRecords: source record count", 1, mockClient.putRecordsSourceRecords.size());
assertEquals("putRecords: source record partition key", "bar", mockClient.putRecordsSourceRecords.get(0).getPartitionKey());
assertEquals("putRecords: source record content", "example message\n",
new String(
BinaryUtils.copyAllBytesFrom(mockClient.putRecordsSourceRecords.get(0).getData()),
"UTF-8"));
}
示例6: testStaticClientFactory
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
@Test
public void testStaticClientFactory() throws Exception
{
initialize("TestKinesisAppender/testStaticClientFactory.properties");
appender.setThreadFactory(new DefaultThreadFactory());
appender.setWriterFactory(new KinesisWriterFactory());
// first message triggers writer creation
logger.debug("example message");
waitForInitialization();
AbstractLogWriter writer = (AbstractLogWriter)appender.getWriter();
assertNotNull("factory was called to create client", staticFactoryMock);
assertEquals("no initialization errors", "",
writer.getInitializationMessage());
assertEquals("factory method called", "com.kdgregory.log4j.aws.TestKinesisAppender.createMockClient",
writer.getClientFactoryUsed());
// although we should be happy at this point, we'll actually verify that the
// message got written; assertions copied from testWriterWithExistingStream()
staticFactoryMock.allowWriterThread();
assertEquals("describeStream: invocation count", 1, staticFactoryMock.describeStreamInvocationCount);
assertEquals("describeStream: stream name", "argle", staticFactoryMock.describeStreamStreamName);
assertEquals("createStream: invocation count", 0, staticFactoryMock.createStreamInvocationCount);
assertEquals("putRecords: invocation count", 1, staticFactoryMock.putRecordsInvocationCount);
assertEquals("putRecords: source record count", 1, staticFactoryMock.putRecordsSourceRecords.size());
assertEquals("putRecords: source record partition key", "bargle", staticFactoryMock.putRecordsSourceRecords.get(0).getPartitionKey());
assertEquals("putRecords: source record content", "example message\n",
new String(
BinaryUtils.copyAllBytesFrom(staticFactoryMock.putRecordsSourceRecords.get(0).getData()),
"UTF-8"));
}
示例7: RetrievedRecord
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
public RetrievedRecord(String shardId, Record record)
throws Exception
{
this.shardId = shardId;
this.partitionKey = record.getPartitionKey();
this.message = new String(BinaryUtils.copyAllBytesFrom(record.getData()), "UTF-8").trim();
}
示例8: getObjectMD5
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
private String getObjectMD5(byte[] objectData) {
byte[] expectedMd5 = null;
try {
expectedMd5 = Md5Utils.computeMD5Hash(objectData);
} catch (Exception e) {}
return BinaryUtils.toHex(expectedMd5);
}
示例9: getAwsMessageMD5
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
private String getAwsMessageMD5(String message) {
byte[] expectedMd5 = null;
try {
expectedMd5 = Md5Utils.computeMD5Hash(message.getBytes(UTF8));
} catch (Exception e) {}
return BinaryUtils.toHex(expectedMd5);
}
示例10: marshallBinaryPayload
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
/**
* Binary data should be placed as is, directly into the content.
*/
private void marshallBinaryPayload(Object val) {
if (val instanceof ByteBuffer) {
request.setContent(BinaryUtils.toStream((ByteBuffer) val));
} else if (val instanceof InputStream) {
request.setContent((InputStream) val);
}
}
示例11: writeValue
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
@Override
public StructuredJsonGenerator writeValue(ByteBuffer bytes) {
try {
writer.writeBlob(BinaryUtils.copyAllBytesFrom(bytes));
} catch (IOException e) {
throw new SdkClientException(e);
}
return this;
}
示例12: writeValue
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
@Override
public StructuredJsonGenerator writeValue(ByteBuffer bytes) {
try {
generator.writeBinary(BinaryUtils.copyBytesFrom(bytes));
} catch (IOException e) {
throw new JsonGenerationException(e);
}
return this;
}
示例13: presignRequest
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
@Override
public void presignRequest(SignableRequest<?> request, AWSCredentials credentials,
Date userSpecifiedExpirationDate) {
// anonymous credentials, don't sign
if (isAnonymous(credentials)) {
return;
}
long expirationInSeconds = generateExpirationDate(userSpecifiedExpirationDate);
addHostHeader(request);
AWSCredentials sanitizedCredentials = sanitizeCredentials(credentials);
if (sanitizedCredentials instanceof AWSSessionCredentials) {
// For SigV4 pre-signing URL, we need to add "X-Amz-Security-Token"
// as a query string parameter, before constructing the canonical
// request.
request.addParameter(X_AMZ_SECURITY_TOKEN,
((AWSSessionCredentials) sanitizedCredentials)
.getSessionToken());
}
final AWS4SignerRequestParams signerRequestParams = new AWS4SignerRequestParams(
request, overriddenDate, regionName, serviceName,
AWS4_SIGNING_ALGORITHM);
// Add the important parameters for v4 signing
final String timeStamp = signerRequestParams.getFormattedSigningDateTime();
addPreSignInformationToRequest(request, sanitizedCredentials,
signerRequestParams, timeStamp, expirationInSeconds);
final String contentSha256 = calculateContentHashPresign(request);
final String canonicalRequest = createCanonicalRequest(request,
contentSha256);
final String stringToSign = createStringToSign(canonicalRequest,
signerRequestParams);
final byte[] signingKey = deriveSigningKey(sanitizedCredentials,
signerRequestParams);
final byte[] signature = computeSignature(stringToSign, signingKey,
signerRequestParams);
request.addParameter(X_AMZ_SIGNATURE, BinaryUtils.toHex(signature));
}
示例14: calculateContentHash
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
/**
* Calculate the hash of the request's payload. Subclass could override this
* method to provide different values for "x-amz-content-sha256" header or
* do any other necessary set-ups on the request headers. (e.g. aws-chunked
* uses a pre-defined header value, and needs to change some headers
* relating to content-encoding and content-length.)
*/
protected String calculateContentHash(SignableRequest<?> request) {
InputStream payloadStream = getBinaryRequestPayloadStream(request);
ReadLimitInfo info = request.getReadLimitInfo();
payloadStream.mark(info == null ? -1 : info.getReadLimit());
String contentSha256 = BinaryUtils.toHex(hash(payloadStream));
try {
payloadStream.reset();
} catch (IOException e) {
throw new SdkClientException(
"Unable to reset stream after calculating AWS4 signature",
e);
}
return contentSha256;
}
示例15: createSignedChunk
import com.amazonaws.util.BinaryUtils; //导入依赖的package包/类
private byte[] createSignedChunk(byte[] chunkData) {
StringBuilder chunkHeader = new StringBuilder();
// chunk-size
chunkHeader.append(Integer.toHexString(chunkData.length));
// sig-extension
final String chunkStringToSign =
CHUNK_STRING_TO_SIGN_PREFIX + "\n" +
dateTime + "\n" +
keyPath + "\n" +
priorChunkSignature + "\n" +
AbstractAWSSigner.EMPTY_STRING_SHA256_HEX + "\n" +
BinaryUtils.toHex(sha256.digest(chunkData));
final String chunkSignature =
BinaryUtils.toHex(aws4Signer.signWithMac(chunkStringToSign, hmacSha256));
priorChunkSignature = chunkSignature;
chunkHeader.append(CHUNK_SIGNATURE_HEADER)
.append(chunkSignature)
.append(CRLF)
;
try {
byte[] header = chunkHeader.toString().getBytes(UTF8);
byte[] trailer = CRLF.getBytes(UTF8);
byte[] signedChunk = new byte[header.length + chunkData.length + trailer.length];
System.arraycopy(header, 0, signedChunk, 0, header.length);
System.arraycopy(chunkData, 0, signedChunk, header.length, chunkData.length);
System.arraycopy(trailer, 0,
signedChunk, header.length + chunkData.length,
trailer.length);
return signedChunk;
} catch (Exception e) {
throw new SdkClientException("Unable to sign the chunked data. " + e.getMessage(), e);
}
}