public class BeamFileSystemArtifactStagingService extends AbstractArtifactStagingService
ArtifactStagingServiceGrpc.ArtifactStagingServiceImplBase
based on beam file system. BeamFileSystemArtifactStagingService
requires BeamFileSystemArtifactStagingService.StagingSessionToken
in every me call. The
manifest is put in BeamFileSystemArtifactStagingService.StagingSessionToken.getBasePath()
/BeamFileSystemArtifactStagingService.StagingSessionToken.getSessionId()
and artifacts are put in BeamFileSystemArtifactStagingService.StagingSessionToken.getBasePath()
/BeamFileSystemArtifactStagingService.StagingSessionToken.getSessionId()
/ARTIFACTS
.
The returned token is the path to the manifest file.
The manifest file is encoded in ArtifactApi.ProxyManifest
.
Modifier and Type | Class and Description |
---|---|
protected static class |
BeamFileSystemArtifactStagingService.StagingSessionToken
Serializable StagingSessionToken used to stage files with
BeamFileSystemArtifactStagingService . |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ARTIFACTS |
static java.lang.String |
MANIFEST |
NO_ARTIFACTS_STAGED_TOKEN
Constructor and Description |
---|
BeamFileSystemArtifactStagingService() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
generateStagingSessionToken(java.lang.String sessionId,
java.lang.String basePath)
Generate a stagingSessionToken compatible with
BeamFileSystemArtifactStagingService . |
java.lang.String |
getArtifactUri(java.lang.String stagingSession,
java.lang.String encodedFileName) |
java.lang.String |
getRetrievalToken(java.lang.String stagingSession) |
java.nio.channels.WritableByteChannel |
openManifest(java.lang.String stagingSession) |
java.nio.channels.WritableByteChannel |
openUri(java.lang.String uri) |
void |
removeArtifacts(java.lang.String stagingSessionToken) |
void |
removeUri(java.lang.String uri) |
close, commitManifest, putArtifact
bindService
public static final java.lang.String MANIFEST
public static final java.lang.String ARTIFACTS
public BeamFileSystemArtifactStagingService()
public java.lang.String getArtifactUri(java.lang.String stagingSession, java.lang.String encodedFileName) throws java.lang.Exception
getArtifactUri
in class AbstractArtifactStagingService
java.lang.Exception
public java.nio.channels.WritableByteChannel openUri(java.lang.String uri) throws java.io.IOException
openUri
in class AbstractArtifactStagingService
java.io.IOException
public void removeUri(java.lang.String uri) throws java.io.IOException
removeUri
in class AbstractArtifactStagingService
java.io.IOException
public void removeArtifacts(java.lang.String stagingSessionToken) throws java.lang.Exception
removeArtifacts
in class AbstractArtifactStagingService
java.lang.Exception
public java.nio.channels.WritableByteChannel openManifest(java.lang.String stagingSession) throws java.lang.Exception
openManifest
in class AbstractArtifactStagingService
java.lang.Exception
public java.lang.String getRetrievalToken(java.lang.String stagingSession) throws java.lang.Exception
getRetrievalToken
in class AbstractArtifactStagingService
java.lang.Exception
public static java.lang.String generateStagingSessionToken(java.lang.String sessionId, java.lang.String basePath)
BeamFileSystemArtifactStagingService
.sessionId
- Unique sessionId for artifact staging.basePath
- Base path to upload artifacts.